Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web服务器
一、安装所需工具
yum -y install gcc gcc-c++ rpm-build mysql* libtool-ltdl* libtool automake autoconf libtool make setuptool
二、编译安装Python2.7.5
1. 下载python2.7.5,保存到 /data/qtongmon/software
http://www.python.org/ftp/python/
2. 解压文件
tar xvf Python-2.7.5.tar.bz2
3. 创建安装目录
mkdir /usr/local/python27
4. 安装python
./configure --prefix=/usr/local/python27 --enable-shared
make
make install
5. 修改老版本的ln指向(注意:这里修改后,可能会影响yum的使用)
mv /usr/bin/python /usr/bin/python2.4.3
ln -s /usr/local/python27/bin/python /usr/bin/python
6.yum是使用python写的,升级新版本的python后会导致yum不可用,如下为运行yum时的错误提示:
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
解决方法:
查找yum文件,并编辑此py文件
[root@TC-Boss ~]# which yum
/usr/bin/yum
[root@TC-Boss ~]# vi /usr/bin/yum
将
#!/usr/bin/python
改为:
whereis python出来的结果(老版本的python)
#!/usr/bin/python2.6
然后保存OK.
二、安装uWSGI
下载uWSGI的最新版
wget http://projects.unbit.it/downloads/
因为我最后采用xml配置django app 的部署,所以编译 uWSGI 时候需要把libxml编译进去
yum -y install libxml2-devel
剩下的就简单了
tar zxvf uwsgi-1.9.17.tar.gz
cd uwsgi-1.9.17
make
cp uwsgi /usr/sbin/uwsgi
如果遇到错误:python: error while loading shared libraries: libpython2.7.so.1.0:
cannot open shared object file: No such file
按如下方式解决:
vim /etc/ld.so.conf.d/python2.7.conf
加入以下内容:/usr/local/python27/lib (实际的python安装路径下的lib目录)
保存退出后运行:
ldconfig
即可
至此 uWSGI 就算是安装完成了,下一步安装 Nginx
推荐阅读: