各种坑各种蛋疼,搞了两天终于能用了。整体分2步:
1. 通过uwsgi 启动django项目
在manage.py同级目录,新建uwsgi.ini文件
[uwsgi] # 配置服务器的监听ip和端口,让uWSGI作为nginx的支持服务器的话,设置socke就行;如果要让uWSGI作为单独的web-server,用http http = 127.0.0.1:8088 #socket = 127.0.0.1:3309 # 配置项目目录(此处设置为项目的根目录) chdir = /srv/qa-platform/back-server # 配置入口模块 (django的入口函数的模块,即setting同级目录下的wsgi.py) wsgi-file = back-server/wsgi.py # 开启master, 将会多开一个管理进程, 管理其他服务进程 master = True # 服务器开启的进程数量 processes = 2 # 以守护进程方式提供服, 输出信息将会打印到log中 daemonize = /srv/qa-platform/back-server/logs/wsgi.log # 服务器进程开启的线程数量 threads = 4 # 退出的时候清空环境变量 vacuum = true # 进程pid pidfile = uwsgi.pid # 配uWSGI搜索静态文件目录(及django项目下我们存放static文件的目录,用uWSGI作为单独服务器时才需要设置;如果用nginx处理静态文件不需配置) #check-static = /srv/qa-platform/back-server/static
2. nginx转发请求(注意配置静态文件处理)
server { listen 80; server_name localhost qa.xxx.com; #charset koi8-r; #access_log logs/host.access.log main; #转发 location / { proxy_pass http://127.0.0.1:8088/; } #静态文件访问 location /static/ { alias /srv/qa-platform/back-server/static/; } }
----------------解决admin样式未加载问题------------------
1.执行 python manage.py collectstatic
2.修改nginx配置文件中的静态文件路径。重新加载即可 /usr/local/nginx/sbin/nginx -s reload
location /static/ { alias /srv/qa-platform/back-server/collectstatic/; }