1. 程式人生 > >windows下的nginx安裝和配置及與tomcat關聯配置記錄

windows下的nginx安裝和配置及與tomcat關聯配置記錄

  

1. 官方中文說明:http://wiki.nginx.org/NginxChs  或者http://nginx.org/
下載:當前穩定版: Nginx 1.0.5 | Nginx/windows 1.0.5 (更新記錄) (2011年7月19日)
我們下載windlow版本1.0.5,官方的中文安裝說明已經是非常好了
國內專題:http://developer.51cto.com/art/201004/194472.htm

2. 解壓縮目錄為:D:\nginx-1.0.5,開啟cmd命令列,直接打d:跳到D盤,繼續cd nginx-1.0.5,然後執行start nginx
如果開啟工作管理員發現還沒啟動,這時要修改下配置檔案D:\nginx-1.0.5\conf\nginx.conf
你會發現預設的埠是80,而我本機已經安裝了IIS,所以埠衝突,因此我將ngix預設埠修改為8999
好了,重新執行start nginx,然後發現工作管理員多了nginx.exe的執行緒。
訪問

http://localhost:8999/,出現頁面資訊:Welcome to nginx! 即表示安裝成功
下面是一些常用的使用命令:
 Nginx -s stop         快速關閉Nginx,可能不儲存相關資訊,並迅速終止web服務。
 Nginx -s quit         平穩關閉Nginx,儲存相關資訊,有安排的結束web服務。
 Nginx -s reload       因改變了Nginx相關配置,需要重新載入配置而過載。
 Nginx -s reopen       重新開啟日誌檔案。

 Nginx -v       檢視版本
 Nginx -V       檢視nginx的版本,編譯器版本和配置引數

當然,看說明,windows也有一些啟動nginx的批處理檔案


我們順便也進行下nginx+tomcat的配置聯絡
1.
下載http://tomcat.apache.org/download-70.cgi,我們下載了zip解壓縮版(非安裝版)apache-tomcat-7.0.19
解壓縮到D:\apache-tomcat-7.0.19,首先為避免埠衝突,我們將tomcat預設埠改為8099()D:\apache-tomcat-7.0.19\conf\server.xml

2. 在D:\apache-tomcat-7.0.19\bin下雙擊startup.bat檔案啟動tomcat(首先你已經在環境變數配置好java環境,即JAVA_HOME、CATALINA_HOME等)
訪問http://localhost:8099/,正常顯示tomcat資訊,表示已經完成。(注意負載均衡的時候會有點不同的設定)

3. 配置tomcat,需要修改一下tomcat的預設ROOT目錄,使其指向nginx的目錄。
開啟tomcat/conf/server.xml檔案,在<Host>中加入以下內容:
    <Context path="" docBase="F:\service\nginx-0.8.54\html\" reloadable="true"></Context>
    這個主機中,開啟的站點為 "F:\service\nginx-0.8.54\html\" 下的目錄
    可參考:http://hi.baidu.com/wusky/blog/item/2e658a82abe08189f703a609.html
這當中發生過一個無法啟動的錯誤,原來server.xml中新增中文註釋是不行的,會引起下面錯誤提示
警告: Catalina.start using conf/server.xml:
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
4. 配置nginx,開啟nginx/conf/nginx.conf檔案,這個檔案是nginx伺服器的核心配置檔案。
要注意nginx的服務埠不能與tomcat的服務埠衝突

修改3個地方

(1)匯入1個新建的配置屬性檔案,直接在http{}裡面新增一行   
 #1For Tomcat
    include  proxy.conf;  #這個檔案是我們新建的,要匯入
(2)開通tcp通道
    #2For Tomcat
    tcp_nopush     on;       
   
(3)在server{}裡面新增與tomcat關聯的程式碼:
    #For3 Tomcat
 location ~ .*.jsp$ {  #匹配以jsp結尾的,tomcat的網頁檔案是以jsp結尾        
     index   index.jsp;
        proxy_pass      http://localhost:8099; #主要在這裡,設定一個代理
    }
 #For Tomcat
    location /nginxstatus {
            stub_status on;
            access_log on;
            auth_basic "nginxstatus";
            auth_basic_user_file htpasswd;
    }
   
訪問http://localhost:8999/index.jsp,解釋正常,代理完成