Nginx部署Django项目

1、系统版本和工具概览
1.1 系统版本
ubuntu  18.04
1.2 工具概览
nginx        # 提高并发能力的反向代理服务器
uwsgi       # 实现了WSGI协议的一个web服务器,用来接受客户端请求,转发响应。
supervisor       #  守护进程工具,监控任务,进程挂掉后自动重启
2、安装配置uwsgi
2.1 安装uwsgi
pip3 install uwsgi
2.2 配置uwsgi
在Django项目的manage.py 同级目录下新建uwsgi.ini文件,并添加如下内容:


# uwsgi.ini file
[uwsgi]

# Django-related settings

socket = 01

# the base directory (full path)
chdir  =  /home/ubuntu/test/test_project/

# Django wsgi file
module  =  test_project.wsgi

# process-related settings
# master
master     = true

# maximum number of worker processes
processes    = 10

# ... with appropriate permissions - may be needed
#  chmod-socket  = 664
 
# clear environment on exit
vacuum     = true

# virtualenv(full path)
virtualenv = /home/ubuntu/virtualenvs/test_project

# the --enable-threads option
enable-threads = true

# auto reload uwsgi
py-autoreload = 1
2.3 验证配置效果
项目目录下运行如下命令:浏览器输入项目接口路由,看能否正常访问获取到数据:
uwsgi -i uwsgi.ini                        # 启动服务
ps aux | grep uwsgi                     # 查看uwsgi进程
3、安装配置nginx
3.1 安装nginx
sudo apt-get install nginx
3.2 配置nginx
sudo vim /etc/nginx/sites-enabled/default          # 在server内增加如下内容

server {
			listen 9000;                      # 端口号,避免与其它端口冲突
			server_name 127.0.0.1;
			charset utf-8
			client_max_body_size 10G      #  文件限制太小可能导致文件上传失败
			
 			location  / {
 						include uwsgi_params;
 						uwsgi_pass 127.0.0.1:01;
 						#  此处的01端口要和uwsgi.ini配置的socket端口一致
 							}
 	}
3.3 重启nginx
sudo /etc/init.d/nginx restart
3.4 验证配置效果
killall -9 uwsgi                     #  关闭所有uwsgi进程
uwsgi -d -i uwsgi.ini           #  后台自动运行
# 浏览器输入9000端口 + 接口路由,看能否正常访问获取到数据。
4、安装配置supervisor
4.1 安装supervisor
pip3 install supervisor
4.2 配置supervisor
在Django项目的manage.py同级目录下新建supervisor.conf文件,并添加如下内容:

[program:test_project]
command = uwsgi -i uwsgi.ini
directory = /home/ubuntu/test/test_project/

startsecs = 0
stopwaitsecs = 0
autotart = true
autorestart = true 
startretries = 3

user = ubuntu
[supervisord]
loglevel = info

[inet_http_server]
port = :9001

[supervisorctl]
serverurl = http://127.0.0.1:9001

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
4.3 启动supervisor
supervisord -c supervisor.conf
ps aux | grep supervisor            # 查看supervisor进程
4.4 创建监控任务
supervisorctl -c supervisor.conf       #  进入命令
start test_project                            # 启动任务,需要先关闭掉之前打开的uwsgi进程
status                                             #  查看任务运行状态
//  stop test_project                       # 停止任务
4.5 验证配置效果
在手动关闭uwsgi进程之后,通过supervisor来启动服务
浏览器输入9000端口 + 接口路由,看能否正常访问获取到数据,如果正常访问,说明配置成功。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值