Nginx最简单的反向代理负载均衡配置测试[服务器安全]
本文“Nginx最简单的反向代理负载均衡配置测试[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1. 前置阐明:我的 Nginx 版本是 0.7.63, 安装在 /usr/local/nginx 下,默许端口是 80 ,并重写了 Nginx 启动、关闭、重启和重载配置文件的脚本,放在 /usr/local/nginx/sbin/ 下,名为 nginxbak.sh .
Resin 利用的是 3.1.10 ,安装在 /usr/local/resin-3.1.10 ,端口设置为 8081 .
Tomcat 利用的是 6.0.29 ,安装在 /usr/local/apache-tomcat-6.0.29 下,端口设置为 8080 .
2.新建一个最简单的 web 工程,名叫 NginxTest
index.jsp 里的内容就是打印一句话,为辨别恳求拜候的是哪个后端服务器,语句里有辨别是利用哪个服务器的辨认词.
3. 将 NginxTest 工程上传到虚拟服务器上,并布置到呼应的后端服务器上去,它们的配置辨别以下:
Tomcat:
Resin:
改正 hosts 文件:
192.168.1.86 nginx.digu.com
辨别启动 tomcat(startup.sh) 和 resin(httpd.sh start) ,在浏览器中查看能否可拜候:
4. 将tomcat 、 resin 作为 nginx 的后端服务器,配置一个最简单的服务器集群以演示它负载均衡情形.
Nginx 的配置文件内容以下:
- user root root;
- worker_processes 1;
- error_log logs/error.log;
- #error_log logs/stdout.log notice;
- #error_log logs/stdout.log info;
- pid logs/nginx.pid;
- events {
- use epoll;
- worker_connections 1024;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- #tcp_nopush on;
- #keepalive_timeout 0;
- keepalive_timeout 65;
- gzip on;
- upstream nginx.digu.com {
- server 127.0.0.1:8081;#resin
- server 127.0.0.1:8080;#tomcat
- }
- server {
- listen 80;
- server_name nginx.digu.com;
- charset utf-8;
- location / {
- proxy_pass http://nginx.digu.com;# 必必要加 http 开首,拜候的就是此地址
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- log_format nginx.digu.com '$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 nginx.digu.com;
- }
- #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;
- }
- # proxy the PHP scripts to Apache listening on 127.0.0.1:80
- #
- #location ~ \.php$ {
- # proxy_pass http://127.0.0.1;
- #}
- # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
- #
- #location ~ \.php$ {
- # root html;
- # fastcgi_pass 127.0.0.1:9000;
- # fastcgi_index index.php;
- # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
- # include fastcgi_params;
- #}
- # deny access to .htaccess files, if Apache's document root
- # concurs with nginx's one
- #
- #location ~ /\.ht {
- # deny all;
- #}
- }
- } 配置好后, reload 一下 nginx 的配置文件,即 ./nginxbak.sh reload
启动 nginx 即 ./nginxbak start
翻开浏览器拜候:
再拜候一下:
可以看到辨别拜候了 resin 和 tomcat .
可以屏蔽 #server 127.0.0.1:8081;#resin 它,后重载 nginx.conf ,这时只能拜候 tocmat
一样也可以屏蔽 #server 127.0.0.1:8080;#tomcat ,后重载 nginx.conf ,这时只能拜候 resin
目前仍旧保持它们都不屏蔽,终止 tomcat 试下效果:
此时通过 tomcat 无法拜候,通过 nginx 去拜候:
此时你无论恳求多少次,都只有 resin 服务器举行呼应.以上是最简单的 nginx 负载均衡实行测试,还有更多的配置在今后再做测试.
本文地址: | 与您的QQ/BBS好友分享! |