为了不和linux服务器上默认的python环境搞混淆,自己装个python版本在指定目录下。
1.环境:
不同的python版本对linux服务器的 `GLIBC_2.14'版本要求不一,被移植服务器的libgcc版本低,则后面移植过去的虚拟环境不能使用,需要升级GLIBC版本
python2.7
centos 7
2. 联网环境安装好python2.7至指定目录,/home/monitor/virtualenv-py27/python27
yum install virtualenv
安装指定python版本的虚拟环境
virtualenv -p /home/monitor/virtualenv-py27/python27/bin/python2.7 ./env2.7
激活虚拟环境
source ./env/bin/activate
到此步骤 虚拟环境已经激活
把需要安装的python模块写到文件中
pip list
pip freeze >requirements.txt
在激活状态中安装需要的python模块:
安装python 模块
./env/bin/pip install -r pip_requirements.txt -i https://pypi.douban.com/simple
下载文件中的python 模块到指packages目录,这可不需要
pip download -d packages -r requirements.txt -i https://pypi.douban.com/simple
退出虚拟环境
deactivate
以上是在联网linux中把python的版本,模块和环境都做好了,直接打包至 断网环境的服务器相同目录下加压即可。
一般为了方便管理python的虚拟环境 会安装virtualenvwrapper,这个要运行需要配置linux的环境变量,为了不去修改环境变量我这里就没有装。
*****************************************************以下部署项目******************************************************************
以上安装的python模块
uwsgi启动django项目,需要注意修改django的几个地方,
uwsgi.ini
chdir,file,daemonize 按正常的uwsgi配置好就行,
示例:
chdir = /opt/agent/kvm-virsh/cmdb_kvm/cmdb_kvm/
file = /opt/agent/kvm-virsh/cmdb_kvm/cmdb_kvm/wsgi.py
daemonize = /opt/agent/kvm-virsh/cmdb_kvm/uwsgi.log
特别需要指定pythonpath,路径是你安装python 虚拟环境的路径,不然会报找不到python环境
pythonpath='/home/monitor/virtualenv-py27/env2.7'
uwsgi.py
需要加上 项目的路径,不然会报找不到cmdb_kvm.settings模块,至于启动消费kafka方法 是启动项目就会运行的代码,自己写的测试 与其他无关
sys.path.append('/opt/agent/kvm-virsh/cmdb_kvm/')
启动uwsgi项目
/home/monitor/virtualenv-py27/env2.7/bin/uwsgi --ini /opt/agent/kvm-virsh/cmdb_kvm/uwsgi.ini
正常 结束
***************以上是自己摸索搞的,有什么更好的方法,欢迎指出*****以上文章有坑 很可能环境问题被阻挡 谨慎使用******************