uwsgi+virtualenv部署django
将uwsgi 安装到virtualenv中
workon test
pip install uwsgi
测试django项目是否正常
python manage.py runserver #注意路径
使用uwsgi 运行项目(需在自己的python环境中)
- 找到wsgi.py文件,将os.environ.setdefault的值设置为和manage.py 中的一致
- 在任意目录下建立xx_uwsgi.ini (这个是配置文件,一般放在/www/目录下)
- 编写xx_uwsgi.ini
# eg:
[uwsgi]
# 访问django的url 如果需要nginx做代理则http改为socket
http=0.0.0.0:8000
# django项目的绝对路径
chdir=/apps/xx
# wsgi.py 文件相对路径,即xx/wsgi.py
module=xx.wsgi
master=True
# 最大进程数
processes=4
# pid方便找到uwsgi 的主进程号
pidfile=/tmp/xx.pid
# uwsgi 运行项目日志
daemonize=/tmp/xx_uwsgi.log
# 记录uwsgi 服务状态
stats=/tmp/xx_uwsgi.status
# 退出清理环境(需要权限 664)
vacuum=True
- 运行uwsgi (可以先将配置文件中的daemonize注释掉方便查看问题)
uwsgi --ini /www/xx.ini
uwsgi 相关
1.查看uwsgi 服务状态
uwsgi --connect-and-read /tmp/xx_uwsgi.status
2.重启uwsgi
uwsgi --reload /tmp/xx.pid
3.关闭uwsgi
# 第一种
uwsgi --stop /tmp/xx.pid
# 第二种
kill -9 $(cat /tmp/xx.pid)
# 第三种
lsof -i:8000 # 查看端口号进程
kill -9 pid