超细腻的nginx负载均衡设置全程奉献
现在我们来学习一下,nginx的负载均衡设置,同样,也是借由tomacat来实现。在这里我们用的是NFS服务器,要保证这些数据程序是同步的之后才能进行后面的操作。那么更具体的过程还是从下文中了解吧。
前端一台nginx服务器做调度.后端两台tomcatWEB服务器.这里动态页与静态页都由tomcat来处理.
软件:
nginx-0.7.
pcre-7.
apache-tomcat-6.0.
jdk-6u14-linux-i586-rpm.bin
架构说明
三台服务器:一台调度也就是nginx服务器,它还是NFS服务器,我们把2tomcatwebapps目录挂载到NFS服务器上,这样数据程序是同步的了
配置步骤:
web服务器的配置
首先安装两台tomcat,两台安装都一样
1.安装JDK
 
1. # pwd 
2. /usr/local 
3. # chmod a+x jdk-6u14-linux-i586-rpm.bin 
4. # ./jdk-6u14-linux-i586-rpm.bin 
5. # ln -s /usr/java/jdk1.6.0_14 /usr/local/java 
设置环境变量
# vi profile
末尾增加如下内容
 
1. JAVA_HOME=/usr/java/jdk1.6.0_14 
2. CLASSPATH=/usr/java/jdk1.6.0_14/lib/dt.jar:/usr/java/jdk1.6.0_14/lib/tools.jar 
3. PATH=/usr/java/jdk1.6.0_14/bin:$PATH 
4. export PATH JAVA_HOME CLASSPATH 
2.安装tomcat
 
1. # cp apache-tomcat-6.0. /usr/local/ 
2. # cd /usr/local/ 
3. # tar xzvf apache-tomcat-6.0. 
4. # ln -s apache-tomcat-6.0.20 tomcat 
5. # vi /usr/local/tomcat/bin/catalina.sh 
加入一行:
 
1. JAVA_HOME=/usr/java/jdk1.6.0_14 
2. # /usr/local/tomcat/bin/startup.sh 
启动服务后访问本地的8080端口可以看到对应apache tomcat页面了
Tomcat加到自启动:
# vi /etc/rc.d/rc.local
在里面加入如下代码:
 
1. export JDK_HOME=/usr/java/jdk1.6.0_14 
2. export JAVA_HOME=/usr/java/jdk1.6.0_14 
3. /usr/local/tomcat/bin/startup.sh 

至此tomcat已安装成功了
优化: tomcat 比如防止内存溢出; TCP/IP  比如time_waitclosed_wait等等
安装 nginxnfs 注意它们是一台服务器上
1.安装 nginx
在安装之前首先要安装pcre-7.
 
1. # tar zxvf pcre-7. 
2. # cd pcre-7.9 
3. # ./configure 
4. # make && make install 

安装nginx
 
1. # tar zxvf nginx-0.7. 
2. # cd nginx-0.7.61 
3. # ./configure --with-http_stub_status_module --prefix=/usr/local/nginx 
4. # make && make install 
修改nginx的配置文件
我这里是把原先的重命名然后新建了一个f
 
1. #vi&f 
2. user nobody nobody; 
3. worker_processes   8; 
4. pid   /usr/local/nginx/logs/nginx.pid; 
5. worker_rlimit_nofile 51200; 
6. events 
7.
8. use epoll; 
9. worker_connections 51200; 
10.
11. http{ 
12. pes; 
13. default_type   application/octet-stream; 
14. server_names_hash_bucket_size 128; 
15. client_header_buffer_size 32k; 
16. large_client_header_buffers 4 32k; 
17. client_max_body_size 8m; 
18.  
19. sendfile on; 
20. tcp_nopush on; 
21. keepalive_timeout 60; 
22. tcp_nodelay on; 
23. fastcgi_connect_timeout 300; 
24. fastcgi_send_timeout 300; 
25. fastcgi_read_timeout 300; 
26. fastcgi_buffer_size 64k; 
27. fastcgi_buffers 4 64k; 
28. fastcgi_busy_buffers_size 128k; 
29. fastcgi_temp_file_write_size 128k; 
30. gzip on; 
31. gzip_min_length   1k; 
32. gzip_buffers 4 16k; 
33. gzip_http_version 1.0; 
34. gzip_comp_level 2; 
35. gzip_typestext/plain application/x-javascript text/css application/xml; 
36. gzip_vary on; 
37. #设定负载均衡列表   
38. upstream   backend 
39. {   
40. server 192.168.100.89:8080; 
41. server 192.168.100.90:8080; 
42.
43. #设定虚拟主机 
44. server { 
45. listen 80; 
46. server_name  www.syitren; 
47. # / 所有做负载均衡 (本机nginx采用完全转发,所有请求都转发到后端的tomcat
48. location / {   
49. root /var/www ; 
50. index index.jsp index.htm index.html; 
51. proxy_redirect off; 
52. #保留用户真实信息 
53. proxy_set_header Host $host; 
54. proxy_set_header   X-Real-IP   $remote_addr; 
55. proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for; 
56. proxy_pass  backend; 
57.
58.  
59. #location /nginx {   
60. #access_log   on; 
61. #auth_basic   "NginxStatus"; 
62. #auth_basic_user_file   /usr/local/nginx/htpasswd; 
63. #} 
64. log_format   access   '$remote_addr - $remote_user [$time_local] "$request" ' 
65. '$status $body_bytes_sent "$http_referer" ' 
66. '"$http_user_agent" $http_x_forwarded_for'; 
67. access_log   /var/log/access.log   access; 
68.
nginx 配置文件69.
检查nginx的配置文件
# /usr/local/webserver/nginx/sbin/nginx -t
启动nginx
# /usr/local/webserver/nginx/sbin/nginx
重启nginx
# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
(1)查看负载均衡信息
location /nginx {   
stub_status on; 
access_log  on; 
auth_basic  "NginxStatus"; 
auth_basic_user_file  /usr/local/nginx/htpasswd; 
其中/usr/local/nginx/htpasswd可以用apache自带的功能生成
最后在IE里访问:
www.syitren/nginx, 然后输入用户名密码就进入了
进入之后的说明
输入地址 www.syitren/nginx/,输入验证帐号密码,即可看到类似如下内容:
Active connections: 328 
server accepts handled requests 
9309 8982  28890 
Reading: 1 Writing: 3 Waiting: 324 
第一行表示目前活跃的连接数
第三行的第三个数字表示Nginx运行到当前时间接受到的总请求数,如果快达到了上限,就需要加大上限值了
第四行是Nginx的队列状态
(2)负载均衡
upstream  backend 
{   
server 192.168.100.89:8080; 
server 192.168.100.90:8080; 
}
配置NFS
需要安装rpmportmapnfs
1. # vi /etc/export 
2. /var/www   192.168.100.89(rw,sync,no_root_squash),192.168.100.90(rw,sync,no_root_squash) 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。