部署python程序时常常会遇到同一台服务器上2.x和3.x共存的情况,不同应用需要使用不用的python版本,使用virtualenv创建虚拟环境能很好地解决这一问题。首先,需要在服务器上安装virtualenv,命令如下:
sudo yum install python-virtualenv
系统会自动下载依赖项目,如下图,安装已经成功了:
接下来需要创建虚拟环境,我们需要python3.6版本:
virtualenv -p /usr/local/bin/python3.6 python3.6
创建好虚拟环境时,virtualenv会帮我们把pip等工具也安装好。下面测试一下我们创建的虚拟环境:
/root/venv/python3.6/bin/python3.6 -V
python已经安装成功了,由于我们发布站点,需要借助uwsgi,下面来安装uwsgi:
/root/venv/python3.6/bin/pip install uwsgi
好了,uwsgi也安装成功了,下面就可以启动我们的站点了,uwsgi配置如下:
[uwsgi]
http = 0.0.0.0:7013
processes = 1
master = true
pythonpath = /usr/local/WordVecServiceCommon
chdir = /usr/local/WordVecServiceCommon
module = WordVecService.service
callable = app
memory-report = true
daemonize = /usr/local/WordVecServiceCommon/logs/uwsgi.log
touch-reload = /usr/local/WordVecServiceCommon/wsgi.txt
启动服务:
/root/venv/python3.6/bin/uwsgi --ini uwsgi_conf.ini
通过/logs/uwsgi.log日志文件查看启动情况:
好了,服务已经启动成功了,我们通过postman测试一下是否能够正常访问: