openshift的DIY环境,本着这个目的,自行创建一个DIY环境,在上面安装运行python 2.7.6和tornado 3.2。
【Step1、创建DIY环境】
【Step2、安装python 2.7.6】
通过python -V看到系统已预装python 2.6.6,直接在$OPENSHIFT_DATA_DIR下安装2.7.6可以正常使用,但需要注意其调用路径为$OPENSHIFT_DATA_DIR/bin/python。
cd $OPENSHIFT_REPO_DIR
wget https://www.python.org/ftp/python/2.7.6/Python-2.7.6.tgz
tar -xzf Python-2.7.6.tgz
cd Python-2.7.6
./configure --prefix=$OPENSHIFT_DATA_DIR
make install
$OPENSHIFT_DATA_DIR/bin/python -V
看到Python 2.7.6说明安装成功。
【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、安装Tornado3.2】
$OPENSHIFT_DATA_DIR/bin/pip install tornado
通过$OPENSHIFT_DATA_DIR/bin/pip freeze查看Tornado3.2是否已经包含在已安装列表中
—-到此完成环境配置—-
—-以下的文件修改部分用到vi的基本操作,也可以用git clone修改后push—-
【Step5、修改action_hooks文件,这些文件定义应用的启动和终止】
cd $OPENSHIFT_REPO_DIR/.openshift/action_hooks
vi start
注释掉原来的全部内容,并在尾部添加:
1
|
nohup
$
OPENSHIFT_DATA_DIR
/
bin
/
python
$
OPENSHIFT_REPO_DIR
/
diy
/
start
.
py
>
$
OPENSHIFT_DIY_LOG_DIR
/
tornado_server
.
log
2
>
&
1
&
|
vi stop
注释掉原来的全部内容,并在尾部添加:
1
2
3
4
5
6
7
8
|
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 *
vi start.py
写入:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import
os
import
tornado
.
ioloop
import
tornado
.
web
class
MainHandler
(
tornado
.
web
.
RequestHandler
)
:
def
get
(
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】
killall ruby
ctl_all stop
ctl_all start
最后欢迎 访问我基于tornado搭建的小站 www.liduole.com