美文网首页
ubuntu 下搭建python web服务

ubuntu 下搭建python web服务

作者: 会议室窗边 | 来源:发表于2017-12-07 16:16 被阅读0次

最近项目需要大量使用python实现功能处理,所有选择了ubuntu系统17.10来进行搭建。

需求背景需要同步调用shell脚本来实现系统功能,java调用会出现无法获取异步处理结果的问题,所以采用python 做web服务器进行获取。

架构形式nginx +fastcgi + web.py ,部署起来也非常简单。

首先需要先实现web.py的安装,这里使用系统自带的python2.7版本。

为了安装python组件方便,我这里使用了pip工具来进行web.py安装

pip install web.py

就可以安装完成。

web.py框架使用也是很简单,比如下面:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import web

urls = ("/.*", "hello")

app = web.application(urls, globals())

class hello:

def GET(self):

return 'Hello, world!'

if __name__ == "__main__":

app.run()

文件命名为start.py

给start.py权限 chmod +x start.py

启动web服务器可以使用命令:python start.py 8081

这样服务就可以访问8081端口并使用urls路由

如果使用fastcgi服务进行nginx代理访问需要在main方法加上下面的写法:

if __name__ == "__main__":

web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr)

app.run()

这样程序就可以通过fastcgi进行访问

nginx安装可以参考 http://www.jianshu.com/p/7017c500e0f9 这篇文章,注意需要安装fastcgi模块

fastcgi服务可以通过下面的地址访问并下载相应版本安装:

http://redmine.lighttpd.net/projects/spawn-fcgi/news

注意这里还需要安装flup

可以通过Pip进行安装

fastcgi服务通过下面的命令进行启动:

spawn-fcgi -d /path/to/www -f /path/to/www/start.py -a 127.0.0.1 -p 9002

下面要想外网访问需要使用Ningx代理,下面配置Nginx的fastcgi模块配置:

简写

location / {

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;  # [1]

fastcgi_param PATH_INFO $fastcgi_script_name;        # [2]

fastcgi_pass 127.0.0.1:9002;

}

下面就很容易使用python做服务器了,是不是很简单。

python有更加复杂功能的web服务框架,web.py是非常简单的,看情况使用。

python 调用shell和shell内容不方便写见谅。

相关文章

网友评论

      本文标题:ubuntu 下搭建python web服务

      本文链接:https://www.haomeiwen.com/subject/bnzdixtx.html