django - nginx遷移到阿里云后靜態(tài)文件403錯(cuò)誤無(wú)法訪問(wèn)的原因有哪些?
問(wèn)題描述
p.s: django項(xiàng)目在本地能成功運(yùn)行,但是遷移到阿里云后就不行了。運(yùn)行環(huán)境:ubuntu14.04+uwsgi+nginx+django1.9。這是訪問(wèn)django的admin頁(yè)面的截圖,所有的css文件都無(wú)法加載,詳細(xì)報(bào)錯(cuò)信息貼在了下面。項(xiàng)目在阿里云的位置是/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; }}問(wèn)題補(bǔ)充:靜態(tài)文件都已經(jīng)收集到了我alias指定的目錄
$ python manage.py collectstatic0 static files copied to ’/root/mysite/blog/static’, 69 unmodified.# 文件權(quán)限沒(méi)有問(wèn)題$ 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中已經(jīng)指定了下面兩項(xiàng),**collectstatic**也收集成功,所以我覺(jué)得配置可能不存在問(wèn)題# 而且項(xiàng)目在本地能夠運(yùn)行,就是遷移到阿里云后無(wú)法運(yùn)行了,所以是不是可能是阿里云的權(quán)限問(wèn)題。STATIC_URL='/static/'STATIC_ROOT = os.path.join(BASE_DIR, ’blog/static’)這是我在本地實(shí)驗(yàn)時(shí)localhost:8080/admin的正確頁(yè)面
問(wèn)題解答
回答1:alias /root/mysite/blog/static/;
/root 目錄默認(rèn)是只有 root 能訪問(wèn)的。其下的文件再怎么開(kāi)放,nginx 進(jìn)不去也沒(méi)用。
網(wǎng)站文件一般放在 /srv/http 下。
另外,如果你不想讓你的服務(wù)器被別人用來(lái)當(dāng)肉雞、攻擊別人、發(fā)送垃圾郵件、作為免費(fèi)代理的話,就不要用 root 權(quán)限跑 Web 程序。
回答2:我不太懂,我只是用阿里云ECS服務(wù)器搭建一下博客
相關(guān)文章:
1. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問(wèn)題2. javascript - 求賜教:網(wǎng)易郵箱Web端模擬登錄看信的加密參數(shù)_ntes_nnid、_ntes_nuid3. javascript - 使用angular 的ui-sref 中出現(xiàn)了中文參數(shù),點(diǎn)擊跳轉(zhuǎn)后瀏覽器的地址欄里出現(xiàn)轉(zhuǎn)義后的%AE....%a%44. java - ConcurrentHashMap中的get()方法為什么可以不加鎖?5. javascript - QWebEngineView 如何爬 angular 的動(dòng)態(tài)數(shù)據(jù)?6. html5 - 這個(gè)代碼顯示功能如何實(shí)現(xiàn)?7. javascript - 用JS 七牛上傳圖片出現(xiàn)文件已存在的錯(cuò)誤(file exists)8. 工作近5年,3年Java Web ,近2年前端,未來(lái)何去何從?9. css3 - 圖片等比例縮放10. java - 字節(jié)流轉(zhuǎn)成字符串之后,在通過(guò)字符串轉(zhuǎn)成字節(jié)流后的文件為什么會(huì)不一樣?
