centos7下nginx+uwsgi部署django项目问题记录

环境:centos7 x64    nginx-1.10.2 +uwsgi

项目:主要是自己尝试写的一个简单的CMDB项目,收集服务器信息,并进行简单的远程操作。

部署目的:部署到服务器看看效果

项目目录:/opt/PythonCMDB


一、环境安装:

      这一步网上有很多教程,直接百度就行。这里直接yum安装,简要写一下:

基础开发环境:
#yum groupinstall "Development tools"
#yum install -y epel-release
#yum install -y gcc gcc-c++ zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel libxml*
#yum install -y python-devel
#yum install -y python-pip

安装Python包:
#pip install paramiko
#pip install pillow
#pip install django==1.8.2
#pip install mysql-python

安装Nginx+uwsgi:
#pip install uwsgi
#yum install  -y nginx


二、环境配置

1、uwsgi配置:

在项目目录/opt/PythonCMDB下新建一个cmdb_uwsgi.ini文件,具体配置如下:

centos7下nginx+uwsgi部署django项目问题记录_第1张图片

2、nginx配置/etc/nginx/nginx.conf配置:

centos7下nginx+uwsgi部署django项目问题记录_第2张图片


三、部署结果

启动uwsgi和nginx:    uwsgi -i /opt/PythonCMDB/cmdb_uswgi.ini & systemctl start nginx

至此可以正常访问。


四、错误集合

1、刚开始项目直接放在/root目录下,导致/static静态文件无法加载:

解决方法:由于/root目录是root用户的家目录,而nginx进程默认是以nginx用户的身份运行,故无权限访问。项目放在非/root目录后可以正常访问。

2、网站访问出现paramiko模块的属性错误:

centos7下nginx+uwsgi部署django项目问题记录_第3张图片

解决方法:是因为在centos7环境下,paramiko模块没有GSSException属性,所以需要将/usr/lib/python2.7/site-packages/paramiko目录下ssh_gss.py文件的GSS_EXCEPTIONS = (gssapi.GSSException,)注释掉:

centos7下nginx+uwsgi部署django项目问题记录_第4张图片

3、网站访问出现paramiko下util模块的import导入错误:

centos7下nginx+uwsgi部署django项目问题记录_第5张图片

解决方法:我是直接修改源文件,将/usr/lib/python2.7/site-packages/paramiko目录下transport.py文件中 from paramiko import util 注释,并将该文件中所有使用到util的替换为paramiko.util,需要注意如果有本来就是使用paramiko.util的不需要替换

你可能感兴趣的:(Python开发)