在linux下用uwsgi+nginx进行反向代理部署
nginx服务器:1.反向代理,代理uwsgi服务器。2.静态文件服务器,提供静态文件访问。
一、项目准备工作:
1.项目文件夹放到部署目录中:
①首先在linux下创建一个专门用于存放要部署的项目的文件夹django_worker。
②先在其中创建虚拟环境
创建虚拟环境的命令:virtualenv django_lib。相当于拷贝了一份纯净的python环境。
③进入虚拟环境
source ./django_lib/bin/activate
安装需要的模块:
pip install django==1.9
2.配置并收集静态文件:
①创建项目mysite,在mysite下创建文件夹static_files,专门用于存放静态文件,并在setting.py文件中配置:
STATCI_ROOT='/home/worker//mysite/static_files'
②收集静态资源
python manage.py collectstatic
(空项目中只会收集到admin模块的静态文件)
二、配置uwsgi服务器
1.创建uwsgi.ini文件
# 使用uwsgi+nginx反向代理配置,使用socket完成nginx和uwsgi的连接
socket = localhost:9999
# 通过chdir选项配置当前项目所在路径
chdir = /home/worker/django_worker/mysite
# 通过wsgi-file配置,指向当前项目的wsgi实现文件
uwsgi-file = mysite/wsgi.py
# 主进程启用~使用主进程管理所有进程
master = True
# 配置保存主进程编号的文件
pidfile = uwsgi.pid
# 配置启动多少个进程
processes = 2
# 配置每个进程启动多少个线程
threads = 2
# 配置uwsgi服务器的日志记录
daemonize = uwsgi.log
:wq! 保存退出
! 强制退出
x 保存退出
2.启动uwsgi服务器
uwsgi --ini uwsgi.ini
3.配置nginx服务器
①.配置反向代理【反向代理服务器】
找到nginx.conf文件:
cd /etc/nginx
编辑nginx.conf配置文件
vi nginx.conf
找到http模块中,最后,增加server配置
http{
......
# 配置nginx服务器
server{
# 配置监听端口
listen 80;
# 配置服务器访问地址,本机IP
server_name 192.168.10.51;
# 配置uwsgi反向代理路由
location / {
# 包含uwsgi请求描述文件
include uwsgi_params;
# 配置请求传递,socket地址
uwsgi_pass 127.0.0.1:8000;
}
②.配置静态文件映射【静态文件服务器】(同样在http中)
location /static{
# 配置/static 的实际访问路径
alias /home/worker/django_worker/mysite/static_files;
}
......
}
4.重新加载配置文件
uwsgi --reload uwsgi.pid # 重新加载reload,停止stop
网友评论