nginx python webpy 配置安装

安装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 之后再启动会有详细信息.问题也就找到了.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/444916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PaperNotes(7)-GANs模式坍塌/训练不稳定

GANs-模式坍塌-训练不稳定1.训练不稳定问题相关文章1.1 DCGAN1.2Big-GAN1.3WGAN 、WGAN-GP、SN-WGAN1.4其他工作2.模式坍塌问题相关文章2.1 MAD-GAN2.2 Unrolled GAN2.3 DRAGAN2.4 D2GAN2.5 InfoGAN2.6 Deligan2.7 EBGAN2.8 Maximum Entropy Generators for Energy-Based Model…

thinkphp框架起步认识

先看看thinkphp的文档吧:这是我在网上找的一个不错的链接地址,对自己有用,同时相信对读者也有用吧。 http://doc.thinkphp.cn/manual/class.html ThinkPHP 跨模块调用操作方法(A方法与R方法) 跨模块调用操作方法 前面说…

leetcode403 青蛙过河

一只青蛙想要过河。 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有)。 青蛙可以跳上石头,但是不可以跳入水中。 给定石子的位置列表(用单元格序号升序表示)&#xff…

PaperNotes(8)-Stein Variational Gradient Descent A General Purpose Bayesian Inference Algorithm

通用贝叶斯推理算法-Stein Variational Gradient DescentAbstract1 Introduction2 Background3 Variational Inference Using Smooth Transforms3.1 Stein Operator as the Derivative of KL Divergence定理3.1引理3.23.2 Stein Variational Gradient Descent4 Related Works5 …

thinkphp的增删改查

ThinkPHP 添加数据 add 方法 ThinkPHP 内置的 add 方法用于向数据表添加数据,相当于 SQL 中的 INSERT INTO 行为。ThinkPHP Insert 添加数据添加数据 add 方法是 CURD(Create,Update,Read,Delete / 创建,修改,读取,删除)中的 Create 的实现&a…

leetcode115 不同的子序列

给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。 一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是…

ThinkPHP 模板循环输出 Volist 标签

volist 标签用于在模板中循环输出数据集或者多维数组。volist 标签在模块操作中&#xff0c;select() 方法返回的是一个二维数组&#xff0c;可以用 volist 直接输出&#xff1a;<volist name"list" id"vo"> 用 户 名&#xff1a;{$vo[username]}&l…

MachineLearning(9)-最大似然、最小KL散度、交叉熵损失函数三者的关系

最大似然-最小KL散度-最小化交叉熵损失-三者的关系问题缘起&#xff1a;给定一组数据(x1,x2,...,xm)(x^1,x^2,...,x^m)(x1,x2,...,xm),希望找到这组数据服从的分布。此种情况下&#xff0c;分布规律用概率密度p(x)表征。 问题归处&#xff1a;如果能够建模/近似建模p(x)&#…

ThinkPHP redirect 页面重定向使用详解与实例

ThinkPHP redirect 方法ThinkPHP redirect 方法可以实现页面的重定向&#xff08;跳转&#xff09;功能。redirect 方法语法如下&#xff1a;$this->redirect(string url, array params, int delay, string msg) 参数说明&#xff1a;url 必须&#xff0c;重定向的 URL 表达…

PaperNotes(9)-Learning deep energy model: contrastive divergence vs. Amortized MLE

Learning deep energy model: contrastive divergence vs. Amortized MLEabstract1 Introduction2 Background2.1 stein variational gradient descent2.2 learning energy model**contrastive Divergence**abstract 受SVGD算法的启发,本文提出两个算法用于从数据中学习深度能…

windows下的gvim配置

首要任务是下载安装Gvim7.3 。 安装完后&#xff0c;gvim菜单中文出现乱码&#xff0c;在_vimrcset文件中增加&#xff1a; " 配置多语言环境,解决中文乱码问题 if has("multi_byte") " UTF-8 编码 set encodingutf-8 set termencodingutf…

leetcode104 二叉树的最大深度

给定一个二叉树&#xff0c;找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例&#xff1a; 给定二叉树 [3,9,20,null,null,15,7]&#xff0c; 3 / \ 9 20 / \ 15 7 返回它的最大深度…

C++的安全类型转换的讨论

关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_ca…

PaperNotes(10)-Maximum Entropy Generators for Energy-Based Models

Maximum Entropy Generators for Energy-Based ModelsAbstract1 Introduction2 Background3 Maximum Entropy Generators for Energy-Based Models4 Experiments5 Related Work6 Conclusion7 AcknowledgementsAbstract 由于对数似然梯度的难以计算&#xff0c;能量模型的最大似…

leetcode105 前序中序遍历序列构造二叉树

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如&#xff0c;给出 前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7] 返回如下的二叉树&#xff1a; 3 / \ 9 20 / \ 15 7 思路&#xff1a; 1、…

c++的虚拟继承 的一些思考吧

虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如下: class A class …

对于linux socket与epoll配合相关的一些心得记录

对于linux socket与epoll配合相关的一些心得记录 没有多少高深的东西&#xff0c;全当记录&#xff0c;虽然简单&#xff0c;但是没有做过测试还是挺容易让人糊涂的int nRecvBuf32*1024;//设置为32Ksetsockopt(s,SOL_SOCKET,SO_RCVBUF,(const char*)&nRecvBuf,sizeof(int))…

leetcode144 二叉树的前序遍历

给定一个二叉树&#xff0c;返回它的 前序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单&#xff0c;你可以通过迭代算法完成吗&#xff1f; 思路&#xff1a;模仿递归的思路压栈即可。 /*** Definition for a bi…

AJAX大总结

1、AJAX概述 1.1 什么是AJAX AJAX&#xff08;Asynchronous Javascript And XML&#xff09;翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互&#xff0c;传输的数据为XML&#xff08;当然&#xff0c;传输的数据不只是XML&#xff09;。 …

我对STL的一些看法(一)初步认识STL

后面一段时间我将会给大家分享我自己学到STL以及应用的时候遇到的问题还有他的一些精髓,可能开始的逻辑会有些乱吧,不过后面还会不断的整理和优化,让自己看明白也让更多的读者看的清楚。 最近刚闲下来,先说说什么是STL: 不知道你是否有过这样的经历。在大学,你准备着手完…