linuxweb.pyspawn-fcgiweb.py配置 spawn fcgi启动

本来要用uwsgi,但是。。。介于以前说过。。。这台服务器略老。。。redhat3的系统。。。确实很老,没法用yum,没法安装很多东西,打算自己编译uwsgi,但是编译各种错误。。。花了快一天,最后放弃了,改用fastcgi吧,虽然网上各种说uwsgi的效率多么高,性能多么好,但是没办法忍痛割爱吧。web.py官网有相应的教程,但是我copy过来进行了修改,红色就是修改,因为各种细节没有说。参考网址:http://webpy.org/cookbook/fastcgi-nginx.zh-cn http://www.haogongju.net/art/1657194 http://blog.csdn.net/cjsafty/article/details/7798594
环境依赖的软件包Nginx 0.8.* or 0.7.* (需要包含fastcgi和rewrite模块)。Webpy 0.32Spawn-fcgi 1.6.2Flup注意:Flup是最常见的忘记装的软件,需要安装
更老的版本应该也可以工作,但是没有测试过,最新的是可以工作的
一些资源Nginx wikiSpawn-fcgiFlupNotes你可以重命名index.py为任何你想要的文件名。/path/to/www 为代码路径。/path/to/www/index.py为python代码的完整路径。Nginx 配置文件
user root root;location / { includefastcgi_params; fastcgi_paramSCRIPT_FILENAME $fastcgi_script_name; # [1] fastcgi_param PATH_INFO$fastcgi_script_name; # [2] fastcgi_pass127.0.0.1:9002;}对于静态文件可以添加如下配置:
location /static/ { root /home/workspace/ if (-f$request_filename) { rewrite ^/static/(.*)$/static/$1 break; }}注意: 地址和端口号可能会是不同的。
Spawn-fcgi可以通过一下命令启动一个Spawn-fcgi进程:
spawn-fcgi -d /path/to/www -f /path/to/www/index.py -a127.0.0.1 -p 9002启动和关闭的命令启动:
#!/bin/shspawn-fcgi -d /path/to/www -f /path/to/www/index.py -a127.0.0.1 -p 9002关闭:
#!/bin/shkill `pgrep -f "python /path/to/www/index.py"`Note: 你可以随意填写地址和端口信息,但是一定需要和Nginx配置文件相匹配。
Hello world!讲下面的代码保存为index.py(或者任何你喜欢的),注意,使用Nginx配置的话,web.wsgi.runwsgi =lambda func, addr=None: web.wsgi.runfcgi(func,addr)这一行代码是必须的。
#!/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__": web.wsgi.runwsgi =lambda func, addr=None: web.wsgi.runfcgi(func, addr) app.run()注意: 同样需要给代码设置权限,代码如下chmod +x index.py。
运行打开一个 spawn-fcgi 进程.打开 Nginx.如果需要检查应用程序是否运行,使用ps aux|grep index.py可以很容易的查看。
重启nginx配置:
/path/to/nginx/sbin/nginx -s reload停止nginx:
/path/to/nginx/sbin/nginx -s stop注意:运行后可访问http://localhost访问网站,更多信息可以去参考nginx官方文档。
附带教程:关闭nginx:停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的
步骤1:查询nginx主进程号
ps-ef | grep nginx
在进程列表里面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx

另外,若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:
kill -信号类型 '/usr/nginx/logs/nginx.pid'

遇到的问题1:1.没法加载js 和css 因为static目录路径设置不对,按照第二个红色设置即可2.路径正确后但是出现错误permission denied,增加第一个红色标志 user rootroot即可。3.关了一次nginx,改了端口号重启显示端口号占用google的时候学会了这个命令lsof -i :80然后你就可以看是不是nginx继续占用,或者其他程序占用了你的端口号详情见另一篇文章介绍lsof~~

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/271008.html

更多阅读

如何配置SQL Server 2008管理器 sqlserver2008配置

如何配置SQL Server 2008管理器——简介SQl Server 配置管理器(简称为配置管理器)包含了SQL Server 2008服务、SQL Server 2008网络配置和SQL Native Client配置3个工具,供数据库管理人员做服务器启动停止与监控、服务器端支持的网络协

如何启动wzc服务 零配置wzc

如何启动wzc服务——简介  故障现象:笔记本电脑系统为Windows XP,WIFI无线连接不上显示红叉,关闭WIFI开关再打开无用,重启电脑也同样现象,但是用手机是可以连接,证明路由器的WIFI网络是没有问题的。提示信息为:请启动Windows零配置(WZC)

DHCP服务器怎么设置怎么启动 win7 dhcp服务器设置

DHCP服务器怎么设置怎么启动——简介DHCP:动态主机配置协议,服务器用于为网络中的客户端自动分配IP地址。这种方法避免了由于手动配置IP地址导致的IP地址冲突问题,同时也减少了网络管理员的工作量。DHCP服务器怎么设置怎么启动——工

ADT的下载和配置 adt配置sdk路径

ADT的下载和配置——简介ADT:Android Development Tools, Eclipse的Android 开发插件,把Eclipse和SDK联系起来。ADT的下载和配置——工具/原料SDK环境ADTADT的下载和配置——方法/步骤ADT的下载和配置 1、可在各大型软件网载ADT,在Ecli

声明:《linuxweb.pyspawn-fcgiweb.py配置 spawn fcgi启动》为网友完全抵抗分享!如侵犯到您的合法权益请联系我们删除