nginx的應用(window環境下)

  • nginx(背景)

    nginx是一個高性能的HTTP服務器,之前我常常在linux系統中配置,主要作反向代理和負載均衡,最近根據業務須要,須要在window中配置反向和負載,下面就介紹一下nginx的安裝與使用php

           

          下載解壓:html

            

 

 

           進入nginx文件夾,雙擊nginx.exe便可簡單啓動【命令在最後會貼出來】linux

           雙擊後黑窗口閃退,能夠在任務管理器中查看nginx進程nginx

            

 

           而後在瀏覽器輸入localhostgit

          

      nginx的簡單啓動已經測試經過瀏覽器

      注意:根據不一樣的系統可能會出現80端口被佔用的狀況,eg,在win10下,80端口可能被IIS程序佔用,只須要改nginx的默認端口就好了緩存


 

  • nginx的反向代理

    反向代理:是指以代理服務器來接受Internet上的鏈接請求,而後將請求轉發給內部網絡上的服務器;並將從服務器上獲得的結果返回給Internet上請求鏈接的客戶端,此時代理服務器對外就表現爲一個服務器。tomcat

    正向代理:只用於代理內部網絡對Internet的鏈接請求,客戶機必須指定代理服務器,並將原本要直接發送到Web服務器上的http請求發送到代理服務器中安全

    圖解反向代理和正向代理[補充]服務器

      正向代理相似一個跳板機,經過跳板機去訪問外部資源

      

      正向代理的用處:

        (1)訪問原來沒法訪問的資源,如google

             (2) 能夠作緩存,加速訪問資源

                  (3)對客戶端訪問受權,上網進行認證

                  (4)代理能夠記錄用戶訪問記錄(上網行爲管理),對外隱藏用戶信息

    反向代理:

      

      反向代理的好處:

          保證內網的安全,負載均衡


 

  • nginx的反向代理配置

    上面已經簡單介紹反向代理與正向代理的區別,這樣有助於你們理解反向代理的好處,下面就具體介紹一下nginx反向代理的配置

      在介紹反向代理以前先給你們說一下動靜分離的問題:

      動靜分離的處理也是nginx的一個特色,把靜態文件交給nginx來處理,能夠增長系統的性能,把大批量的靜態文件以nginx的方式去加載,而後去訪問,不用在系統請求中得到,減小與系統交互次數,這也是系統優化的一種方式:

      配置文件以下:nginx.conf

        

 

     而後重啓nginx    nginx  -s  reload便可     驗證以下

      

       上面這是配置動靜分離的步驟,這也是反向代理的一種特殊狀況,下面我來配置一下關於tomcat的反向代理

      反向代理的配置文件以下:

        

    驗證以下:

      

 

      到這,單個server下的配置反向代理已經基本完成,多個server塊下的配置與此相似,在此不在多放截圖,有興趣的能夠本身手動配置一下進行驗證


  • nginx的負載均衡

    nginx的負載均衡是nginx的一個亮點,也是核心點,nginx的高併發,服務器的合理請求劃分都是經過負載來直接或者間接實現的,下面我介紹集中負載均衡的實現以及適用場景

    負載均衡:把原先一臺服務器的請求分發到不一樣服務器,以實現服務器減壓的目的。(我的理解)

          負載均衡創建在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增長吞吐量、增強網絡數據處理能力、提升網絡的靈活性和可用性(百度)

    負載均衡的分類:軟件負載均衡和硬件負載均衡     軟件主要包括(nginx,lvs,netscaler)    硬件主要包括F5

    下面我簡單配置一下負載均衡的實現:須要至少兩臺tomcat服務器進行模擬。

      

      關於負載均衡的幾種方式參考   http://www.cnblogs.com/huhongy/p/7300118.html

      


 

      關於nginx的命令,主要有

       有dos命令進如nginx的文件夾下

       start nginx    啓動nginx   在任務管理器中查看

       nginx -s reload    從新加載配置文件使其生效

       nginx -s stop   關閉    任務管理器中kill

       nginx -s quit   關閉    任務管理器中kill

       其餘命令本身百度

 


 

補充:

nginx一些常見問題:    root和alias的對比區別:

   location /h2 {
            alias     d:/newfiber/;
            index    index.php index.html index.htm;
            autoindex on;
        }
            
    location /maven {
            root     d:/newfiber;
            index    index.php index.html index.htm;
            autoindex on;
        }
   注意:1>alias  路徑後面必須有 /   root 可加可不加
            2> alias 訪問的就是alias的指定文件(夾)路徑
                root訪問的是組合路徑   路徑+ uri    
               eg:
                alias  :   d:/newfiber/;
                root   :  d:/newfiber/maven

2 proxy_pass配置說明 主要看proxy_pass http://localhost:8888 | http://localhost:8888/ 最後是否有 /

   # 不帶 /     location  /gitbucket
   # proxy_pass http://localhost:8888; ---------> location 的 /gitbucket 做爲一級目錄

   # 帶 /       localtion /gitbucket
   # proxy_pass http://localhost:8888/; --------->location 的 /gitbucket 不做爲一級目錄

   location /gitbucket {     proxy_pass http://localhost:8888/gitbucket/;     proxy_set_header Host $host;     proxy_set_header X-Forwarded-For $remote_addr;    }

相關文章
相關標籤/搜索