linux伺服器叢集部署:之nginx配置
阿新 • • 發佈:2019-02-18
如果要配置幾臺linux叢集~
肯定要配置一下負載均衡~~
這裡我是用nginx做負載~~
其實還有其他一類的東西~~貌似很多公司採用nginx
反正我用這個~
我貌似記得好像在某本書上寫的nginx的併發在5w左右~~
首先配置了一臺接入伺服器~~
整個伺服器叢集都採用的linux
但是為了安全只做了一臺擁有外網環境的電腦
作為接入伺服器我就把nginx裝到上面了
nginx簡單的一些配置
首先是nginx配置的頭部(這部分基本可以省略~~)
//執行使用者為nginx,你也可以寫root
user nginx;
//設定為“auto”自動檢測它,通常設定為系統核心數量
worker_processes auto;
//錯誤日誌位置
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
其他配置
worker_connections設定可由一個worker程序同時開啟的最大連線數。
events {
worker_connections 2048;
multi_accept on;
use epoll;
}
配置你的負載均衡列表
weigth表示權重,權重越大分配比例越大
upstream www.me.com {
server 192.168.1.3:8080 weight=1;
server 192.168.2.3:8080 weight=1;
server 192.168.3.3:8080 weight=2;
}
http其他配置
#server_tokens 並不會讓nginx執行的速度更快,但它可以關閉在錯誤頁面中的nginx版本數字,這樣對於安全性是有好處的。
#sendfile 指令指定 nginx 是否呼叫 sendfile 函式(zero copy 方式)來輸出檔案,對於普通應用,
#必須設為 on,如果用來進行下載等應用磁碟IO重負載應用,可設定為 off,以平衡磁碟與網路I/O處理速度,降低系統的uptime.
sendfile on ;
#tcp_nopush on;
#連線超時時間
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
#開啟gzip壓縮
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";//相容IE6
#設定請求緩衝
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
重點設定如下
設定監聽埠和訪問的方式
server {
listen 80;
server_name www.me.com;
設定訪問的負載均衡處理
location / {
root html;
index index.html index.htm;
proxy_pass http://www.me.com;//這是個列表
還可以配置一下靜態檔案的處理,就可以不用tomcat處理靜態檔案了,這個地方是可以用正則表示式的~~
location ^~ /resources/ {//靜態檔案請求目錄
root /data/mm/;//靜態檔案存放目錄
expires 30d;//過期時間
}
如果是如上配置的話,如果你想在你程式碼層面上要拿到使用者訪問的ip地址是拿不到的~~~~基本上都是本地迴環地址
一些其他配置~~
#後端的Web伺服器可以通過X-Forwarded-For獲取使用者真實IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; #允許客戶端請求的最大單檔案位元組數
client_body_buffer_size 128k; #緩衝區代理緩衝使用者端請求的最大位元組數,
proxy_connect_timeout 90; #nginx跟後端伺服器連線超時時間(代理連線超時)
proxy_send_timeout 90; #後端伺服器資料回傳時間(代理髮送超時)
proxy_read_timeout 90; #連線成功後,後端伺服器響應時間(代理接收超時)
proxy_buffer_size 4k; #設定代理伺服器(nginx)儲存使用者頭資訊的緩衝區大小
proxy_buffers 4 32k; #proxy_buffers緩衝區,網頁平均在32k以下的話,這樣設定
proxy_busy_buffers_size 64k; #高負荷下緩衝大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #設定快取資料夾大小,大於這個值,將從upstream伺服器傳
然後執行
nginx -s reload
大功告成