说明(当前nginx安装目录:/usr/local/webserver/nginx/conf)
一.修改当前nginx.conf文件
[root@emans_slave ~]# cd /usr/local/webserver/nginx/conf
[root@emans_slave ~]# mkdir vhosts
[root@emans_slave conf]# touch vhosts/default.conf
[root@emans_slave conf]# vim nginx.conf
...
http {
...
server{... } 将此部分移到vhosts文件夹下的default.conf中配置
#加入此句
include /usr/local/webserver/nginx/conf/vhosts/*.conf;
}
二.修改default.conf中的负载均衡配置与图例
upstream emans_tomcats {
#此处配置服务器106与104的端口. 权重比为1:1, 即10次请求中,两台服务器各站5个请求
server 192.168.3.106:8080 weight=1;
server 192.168.3.104:8080 weight=1;
}
server
{
listen 80 ;#监听端口
server_name localhost;
root /tmp/jeesite-demo2; #静载资源所在位置
location / {
#以目录形式展示(便于调试)
#autoindex on;
#autoindex_exact_size off;
#autoindex_localtime on;
index index.html index.jsp index.php;
deny all; #拒绝错误的访问请求
}
#nginx拦截带有jeesite-demo2路径的请求
location /jeesite-demo2{
proxy_pass http://emans_tomcats/jeesite-demo2; #代理设置
proxy_redirect default;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 180;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_intercept_errors on;
client_max_body_size 1000m;
}
#WEB-INF下的资源不允许直接访问
location ~ ^/(WEB-INF)/ {
deny all;
}
location ~.*\.(html|jpg|jpeg|png|bmp|gif|ico|mp3|mid|wma|mp4|swf|flv|rar|zip|txt|doc|ppt|xls|pdf)$
{
root /tmp/;
expires 30d;
# access_log off; 关闭成功日志
}
location ~ .*\.(js|css)?$
{
root /tmp/;
expires 15d;
# access_log off;
}
access_log off;
}
下图为:
106服务器8080端口访问地址; 104服务器8080端口访问地址; nginx服务访问地址
填坑备注:
1. linux 中的SELINUX=enforcing 或者 SELINUX=disabled 不影响nginx负载均衡配置是否成功!
2.如果nginx.conf中的user为root,且使用root用户启动nginx.则静载资源的权限是否默认权限即可
3.[index index.html index.jsp index.php;] 此三向配置,就算注释掉,也不影响nginx负载均衡配置是否成功
如果报访问403报错误,直接从其他原因查找即可