Nginx反向代理动态业务(uwsgi)

1.准备生产环境配置文件

复制开发环境配置文件dev.py到生产环境配置文件prod.py,并做修改。

#SECURITY WARNING: don’t run with debug turned on in production!
#DEBUG = True

DEBUG = False
ALLOWED_HOSTS = [‘www.xxxx.com’]

在这里插入图片描述

2.准备生产环境启动文件

生产环境我们是使用 项目名.wsgi.py 启动服务的。
os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “项目名.settings.prod”)

3.安装uwsgi包

Django的程序通常使用uwsgi服务器来运行。
$ pip install uwsgi

4.准备uwsgi服务器配置文件

新建 项目名.uwsgi.ini配置文件
[uwsgi]
以下二选一
① #使用Nginx连接时使用,Django程序所在服务器地址
socket=172.16.21.25:8001
②#直接做web服务器使用,Django程序所在服务器地址
#http=172.16.21.25:8001

#项目目录
chdir=项目路径/meiduo_project/meiduo_mall

#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=meiduo_mall/wsgi.py

#进程数
processes=4

#线程数
threads=2

#uwsgi服务器的角色
master=True

#存放进程编号的文件
pidfile=uwsgi.pid

#日志文件
daemonize=uwsgi.log

#指定依赖的虚拟环境
路径可以进入虚拟环境之后使用命令(whcih python)
在这里插入图片描述
virtualenv= /home/python/.virtualenvs/django_py3

5.管理uwsgi服务器
#启动
$ uwsgi --ini uwsgi.ini

#关闭
$ uwsgi --stop uwsgi.pid

#杀死进程
sudo kill -9 pid

#查看状态
sudo lsof -i:端口号

重载文件方法
一:在默认设置下,uwsgi本身不会立即加载修改后的文件,这是为了效率起见。如果你有修改代码后需要立即在服务器上reload的需求,则在uwsgi的ini文件中加入如下修改(不建议):

py-autoreload = 1

二:手动重载uwsgi和代码的方式
首先,确保你uwsgi的ini配置文件有自动生成pidfile。

pidfile = /path/to/your/uwsgi.pid
然后,在你的uwsgi.pid的目录下执行:

uwsgi --reload uwsgi.pid
#其中uwsgi.pid是我的uwsgi自动生成的文件,即进程的pid文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值