超细腻的nginx负载均衡设置全程奉献
现在我们来学习一下,nginx的负载均衡设置,同样,也是借由tomacat来实现。在这里我们用的是NFS服务器,要保证这些数据程序是同步的之后才能进行后面的操作。那么更具体的过程还是从下文中了解吧。
前端一台nginx服务器做调度.后端两台tomcat做WEB服务器.这里动态页与静态页都由tomcat来处理.
软件:
nginx-0.7.
pcre-7.
apache-tomcat-6.0.
jdk-6u14-linux-i586-rpm.bin
架构说明
三台服务器:一台调度也就是nginx服务器,它还是NFS服务器,我们把2个tomcat的webapps目录挂载到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
末尾增加如下内容
# 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
在里面加入如下代码:
把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_wait与closed_wait等等
二、 安装 nginx、nfs 注意它们是一台服务器上
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
需要安装rpm包portmap、nfs,
需要安装rpm包portmap、nfs,
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小时内删除。
发表评论