p.s: Projek Django boleh berjalan dengan jayanya secara tempatan, tetapi ia tidak berfungsi selepas berhijrah ke Alibaba Cloud.
Persekitaran berjalan: ubuntu14.04+uwsgi+nginx+django1.9.
Ini adalah tangkapan skrin halaman pentadbir apabila mengakses Django Semua fail css tidak boleh dimuatkan Mesej ralat terperinci disiarkan di bawah.
Lokasi projek di Alibaba Cloud ialah /root/mysite.
/etc/nginx/site-enabled/mysite.conf adalah seperti berikut
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;
}
}
Soalan tambahan: Semua fail statik telah dikumpul dalam direktori yang ditentukan oleh alias saya
$ python manage.py collectstatic
0 static files copied to '/root/mysite/blog/static', 69 unmodified.
# 文件权限没有问题
$ ll /root/mysite/blog/static
total 16
drwxrwxr-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')
Ini ialah betulhalaman
localhost:8080/admin semasa saya bereksperimen secara tempatan.
/root
Direktori hanya boleh diakses secara root secara lalai. Tidak kira bagaimana membuka fail di bawahnya, tidak berguna jika nginx tidak dapat mengaksesnya.Fail tapak web biasanya diletakkan di bawah /srv/http.
Selain itu, jika anda tidak mahu pelayan anda digunakan sebagai ayam pedaging, menyerang orang lain, menghantar spam atau berfungsi sebagai proksi percuma, jangan jalankan program web dengan keistimewaan root.
Saya tidak tahu banyak tentangnya, saya hanya menggunakan pelayan Alibaba Cloud ECS untuk membina blog