1.前期准备工作
1.1 安装
1.2 copy两份tomcat
1[root@localhost tomcat]# mkdir /usr/local/tomcat/tomcat9001 2[root@localhost tomcat]# mkdir /usr/local/tomcat/tomcat9002 3[root@localhost tomcat]# cp -Rf /usr/local/tomcat/apache-tomcat-8.0.49/* /usr/local/tomcat/tomcat9002 4[root@localhost tomcat]# cp -Rf /usr/local/tomcat/apache-tomcat-8.0.49/* /usr/local/tomcat/tomcat9001
2.修改tomcat端口
1[root@localhost tomcat]# vi tomcat9001/conf/server.xml 2 3<Server port="18005" shutdown="SHUTDOWN"> 4//9001tomcat端口号修改为9001 5<Connector port="9001" protocol="HTTP/1.1" 6 connectionTimeout="20000" 7 redirectPort="8443" /> 8//ajp连接器端口修改 9<Connector port="18009" protocol="AJP/1.3" redirectPort="8443" /> 10--------------------------------------------------------------------------------------------------- 11[root@localhost tomcat]# vi tomcat9002/conf/server.xml 12 13<Server port="28005" shutdown="SHUTDOWN"> 14//9001tomcat端口号修改为9002 15<Connector port="9002" protocol="HTTP/1.1" 16 connectionTimeout="20000" 17 redirectPort="8443" /> 18//ajp连接器端口修改 19<Connector port="28009" protocol="AJP/1.3" redirectPort="8443" />
2.2 测试两个tomcat是否能够启动成功

可以看到两个tomcat都启动成功了。
2.3 测试页面
接下来写两个测试页面用于区分。
1index.html 2 3 4页面1 5<!DOCTYPE html> 6<html lang="en"> 7 <head> 8 <meta charset="UTF-8" /> 9 <title>我是tomcat9001</title> 10 </head> 11 12 <body> 13 <p5>我是tomcat9001</p5> 14 </body> 15 16</html> 17页面2 18<!DOCTYPE html> 19<html lang="en"> 20 <head> 21 <meta charset="UTF-8" /> 22 <title>我是tomcat9002</title> 23 </head> 24 25 <body> 26 <p5>我是tomcat9002</p5> 27 </body> 28 29</html> 30
3.配置nginx
接下来配置nginx负载均衡,找到nginx配置文件。在配置文件中http{}里加入集群配置:
1#服务器的集群 2upstream 192.168.2.160 { #服务器集群名字 3 server 192.168.2.160:9001 weight=1; 4 server 192.168.2.160:9002 weight=2; 5}
服务器配置 weight是权重的意思,权重越大,分配的概率越高。
在server{}里加入:
1location / { 2 proxy_pass http://192.168.2.160; #要与集群名相同 3 proxy_redirect default; 4}
完整配置:
1user www www; 2worker_processes 2; #设置值和CPU核心数一致 3error_log /usr/local/nginx/logs/nginx_error.log crit; #日志位置和日志级别 4pid /usr/local/nginx/nginx.pid; 5#Specifies the value for maximum file descriptors that can be opened by this process. 6worker_rlimit_nofile 65535; 7events 8{ 9 use epoll; 10 worker_connections 65535; 11} 12http 13{ 14 include mime.types; 15 default_type application/octet-stream; 16 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 17 '$status $body_bytes_sent "$http_referer" ' 18 '"$http_user_agent" $http_x_forwarded_for'; 19 20#charset gb2312; 21 22 server_names_hash_bucket_size 128; 23 client_header_buffer_size 32k; 24 large_client_header_buffers 4 32k; 25 client_max_body_size 8m; 26 27 sendfile on; 28 tcp_nopush on; 29 keepalive_timeout 60; 30 tcp_nodelay on; 31 fastcgi_connect_timeout 300; 32 fastcgi_send_timeout 300; 33 fastcgi_read_timeout 300; 34 fastcgi_buffer_size 64k; 35 fastcgi_buffers 4 64k; 36 fastcgi_busy_buffers_size 128k; 37 fastcgi_temp_file_write_size 128k; 38 gzip on; 39 gzip_min_length 1k; 40 gzip_buffers 4 16k; 41 gzip_http_version 1.0; 42 gzip_comp_level 2; 43 gzip_types text/plain application/x-javascript text/css application/xml; 44 gzip_vary on; 45 46 #limit_zone crawler $binary_remote_addr 10m; 47 #服务器的集群 48 upstream 192.168.2.160 { #服务器集群名字 49 server 192.168.2.160:9001 weight=1; 50 server 192.168.2.160:9002 weight=2; 51 } 52 #下面是server虚拟主机的配置 53 server 54 { 55 listen 80;#监听端口 56 server_name localhost;#域名 57 58location / { 59 proxy_pass http://192.168.2.160; #与集群名相同 60 proxy_redirect default; 61 } 62 63 index index.html index.htm index.php; 64 root /usr/local/nginx/html;#站点目录 65 location ~ .*\.(php|php5)?$ 66 { 67 #fastcgi_pass unix:/tmp/php-cgi.sock; 68 fastcgi_pass 127.0.0.1:9000; 69 fastcgi_index index.php; 70 include fastcgi.conf; 71 } 72 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ 73 { 74 expires 30d; 75 # access_log off; 76 } 77 location ~ .*\.(js|css)?$ 78 { 79 expires 15d; 80 # access_log off; 81 } 82 access_log off; 83 } 84 85}
配置完毕,开始测试。
3.1 测试,启动nginx
[root@localhost conf]# /usr/local/nginx/sbin/nginx
启动完毕可以访问一下index页面,多刷新几次就会发现,权重比相对较高的节点,被访问的概率会更高。


到此完毕。