uwsgi+nginx部署django项目
这里贴了自己的配置uwsgi:
#配置和nginx连接的socket连接
; http=127.0.0.1:8997 #调试可以用这个
socket=127.0.0.1:8997
#配置项目路径,项目的所在目录
chdir=/media/moyu/data/wwwroot/mysite/
#配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录名
wsgi-file=wsjsjfx/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log
; static-map = /static=/media/moyu/data/wwwroot/mysite/static #可以检测配置静态文件是否生效
nginx的配置
user root;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name 127.0.0.1;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997;
uwsgi_param UWSGI_SCRIPT wsjsjfx.wsgi;
uwsgi_param UWSGI_CHDIR /media/moyu/data/wwwroot/mysite/; #项目路径
}
location /static/ {
root /media/moyu/data/wwwroot/mysite/; #静态资源路径
autoindex on;
}
}
}
这里有个坑,如果js 或者css加载显示403,可能是权限问题,用root用户暴力解决了
静态资源必须配置在
STATICFILES_DIRS = [
os.path.join(PROJECT_DIR, 'statics'),
'/media/moyu/data/wwwroot/mysite/wsjsjfx/static/',
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
如果还是加载不出来,配置这个
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder"
)
博观而约取,厚积而薄发。