1. 靜態資源服務器配置:
? server {
? ? ?client_max_body_size 4G;
? ? ?listen? 80;? ## listen for ipv4; this line is default and implied
? ? ?server_name localhost;
? ? ?root repo;
? ? ?location / {
? ? ? ? ? ? ##auth_basic? "Restricted";
? ? ? ? ? ? ##auth_basic_user_file pass_file;
? ? ? ? ? ? autoindex on;
? ? ? ? ? ? autoindex_exact_size on;
? ? ? ? ? ? autoindex_localtime on;
? ?}
}
2.負載均衡基本配置:
upstream hello{
#ip_hash; # 根據客戶端IP地址Hash值將請求分配給固定的一個服務器處理,設置這個就不要weight了
server localhost:8080 weight=1;
server localhost:8080 weight=1;
#server 192.168.0.20:80 weight=5 max_fails=2 fail_timeout=600s; 失敗兩次 接下來的600s內不會接收請求
#server 192.168.0.21:80 weight=5 max_fails=2 fail_timeout=600s;
}
server {
#偵聽的80端口
listen? ? ? 80;
server_name? localhost;
#設定查看Nginx狀態的地址
location /nginxstatus{
stub_status on;
access_log on;
auth_basic "nginxstatus";
auth_basic_user_file htpasswd;
}
location / {
proxy_pass? http://hello;? ? #在這里設置一個代理,和upstream的名字一樣
#以下是一些反向代理的配置可刪除
proxy_redirect? ? ? ? ? ? off;
#后端的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? ? ? 300; #nginx跟后端服務器連接超時時間(代理連接超時)
proxy_send_timeout? ? ? ? 300; #后端服務器數據回傳時間(代理發送超時)
proxy_read_timeout? ? ? ? 300; #連接成功后,后端服務器響應時間(代理接收超時)
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服務器傳
}
3.虛擬主機:
server {
listen 80 default_server;
server_name _;
return 444;
}
server{
listen 80;
server_name www.aaa.com;#測試的時候改下host,指向127.0.0.1
location / {
proxy_pass http://localhost:8080;
}
}
server{
listen 80;
server_name www.bbb.com;#測試的時候改下host,指向127.0.0.1
location /{
proxy_pass http://localhost:8080;
}
}