我的测试环境
- 阿里云ECS服务器
- 操作系统:CentOS 7.4 64位
- Django2.0.2
- Anaconda3
- 我的 Django 项目路径:/usr/local/anaconda3/envs/django2/englishApp
一、uwgix 配置
1.在虚拟环境中安装 uwsgi
要使用 anaconda 的虚拟环境进行 uwsgi 部署,必须在虚拟环境中安装好 uwsgi 而不是在服务器的环境中安装,否则使用 uwsgi 进行部署的时候,启动的环境并非你搭建好的环境,会导致应用启动失败。
安装命令
在激活的 anaconda 虚拟环境下进行安装
source activate [环境名] # 激活环境
conda install uwsgi # 安装uwsgi,这里不建议用 pip 进行安装,我用 pip 进行安装 uwsgi 报了很多错误,导致安装失败
可以看到 uwsgi 包已经安装到我激活的虚拟环境中了
2.配置 uwsgi
在项目目录下创建 uwsgi.ini 文件,配置如下
[uwsgi]
# 使用nginx连接时使用
# socket=0.0.0.0:8000
# 直接做web服务器使用
http=0.0.0.0:8000
#项目目录
chdir=/usr/local/anaconda3/envs/django2/englishApp
#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=englishApp/wsgi.py
processes=4
threads=2
master=True
pidfile=uwsgi.pid
# 日志信息配置 ,根据自己的需求进行配置,这里为了方便查看,我将日志信息放在了项目目录下
daemonize=/usr/local/anaconda3/envs/django2/englishApp/englishApp/uwsgi.log
# 虚拟环境配置 填写自己的项目目录的绝对路径
virtualenv = /usr/local/anaconda3/envs/django2
3.启动 uwsgi
需要在项目目录下的 englishApp 目录下执行,必须在激活 anaconda 环境的情况下,执行启动命令
uwsgi --ini uwsgi.ini # 启动 uwsgi
执行上面语句就可以了
查看uwsgi
ps ajx | grep uwsgi # 查看 uwsgi 进程
停止uwsgi
在项目目录下的 englishApp 目录下执行
uwsgi --stop uwsgi.pid