5. Python 2.7.x 基础

5.1. 升级到 Python 2.7

主要是把 Python 2.6 升级到 2.7 ,因为 CentOS 6.x 自带的 Python 为 2.6 版本。而 Ubuntu 12.04 就已经是 2.7 版本了。

安装过程基于已经编译安装好的 LNMP 环境。

安装需要的基础软件包:

yum install readline-devel gdbm-devel sqlite-devel -y

下载并安装 Python 2.7:

wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
tar xf Python-2.7.8.tgz
cd Python-2.7.8
./configure --prefix=/usr/local && make && make altinstall

安装 setuptools 和 pip:

wget https://bootstrap.pypa.io/get-pip.py
python2.7 get-pip.py

pip 的简单用法:

pip2.7 install [packagename]
pip2.7 install --upgrade [packagename]
pip2.7 uninstall [packagename]

安装 virtualenv:

pip2.7 install virtualenv
virtualenv-2.7 my27project
source my27project/bin/activate
deactivate

5.2. 安装 MySQL-python

/usr/local/mysql/bin 加入 $PATH 环境变量:

export PATH=$PATH:/usr/local/mysql/bin

安装 MySQL-python:

pip install MySQL-python==1.2.3

目前最新版本是 1.2.5 ,不建议安装 1.2.4 版本。

5.3. 安装 supervisor

5.3.1. 安装

很简单,请在系统级别安装:

pip install supervisor

5.3.2. 配置

配置文件默认路径:

/etc/supervisord.conf

创建一个配置文件:

echo_supervisord_conf > /etc/supervisord.conf

配置示例:

[program:wtxlog]
user=www
directory={{approot}}
command=/bin/env env/bin/gunicorn -b unix:app_wtxlog.sock manage:app
process_name=%(program_name)s
numprocs=1
autostart=true
autorestart=true
stopsignal=QUIT
redirect_stderr=true

5.3.3. 自启动脚本

下载:

wget https://github.com/Supervisor/initscripts/blob/master/redhat-init-mingalevme -o supervisord --no-check-certificate
cp supervisord /etc/init.d/
chmod +x /etc/init.d/supervisord

这是 supervisor 官方推荐的脚本。脚本放置位置: /etc/init.d/supervisord

因为 Python 2.7 安装在 /usr/local , 所以需要把 /etc/init.d/supervisord 脚本中的 PREFIX 改为 /usr/local ,否则脚本无法运行。

添加到系统服务(CENTOS):

chkconfig --add supervisord
chkconfig --level 235 supervisord on