AMH开源社区

AMH社区 - 开放自由有价值的社区

[求助帖] 经验分享:AMH4.2 支持 Python WEB

加菲寻
铝牌会员
322.00 价值分

2,002 次阅读   1 张回复   加菲寻 发表于 2015-11-09 11:35:50
[i=s] 本帖最后由 加菲寻 于 2015-11-9 11:47 编辑 [/i]

本文将描述如何使用 AMH 4.2 支持Python WEB程序的部署。

使用了 Gunicorn 来托管Python, AMH4.2默认的Ngnix来处理访问。

本文以 CentOS 6 为环境,其它版本Linux差不多

1. 首先检查主机有无安装 Python, SSH登陆主机验证:

python -v

CTRL+Z 退出Python

出来版本号2.6 之类的即可,要升级为 2.7 之类,百度一下如何升级。

2. 安装 Easy install 和 pip

wget https://bootstrap.pypa.io/ez_setup.py --no-check-certificate

python ez_setup.py

wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate

python get-pip.py

3. 安装 Gunicorn

pip install gunicorn

4. 检查Git 有无安装
git
如果没有git, 用 yum install git 安装

5. 下载示例程序并启动

git clone https://git.oschina.net/JiaFeiX/Py-Hello.git

进入目录 cd Py-Hello/

安装依赖 pip install -r requirements.txt --allow-all-external

无打断的运行托管Python:
nohup gunicorn hello:app -b 127.0.0.1:9000 --log-file - --access-logfile - --error-logfile -

此时出现: nohup: ignoring input and appending output to `nohup.out'
可以安全退出 SSH登陆窗口。 再次登陆SSH,该进程不会中断。

再次登陆后,用命令测试是否正常:curl http://127.0.0.1:9000

出来HTML 的页面,则表示正常。


6. 设置Ngnix站点

确定AMH安装了Rewrite模块




新建一个 Rewrite规则, 在AMH的站点里选择 Rewrite模块,新建一个




pyhello.conf 的Rewrite文件

location / {
proxy_pass http://127.0.0.1:9000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

新建一个 Ngnix 站点,并且制定Rewrite规则:





设定好 域名指向 pyhello.acyun.org 到 IP

然后访问:

http://pyhello.acyun.org/

正常。 结束。

-----

[WEB和云计算技术交流QQ群] 229593086







评价: 这个问题有价值吗?  没有 (0分)   有, 感谢 (1分)
2015-11-09 11:35:50 1

hiamh
铁牌会员
26.82 价值分

感谢分享,先收藏,有空试试看。
评价: 这个答复有价值吗?  没有 (0分)   有, 感谢 (0分)
回复  2018-09-12 11:55:38 2
 1  (总1页)
AMH社区列表
旅客不可参与帖子, 请您先登录
用户服务中心