亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 8213 | 回復(fù): 4
打印 上一主題 下一主題

[Web] 移植nginx到Windows上做開發(fā)環(huán)境的過程 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-12-06 17:45 |只看該作者 |倒序瀏覽
我的電腦的內(nèi)存不多,跑apache久了感覺很吃力,Nginx吃內(nèi)存就像記事本吃那么點,所以我自己編譯一個來做開發(fā)用

安裝前提:
安裝好cygwin,并安裝了gcc和g++  (安裝見http://www.xueler.com/docs/tool/%E5%AE%89%E8%A3%85cygwin
gzip 模塊需要 zlib 庫
rewrite 模塊需要 pcre 庫  
安裝nginx前先將pcre和zlib裝好
如果要使用ssl,還要openssl庫
  • 1、從nginx.net 下載源碼 nginx-0.7.24.tar.gz 存放到D:\linux\下
  • 2、使用cygwin把nginx安裝到d:/server/nginx
安裝命令
  1. cd /cygdrive/d/linux
  2. tar zxvf nginx-0.7.24.tar.gz
  3. cd nginx-0.7.24
  4. ./configure --prefix=/cygdrive/d/server/nginx --with-cc-opt="-D FD_SETSIZE=2048"
  5. make && make install
復(fù)制代碼
如果不加–with-cc-opt=”-D FD_SETSIZE=2048”的話,你裝好nginx后運行會出現(xiàn)

  2008/01/12 16:34:56 [emerg] 2496#0: the maximum number of files supported by select() is 64的錯誤提示,這表示FD_SETSIZE的值比nginx配置文件中worker_connections指令所指定的值,你可以把nginx.conf里的worker_connections選項改小一些,比如44,加了–with-cc-opt=”-DFD_SETSIZE=2048”后就不會碰到這問題

  • 3、從cygwin的bin目錄中把 cygcrypt-0.dll,cygpcre-0.dll,cygwin1.dll,cygz.dll拷貝到D:\server\nginx\sbin中
用cygwin編譯的nginx要獨立于cygwin運行的時候需要這幾個擴(kuò)展

到這里就安裝完成了,下面來配置。
php和MySQL什么裝這里就不說了,我用的php解壓在D:\server\php
如果沒有裝php和mysql,nginx這樣的安裝與配置照樣能跑靜態(tài)文件

  • 4、配置nginx+php+MySQL
我要打開一個cgi進(jìn)程來監(jiān)聽處理php腳本(在windows下開發(fā)打開一個cgi進(jìn)程已經(jīng)能解決問題了)
我要啟動nginx,MySQL,讓nginx把對腳本的請求轉(zhuǎn)發(fā)給php-cgi處理
我還要方便的關(guān)閉php-cgi、nginx和MySQL

打開在d:/server/nginx/conf/nginx.conf
這個配置文件里給我們創(chuàng)建了一個默認(rèn)的虛擬主機(jī)localhost,文檔根目錄在d:/server/nginx/html/
找到 index  index.html index.htm;
改成 index  index.html index.htm index.php;
添加了nginx支持默認(rèn)的php首頁
把內(nèi)容類似下面幾行配置的內(nèi)容前的注釋去掉并改成

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  D:/server/nginx/html$fastcgi_script_name;
    include        fastcgi_params;
}
  • 5/制作nginx啟動關(guān)閉腳本
在d:/server/nginx下創(chuàng)建start.bat和stop.bat
內(nèi)容分別為:
d:/server/nginx/start.bat
  1. @echo off
  2. echo php-cgi 正在啟動 ...
  3. start /b D:\server\php\php-cgi.exe -b 127.0.0.1:9000 -c d:\server\php\php.ini
  4. echo php-cgi 啟動完成 ...

  5. echo nginx 正在啟動 ...
  6. d:/server/nginx/sbin/nginx.exe
  7. echo nginx 啟動完成 ...

  8. net start mysql
  9. echo 啟動完成
復(fù)制代碼
d:/server/nginx/stop.bat
  1. @echo off
  2. echo php-cgi 正在關(guān)閉 ...
  3. tskill php-cgi
  4. echo php-cgi 關(guān)閉完成

  5. echo nginx 正在關(guān)閉 ...
  6. tskill nginx
  7. echo nginx 關(guān)閉完成

  8. net stop mysql
  9. echo 關(guān)閉MySQL完成
復(fù)制代碼
打開d:/server/nginx/start.bat和d:/server/nginx/stop.bat就可以分別啟動和關(guān)閉nginx+php+mysql(cgi)了

盡管是編譯安裝nginx,但是nginx代碼不是很多,編譯安裝完成所需時間比安裝Dreamweaver CS4要快多了
因為使用的是cygwin環(huán)境來把unix軟件編譯到window下運行,所以這里有個問題是:我們只能在D:/server/nginx內(nèi)創(chuàng)建虛擬主機(jī)目錄,在D:/server/nginx之外將無法讀取到里面的web文檔文件
把 configure改成
  1. ./configure --prefix=/cygdrive --http-fastcgi-temp-path=d/server/fastcgi_temp --http-proxy-temp-path=d/server/proxy_temp --http-client-body-temp-path=d/server/client_body_temp --http-log-path=d/server/logs/access.log --error-log-path=d/server/logs/error.log --pid-path=d/server/logs/nginx.pid --sbin-path=d/server/sbin/nginx --conf-path=d/server/conf/nginx.conf --with-cc-opt="-D FD_SETSIZE=2048"
復(fù)制代碼
可以讓nginx讀到nginx prefix以外的分區(qū),但分區(qū)名中不能帶: 并且只能用/,不能用\
比如把root設(shè)置到e:\web要寫成 root     e/web

下載我編譯和配置好的nginx0.7.24,編譯后的文件很小,里面占空間的是安裝流程文件
這篇帖子在這里更新

論壇徽章:
0
2 [報告]
發(fā)表于 2008-12-08 01:24 |只看該作者
以cgi形式運行,不能用于大型應(yīng)用吧?

論壇徽章:
0
3 [報告]
發(fā)表于 2008-12-19 14:03 |只看該作者
我下載了你的安裝文件,直接裝在了d盤的d:\server\nginx  可是無法讀取到其他盤里面的web文檔文件
按照你說的 root  e/web設(shè)置了還是找不到啊
我的系統(tǒng)是win2003服務(wù)器

論壇徽章:
0
4 [報告]
發(fā)表于 2008-12-20 15:10 |只看該作者
你看下nginx錯誤日志就明白了
在ngxin安裝目錄/logs下

論壇徽章:
0
5 [報告]
發(fā)表于 2009-02-25 14:25 |只看該作者
原帖由 jiedushi 于 2008-12-19 14:03 發(fā)表
我下載了你的安裝文件,直接裝在了d盤的d:\server\nginx  可是無法讀取到其他盤里面的web文檔文件
按照你說的 root  e/web設(shè)置了還是找不到啊
我的系統(tǒng)是win2003服務(wù)器

如果你要把目錄設(shè)置為 E:\webroot目錄的話
那你在nginx.conf配置文件中需要寫成       /cygdrive/e/webroot
前面必須加/cygdrive/ 才能表示是從盤符開始。

感覺nginx比apache好的地方就是 修改配置文件是實時生效不需要重啟服務(wù)。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP