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.pswp.cn/news/444916.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/444916.shtml
英文地址,請注明出處:http://en.pswp.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: 不知道你是否有過這樣的經歷。在大學,你準備著手完…