openshift云计算平台diy模式安装Python2.7+Flask

主要翻译了链接1)的教程,加上一些个人研究,步骤如下:

1) 在openshift.redhat.com申请账号,安装git for windows,然后安装gem install rhc,这些比较容易。

2) 运行这个命令,就会生成一个py27的目录。 rhc-create-app -a py27 -t diy-0.1

3) 会看到如下信息,这个py27与你的目录符合,ehazlett是你自己定义的路径:
py27 published: http://py27-ehazlett.rhcloud.com/
git url: ssh://uuid1234567890@py27-ehazlett.rhcloud.com/~/git/py27.git/
将来你的程序就是 http://py27-[namepsace].rhcloud.com,这里的uuid1234567890要看你自己的显示结果,可以保存到某个文本中记录下来。也可以用rhc app show -a py27命令查看。

4) 运行 ssh uuid1234567890@py27-ehazlett.rhcloud.com,就会进入到远端服务器中,下面命令是在服务器端运行。

5) 拷贝,粘贴,运行
cd $OPENSHIFT_TMP_DIR
wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar jxf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure –prefix=$OPENSHIFT_RUNTIME_DIR
make; make install
export PATH=$OPENSHIFT_RUNTIME_DIR/bin:$PATH

6) 这时候敲python,版本应该是2.7.3

7) 拷贝,粘贴,运行
cd $OPENSHIFT_TMP_DIR
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar zxf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
python setup.py install
cd $OPENSHIFT_TMP_DIR
wget http://pypi.python.org/packages/source/p/pip/pip-1.1.tar.gz
tar zxf pip-1.1.tar.gz
cd pip-1.1
python setup.py install

8)基本上服务器端的就结束了,然后转回到本地,可以用exit退出远程登录

9)(在本地)diy目录下,建立一个application.py
├── README
├── diy
–│ └── index.html
–│ └── testrubyserver.rb
–│ └── application.py
–└── misc
删掉index.html还有testrubyserver.rb,用不到它们。
输入内容:

 

10) 在py27这个目录下,也就是diy的上一级目录,建立一个requirements.txt,输入
uWSGI==1.2.3
Flask==0.8
werkzeug

11) 在本地的py27目录下,有个隐藏目录 “.openshift”,编辑这个目录下的这些文件
编辑 .openshift/action_hooks/build 加入:
$OPENSHIFT_RUNTIME_DIR/bin/pip install –use-mirrors -r $OPENSHIFT_REPO_DIR/requirements.txt

编辑 .openshift/action_hooks/start 加入:
$OPENSHIFT_RUNTIME_DIR/bin/uwsgi -s $OPENSHIFT_INTERNAL_IP:$OPENSHIFT_INTERNAL_PORT –socket-protocol http –pp $OPENSHIFT_REPO_DIR/diy –module application -d $OPENSHIFT_LOG_DIR/app.log –pidfile $OPENSHIFT_TMP_DIR/uwsgi.pid

编辑 .openshift/action_hooks/stop 在exit 0上一行加入:
kill `cat $OPENSHIFT_TMP_DIR/uwsgi.pid`

12) 在py27目录下,运行这些更新命令
git add .
git commit
git push

13) 搞定,如果有问题,可以ssh 登录进去以后看这个目录 $OPENSHIFT_LOG_DIR ,下面有log文件

参考链接:
https://openshift.redhat.com/community/developers/python
https://openshift.redhat.com/community/blogs/enabling-python-27-on-a-paas-with-the-openshift-diy-app-type

https://bitbucket.org/ollix/openshift-uwsgi

发表评论