Python 编写的 webservice 怎么部署到服务器(比如 Apache 等)上?

2017-08-16 14:42:49 +08:00
 creatorYC

使用 Python 的 spyne 库编写了 webservice 程序,在 PyCharm 里面运行着,就是这样启动的:

if __name__ == '__main__':
    server = make_server(ip, port, wsgi_app)
    server.serve_forever()

现在想把这个 webservice 部署到服务器上,应该怎么配置啊?可以放到 Apache 这样的服务器上吗?在网上搜了一圈实在没找到解决方案,特来请教。

6713 次点击
所在节点    Python
13 条回复
Geoion
2017-08-16 14:44:44 +08:00
能持久化就行,supervisor 一把梭
hcymk2
2017-08-16 14:47:48 +08:00
我看到了 wsgi
creatorYC
2017-08-16 14:54:15 +08:00
@Geoion 能不能详细说说啊,囧
creatorYC
2017-08-16 14:54:41 +08:00
@hcymk2 它不该出现吗?哈哈
gemini
2017-08-16 15:15:38 +08:00
搜搜 nginx + python + uwsgi 大把
比如 http://www.cnblogs.com/Erick-L/p/7066455.html
hifans
2017-08-16 16:42:42 +08:00
windows 上我用 apache
linux 直接上 gunicorn
chaleaoch
2017-08-16 16:47:42 +08:00
你自己写了 一个 server,然后还要部署到 server 上?
你的意思是前面在架一个 nginx 做分发吗?

我没太理解。。。
codeface
2017-08-16 16:51:52 +08:00
uwsgi 或者 反向代理
creatorYC
2017-08-16 17:09:17 +08:00
@chaleaoch 自己写了一个 webservice 接收请求返回数据,想让他运行在 apache 上,现在是在 pycharm 里运行的
creatorYC
2017-08-16 17:10:08 +08:00
@hifans windows 上 apache 我不太清楚怎么配置,以前部署过 Django 程序,跟那差不多配置吗
fffflyfish
2017-08-16 17:12:01 +08:00
最简单的方法就是端口反向代理
chaleaoch
2017-08-16 17:13:12 +08:00
@creatorYC 我说一下我的理解不一定对。

我感觉你现在做的相当于自己实现了一个简易版的 apache,但是你现在想让一个 apache 运行的 apache 上。。。好奇怪。。。

你说的 webservice 是指 wsgi_app 还是 make_server。
dangyuluo
2017-08-17 01:07:52 +08:00
Apache 是一个服务器软件,你写的 Python 实现了部分 Apache 的功能,二者在同一级别上,怎么说谁部署到谁?
我觉得你可以这样,Apache 监听 80 端口,python 脚本监听 8080 端口。根据 ip 或者域名,在 apache 里用 reverse proxy 代理 8080 端口。这样你既可以将你的软件发布到 web,又可以使用 apache 比较强大的目录管理与插件功能。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/383380

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX