偶遇新的问题---部署虚拟环境中的uwsgi(已解决)

一 背景

第二次部署django项目到uwsgi上,吸取了第一次部署的经验和教训,没想到第二次部署又遇到了新的问题—–找不到django包

因为第一次是在阿里云上直接部署,当时的项目不再虚拟环境,所以全局只有一个uwsgi,而第二个项目在虚拟环境中,所以问题就出现了,也许经过我的这番话,您可能察觉到问题所在,您可以独自取解决,也可以慢慢往下看。


二 问题所在

往往python很多部署的问题都会出现在虚拟环境场景下,因为uwsgi启动的时候,会在当前环境下寻找python包。如果没招到就会报错。因此在虚拟环境中要额外安装uwsgi。

步骤如下:

1.激活虚拟环境,source activate

2.进入虚拟环境,安装符合该虚拟环境的uwsgi,pip install uwsgi

3.安装完毕后,查看已安装到所有uwsgi,whereis uwsgi

{width=100%}

4.建立软链接,方便启动,sudo ln -s /home/syz/E_mall/bin/uwsgi /usr/bin

5.启动uwsgi(假设已经配置好uwsgi.ini的配置文件),sudo uwsgi-py3.6 --ini uwsgi.ini

{width=100%}

说明:

显示上述红色箭头的信息,已经可以正确运行了。

注:

在虚拟环境中的项目,已经要注意配置与虚拟环境中对应python环境的uwsgi。可能还有其他办法解决,不过目前我想到的只有该方法了。