標籤:
一、安裝所需工具
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檔案
[[email protected] ~]# which yum
/usr/bin/yum
[[email protected] ~]# 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
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2013-10/91063p2.htm
推薦閱讀:
你應該使用 Nginx + uWSGI http://www.linuxidc.com/Linux/2013-07/87286.htm
uWSGI + Nginx 部署 Flask Web 應用程式 http://www.linuxidc.com/Linux/2013-06/85828.htm
Django+Nginx+uWSGI 部署 http://www.linuxidc.com/Linux/2013-02/79862.htm
Linux下Nginx+uWSGI部署Python應用 http://www.linuxidc.com/Linux/2012-10/72443.htm
Ubuntu Server 12.04 安裝Nginx+uWSGI+Django環境 http://www.linuxidc.com/Linux/2012-05/60639.htm
CentOS 5.5 + Nginx 0.8.50 + uWSGI + Django 1.2.3 部署Django項目 http://www.linuxidc.com/Linux/2011-05/36399.htm
第 2 頁(共 2 頁)
三、Nginx 安裝
Nginx 的詳細介紹:請點這裡
Nginx 的:請點這裡
參考CentOS 6.4安裝配置Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
注意編譯的時候要加上參數:--with-cc-opt=‘-O3‘ --with-cpu-opt=opteron
[[email protected] nginx-1.4.2]# ./configure --with-http_stub_status_module --prefix=/usr/local/nginx --with-cc-opt=‘-O3‘ --with-cpu-opt=opteron
四、安裝MySql-python
wget http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download
tar zxvf MySQL-python-1.2.3.tar.gz
cd MySQL-python-1.2.3
python setup.py install
ImportError: No module named setuptools 解決方案 :
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py build
python setup.py install
/usr/bin/ld: cannot find -lpython2.7錯誤,解決方案 :
cd /usr/lib
ln -s /usr/local/python27/lib/libpython2.7.so libpython2.7.so
ll -a|grep python
lrwxrwxrwx. 1 root root 39 Oct 1 16:39 libpython2.7.so -> /usr/local/python27/lib/libpython2.7.so
drwxr-xr-x. 3 root root 4096 May 3 15:15 python2.6
出錯:error: command ‘gcc‘ failed with exit status 1
處理方法:
yum -y install mysql-devel
安裝完成,到你的python安裝目錄下的site-packages目錄裡檢查以下檔案是否存在,如果存在即代表安裝成功了
Linux:MySQL_python-1.2.3c1-py2.6-linux-i686.egg
測試方法
1)運行命令python進入python運行環境
2)輸入以下python代碼進行測試
import MySQLdb
test=MySQLdb.connect(db=‘mydb‘,host=‘localhost‘,user=‘root‘,passwd=‘p‘)
cur = test.cursor()
cur.execute(‘show databases;‘)
for data in cur.fetchall():
print data
五、安裝Django
wget https://www.djangoproject.com/m/releases/1.5/Django-1.5.4.tar.gz
tar xzvf Django-1.5.4.tar.gz
cd Django-1.5.4
python setup.py install
測試Django安裝
終端中輸入 python,進入python互動模式,輸入如下:
>>>import django
django.VERSION
正常情況會顯示版本號碼。
六、nginx配置
server {
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
server_name blog.hysia.com;
access_log /var/log/nginx/blog.hysia.com-access.log ;
error_log /var/log/nginx/blog.hysia.com-error.log ;
location / {
uwsgi_pass 127.0.0.1:8630;
include uwsgi_params;
}
}
Nginx+uWSGI+Django+Python+ MySQL 搭建可靠的Python Web伺服器