现在的位置: 首页 > 综合 > 正文

nginx python webpy 配置安装

2017年12月11日 ⁄ 综合 ⁄ 共 3861字 ⁄ 字号 评论关闭

安装webpy
$ wget http://webpy.org/static/web.py-0.34.tar.gz
$ tar xvzf web.py-0.34.tar.gz
$ cd web.py-0.34
$ sudo python setup.py install

安装 Flup

http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz

$ wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
$ tar xvzf flup-1.0.2.tar.gz
$ cd flup-1.0.2
$ sudo python setup.py install

安装 Spawn-fcgi
wget http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
tar zxvf spawn-fcgi-1.6.3.tar.gz
cd spawn-fcgi-1.6.3
./configure --prefix=/usr设置到/usr

make && make install # install

python2.7
=========================
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar jxvf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure
make && make install

安装mysql-for-python2.7

http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/
yum install python-devel
yum install mysql-devel
修改mysqldb目录下site.cfg文件,确保mysql_config选项路径配置正确
python setup.py build
python setup.py install
有问题可以看下载目录下的安装要求中的项目,或FAQ

http://mysql-python.sourceforge.net/FAQ.html

.安装 pcre
让nginx支持rewrite

     pcre-8.10.tar.gz  上传到/home 目录下面

    1) 解压 pcre

     tar zxvf   pcre-8.10.tar.gz 解压 pcre 后 /home 下面会有 pcre-8.10 文件夹

     2)配置pcre

     cd /home/ pcre-8.10

    ./configure --prefix=/usr/local/pcre-7.8 --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
     configure有许多参数可配,具体参见./configure --help及手册

     3)make

     在linux 中输入 make 命令后屏幕会生成一堆文件,不用去管它

     4)安装

      在linux 中输入 make install

--进行一些文件拷贝,下一步安装nginx需要指定路径
[root@]# mkdir /usr/include/pcre
[root@]# cp /usr/local/lib/libpcre.a /usr/include/pcre/libpcre.a
[root@]# cp /usr/local/lib/libpcre.la /usr/include/pcre/libpcre.la
[root@]# cp /usr/local/include/pcre.h /usr/include/pcre/pcre.h
[root@]# mkdir /usr/include/pcre/.libs
[root@]# cp /usr/local/lib/libpcre.a /usr/include/pcre/.libs/libpcre.a
[root@]# cp /usr/local/lib/libpcre.la /usr/include/pcre/.libs/libpcre.la
[root@]# cp /usr/local/include/pcre.h /usr/include/pcre/.libs/pcre.h

安装Nginx
源码包可以在官方主页上下载。Ubuntu 7.10可以直接通过apt安装,也可以从这里下载最新的deb包:
sudo apt-get install nginx
如果要自己编译的话,需要确保自己已经有编译器和PCRE的库(用于Nginx的rewrite模块,如果不需要这个模块可以在configure时使用./configure –without-rewrite)。

编译方法如下:
wget http://sysoev.ru/nginx/nginx-0.5.34.tar.gz
tar zxvf nginx-0.5.34.tar.gz
cd nginx-0.5.34
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
make && make install # install要求有root权限

 cd  /usr/local/nginx/sbin

         ./nginx -t 

         结果显示:

        nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

        nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

       6)启动nginx 

          cd  /usr/local/nginx/sbin 目录下面 输入 ./nginx 启动 nginx

Nginx 配置文件

  server {
        listen       80;
        server_name  localhost;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
         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;
        fastcgi_pass 127.0.0.1:9001;
        index  index.html index.htm code.py;
        }
对于静态文件可以添加如下配置:

location /static/ {
    if (-f $request_filename) {
    rewrite ^/static/(.*)$  /static/$1 break;
    }
}

重启nginx配置:
/path/to/nginx/sbin/nginx -s reload

停止nginx:
/path/to/nginx/sbin/nginx -s stop

Spawn-fcgi

可以通过一下命令启动一个Spawn-fcgi进程:

spawn-fcgi -d ~/nginx-dir/html -f ./code.py -a 127.0.0.1 -p 9002 -F 2 -P /tmp/webpy.pid

将进程PID保存下来方便关闭进程:

kill `cat /tmp/webpy.pid`

参数说明:

-f 指定调用 FastCGI 的进程的执行程序位置,根据系统上所装的 PHP 的情况具体设置
-a 绑定到地址 addr
-p 绑定到端口 port
-F 指定产生的 FastCGI 的进程数  (很多人以为是-C,其实那是PHP专用的,这里要用-F)
-P 指定产生的进程的 PID 文件路径
-u 和 -g FastCGI 使用什么身份运行

 

如果运行Spawn-fcgi之后,ps -ef 不能发现进程,sudo netstat -antup不能发现端口说明Spawn-fcgi没有正常启动,可以在启动参数中加 -n 之后再启动会有详细信息.问题也就找到了.

抱歉!评论已关闭.