在上一篇文章linux下nginx+python+fastcgi部署总结(django版)中,我们部署了nginx+django+fastcgi的环境,这次我们来部署一下nginx+web.py+fastcgi。 其实web.py上的官方网站已经说的比较清楚了,原文如下: http://webpy.org/cookbook/fastcgi-nginx 这里主要讲一下一些原文没有照顾到的地方。
一.安装依赖
二.配置nginx
在server配置项下增加
location / { #这两种方法都可以,只不过spawn-cgi启动的方法不同 #fastcgi_pass 127.0.0.1:9002; fastcgi_pass unix:webpy.sock; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param QUERY_STRING $query_string; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_script_name; }
三.一个简单的index.py
#!/usr/bin/python # -*- coding: utf-8 -*- import web urls = ("/.*", "hello") app = web.application(urls, globals()) class hello: def GET(self): return 'Hello, world!' if __name__ == "__main__": web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr) app.run()
并执行:
chmod +x index.py
四.启动web.py
启动:
#spawn-fcgi -P `pwd`/webpy.pid -f /home/dantezhu/htdocs/ngx_web/index.py -a 127.0.0.1 -p 9002 & spawn-fcgi -P `pwd`/webpy.pid -f /home/dantezhu/htdocs/ngx_web/index.py -s /home/dantezhu/nginx/sbin/webpy.sock &
停止:
kill -9 `cat webpy.pid`
五.启动nginx
与上一篇文章一样,这里不再赘述。
六.加入到rc.local中,自动启动
/home/dantezhu/nginx/sbin/start.sh sudo -u dantezhu /home/dantezhu/htdocs/ngx_django/mysite/start.sh sudo -u dantezhu /home/dantezhu/htdocs/ngx_web/start.sh
OK,就是这样啦~
Miles on #
尝试下uwsgi吧
Reply
Dante on #
哈哈哈,你说到点子上啦,马上就要发uwsgi的文章
Reply
Miles on #
哈哈,uwsgi很不错,但是我遇到一个uwsgi的bug,设置touch-reload后,运行一段时间uwsgi进程就会cpu 100%,不知道你遇到过没有
Reply
Dante on #
没有呢~ 我touch之后跑了一天,cpu也是正常的~ 是不是版本有点低?
Reply
Dante on #
已经发了~
http://www.vimer.cn/2011/07/linux%E4%B8%8Bnginxpythonuwsgi%E9%83%A8%E7%BD%B2%E6%80%BB%E7%BB%93djangoweb-py.html
Reply
moper on #
是不是要流行python了~
Reply
Dante on #
哈哈,python是个好东西啊~~
越来越喜欢~~
Reply
zid_user on #
为什么我照个配了,还是不行呢?
Reply