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;
}
}