openshift官方和社区提供不少配置好的环境,也包括python2.7和python3.3下的tornado套件。一方面希望拥有更高的使用自由,另一方面希望熟悉一下openshift的DIY环境,本着这个目的,自行创建一个DIY环境,在上面安装运行python 2.7.6和tornado 3.2。【Step1、创建DIY环境】【Step2、安装python 2.7.10】通过python -V看到系统已预装python 2.6.6,直接在$OPENSHIFT_DATA_DIR下安装2.7.10可以正常使用,但需要注意其调用路径为$OPENSHIFT_DATA_DIR/bin/python。cd $OPENSHIFT_REPO_DIR
wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
tar -xzf Python-2.7.10.tgz
cd Python-2.7.10
./configure --prefix=$OPENSHIFT_DATA_DIR
make install
$OPENSHIFT_DATA_DIR/bin/python -V看到Python 2.7.10说明安装成功。【Step3、安装pip】cd $OPENSHIFT_TMP_DIR
wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$OPENSHIFT_DATA_DIR/bin/python get-pip.py【Step4、安装Tornado 3.4】$OPENSHIFT_DATA_DIR/bin/pip install tornado通过$OPENSHIFT_DATA_DIR/bin/pip freeze查看Tornado3.4是否已经包含在已安装列表中【Step5、修改action_hooks文件,这些文件定义应用的启动和终止】cd $OPENSHIFT_REPO_DIR/.openshift/action_hooks打开start文件vim start,注释掉原来的全部内容,并在尾部添加:nohup $OPENSHIFT_DATA_DIR/bin/python $OPENSHIFT_REPO_DIR/diy/start.py > $OPENSHIFT_DIY_LOG_DIR/tornado_server.log 2>&1 &打开stop文件vim stop,注释掉原来的全部内容,并在尾部添加:source $OPENSHIFT_CARTRIDGE_SDK_BASH
if [ -z "$(ps -ef | grep start.py | grep -v grep)" ]
then
client_result "Application is already stopped"
else
kill `ps -ef | grep start.py | grep -v grep | awk '{ print $2 }'` > /dev/null 2>&1
fi【Step6、第一个Tornado程序】cd $OPENSHIFT_REPO_DIR/diy/
rm *
vim start.py写入:importosimporttornado.ioloopimporttornado.webclassMainHandler(tornado.web.RequestHandler):defget(self):self.write("Hello, world")application=tornado.web.Application([(r"/",MainHandler),])if__name__=="__main__":ip=os.environ['OPENSHIFT_DIY_IP']port=int(os.environ['OPENSHIFT_DIY_PORT'])application.listen(port,ip)tornado.ioloop.IOLoop.instance().start()【Step7、启动Appliction】ctl_all stop
ctl_all start如果操作无误的话,hello world可以访问了。