Nginx+uwsgi+Django
1、安装uwsgi
2、安装nginx
3、配置nginx:
cd /etc/nginx/conf.d/
配置xxx.conf
server{
listen 80; # 监听端口
server_name localhost ; # 域名
access_log /var/log/nginx/access.log main; # Nginx日志配置
charset utf-8; # Nginx编码
gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型
error_page 404 /404.html; # 错误页面
error_page 500 502 503 504 /50x.html; # 错误页面
# 指定项目路径uwsgi
location / {
include uwsgi_params; # (需要提前准备好文件)导入一个Nginx模块他是用来和uWSGI进行通讯的
uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
uwsgi_pass unix:/opt/proj/script/uwsgi.sock; # 方式1,对应uwsgi.ini中的socket
uwsgi_pass 127.0.0.1:9090 # 方式2,对应uwsgi.ini中的socket
}
# 指定静态文件路径(如果还有media等配置类似)
location /static/ {
alias /opt/proj/teacher/static/;
index index.html index.htm;
}
}
补充:
location /static/ {
alias /opt/proj/teacher/static/;
index index.html index.htm;
}
这里的静态文件没有包括admin后台的静态文件,
因为admin后台的静态文件在Django自己的路径,
所以,如果要加载全部的静态文件,这里需要先
收集所有的静态文件,然后将这里的路径改为收集后的路径。
收集所有的静态文件的路径: STATIC_ROOT=os.path.join(BASE_DIR,'static_all') 命令行执行: python manage.py collectstatic 最后,将nginx的静态文件路径改为:static_all
4、配置uwsgi
配置uwsgi.ini
[uwsgi] socket=/opt/proj/script/uwsgi.sock # 方式1,对应nginx配置中的uwsgi_pass socket=127.0.0.1:9090 # 方式2,对应nginx配置中的 uwsgi_pass chdir=/wwwroot/destiny module=destiny.wsgi master = true processes=2 threads=2 max-requests=2000 chmod-socket=664 vacuum=true daemonize =/wwwroot/destiny/uwsgi.log
5、启动nginx
6、启动uwsgi
7、测试

浙公网安备 33010602011771号