nginx 在window在的安裝部署

Nginx安裝配置

Nginx 安裝

1. 解壓nginx安裝包

2. 關閉防火牆、殺毒軟件,檢查服務器上的ip是否是固定的(ip不設置固定會變的話會出錯的)

3. 因爲nginx軟件默認的安裝端口是80所以在安裝nginx之前首先檢查當前系統是否已經有別的軟件佔用該軟件如果別的服務已經佔用80端口的話;解決方法有兩種如下:

1.關閉佔用80端口的進程

2.修改nginx配置文件,修改文件/nginx/conf/nginx.conf中的端口如下圖:

4. 進入過nginx文件夾中點擊nginx.exe安裝文件

查看nginx是否安裝成功可以查看nginx/logs下的error日誌;如果安裝正確的情況下error是沒有錯誤提示的,如果安裝不成功可以到error下查找相關錯誤信息。

 

Nginx配置

安裝好nginx以後要做的就是配置nginx配置文件已達到負載均衡的目的。

修改nginx/conf/nginx.conf文件

主要修改地方有:

1、http{}中添加upstream模塊(添加web服務器地址用來達到負載均衡目的)

Server 後面要加的就是web程序的ip地址

upstream resinserver{

ip_hash;//輪詢策略分類主要有輪詢、ip_hash 

server 192.168.159.10:8080(部署web應用呈程序的ip服務器);

server192.168.159.11:8080(部署web應用呈程序的ip服務器);

}

 

2、修改server{}

server {

listen 8080; //改成服務器實際端口號

location / {

proxy_pass http://resinserver; //proxy_pass代理地址就是upstream名稱配置的地址

}

3、nginx自帶是沒有針對負載均衡後端節點的健康檢查的,但是可以通過默認自帶ngx_http_proxy_module 模塊和 ngx_http_upstream_module 模塊中的相關指令來完成當後端節點出現故障時,自動切換到下一個節點來提供訪問。

通過設置fail_max_fails定義的時間段內連接該主機的失敗次數,以此來斷定 fail_timeout 定義的時間段內該主機是否可用

配置如下圖:

//下面是完整配置:

#user nobody;

worker_processes  1;

 

#pid       logs/nginx.pid;

 

events {

   worker_connections  1024;

}

 

http {

   include       mime.types;

   default_type application/octet-stream;

 

   #log_format  main  '$remote_addr - $remote_user [$time_local]"$request" '

   #                  '$status$body_bytes_sent "$http_referer" '

   #                 '"$http_user_agent" "$http_x_forwarded_for"';

 

   #access_log  logs/access.log  main;

 

   sendfile        on;

   #tcp_nopush     on;

 

   #keepalive_timeout  0;

    keepalive_timeout  65;

 

   #gzip  on;

         upstreamsite {

         ip_hash; 

         #server192.168.1.106:10002 ;

         #server115.29.54.31:10002 max_fails=3 fail_timeout=10s;

         server192.168.1.117:9203 max_fails=3 fail_timeout=10s;

         server192.168.1.102:8010 max_fails=3 fail_timeout=10s;

         }

   server {

       listen       18000;

       server_name   192.168.1.102;

       #charset koi8-r;

       #access_log logs/host.access.log  main;

 

       location / {

           root   html;

           index  index.html index.htm;

                            proxy_passhttp://site;

       }

       #error_page  404              /404.html;

 

       # redirect server error pages to the static page /50x.html

       #

       error_page   500 502 503 504  /50x.html;

       location = /50x.html {

           root   html;

       }

       

    }

 

}

 

 

 

 

注意點:

服務器每次重啓後都要重啓nginx服務,重啓的步驟是:

1.      進入/nginx文件夾下,即可看到nginx.bat運行程序;點擊啓動

2.      啓動以後可以看到提示界面

輸入1表示啓動、2表示關閉、3表示重啓、4表示退出

重啓的話輸入1在按enter健表示已經重啓

 

 

拓展:

Nginx是如何實現負載均衡的,Nginx的upstream目前支持以下幾種方式的分配

1、輪詢(默認)

每個請求按時間順序逐一分配到不同的後端服務器,如果後端服務器down掉,能自動剔除。

2、weight

指定輪詢機率,weight和訪問比率成正比,用於後端服務器性能不均的情況。

2、ip_hash

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端服務器,可以解決session的問題。

3、fair(第三方)

按後端服務器的響應時間來分配請求,響應時間短的優先分配。

4、url_hash(第三方)

按訪問url的hash結果來分配請求,使每個url定向到同一個後端服務器,後端服務器爲緩存時比較有效。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章