django - nginx遷移到阿里云后靜態文件403錯誤無法訪問的原因有哪些?
問題描述
p.s: django項目在本地能成功運行,但是遷移到阿里云后就不行了。運行環境:ubuntu14.04+uwsgi+nginx+django1.9。這是訪問django的admin頁面的截圖,所有的css文件都無法加載,詳細報錯信息貼在了下面。項目在阿里云的位置是/root/mysite。server { listen 8080; server_name www.domainname.com; location /static/ {alias /root/mysite/blog/static/; } location / {uwsgi_pass 127.0.0.1:8001;include /etc/nginx/uwsgi_params; }}問題補充:靜態文件都已經收集到了我alias指定的目錄
$ python manage.py collectstatic0 static files copied to ’/root/mysite/blog/static’, 69 unmodified.# 文件權限沒有問題$ ll /root/mysite/blog/statictotal 16drwxrwxr-x 4 root root 4096 Oct 5 09:13 ./drwxrwxr-x 6 root root 4096 Oct 5 15:28 ../drwxrwxr-x 6 root root 4096 Oct 5 09:13 admin/drwxrwxr-x 5 root root 4096 Oct 5 09:13 blog/
# mysite/settings.py中已經指定了下面兩項,**collectstatic**也收集成功,所以我覺得配置可能不存在問題# 而且項目在本地能夠運行,就是遷移到阿里云后無法運行了,所以是不是可能是阿里云的權限問題。STATIC_URL='/static/'STATIC_ROOT = os.path.join(BASE_DIR, ’blog/static’)這是我在本地實驗時localhost:8080/admin的正確頁面
問題解答
回答1:alias /root/mysite/blog/static/;
/root 目錄默認是只有 root 能訪問的。其下的文件再怎么開放,nginx 進不去也沒用。
網站文件一般放在 /srv/http 下。
另外,如果你不想讓你的服務器被別人用來當肉雞、攻擊別人、發送垃圾郵件、作為免費代理的話,就不要用 root 權限跑 Web 程序。
回答2:我不太懂,我只是用阿里云ECS服務器搭建一下博客
相關文章:
1. python bottle跑起來以后,定時執行的任務為什么每次都重復(多)執行一次?2. javascript - vue2.0中,$refs對象為什么用駝峰的方式獲取不到屬性?3. javascript - vue2如何獲取v-model變量名4. javascript - 求幫助 , ATOM不顯示界面!!!!5. html5 - HTML代碼中的文字亂碼是怎么回事?6. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題7. javascript - ios返回不執行js怎么解決?8. javascript - 能否讓vue-cli的express修改express重啟服務9. javascript - angular使從elastichearch中取出的文本高亮顯示,如圖所示10. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處
