1、tomcat集群
利用nginx對請求進行分流,將請求平均的分給不同的tomcat去處理,減少單個tomcat的負載量,提高tomcat的響應速度。
2、創建多個tomcat服務器(同一個服務器上)
① 先安裝配置好1個tomcat服務器
安裝tomcat: http://www.cnblogs.com/origalom/p/7643425.html
以普通用戶運行tomcat:http://www.cnblogs.com/origalom/p/7666897.html
② 將安裝好的tomcat復制一份
1 cd /usr/local/tomcat/ # 進入tomcat所在目錄 2 cp -r tomcat8080/ tomcat8081 # 復制一份新的tomcat 3 chown -R tomcat:tomcat tomcat8081/ # 修改tomcat目錄的所有者
③ 修改daemon.sh
如果在創建tomcat時,在daemon.sh中設置了CATALINA_HOME等變量,則新拷貝的tomcat需要將這些變量設置成新的地址。
④ 修改端口,讓新的tomcat可以正常運行
vim tomcat8081/conf/server.xml
修改tomcat內部的端口,使用一個未使用的端口號,一般可以往上加一:
第22行的8005端口: <Server port="8005" shutdown="SHUTDOWN">
第69行的8080端口:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
第116行的8009端口: <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
⑤ 修改tomcat項目的運行根目錄
修改server.xml,將148行的appBase中的webapps改成項目所在地址:
<Host name="localhost" appBase="/usr/local/tomcat/tomcat8080/webapps"
unpackWARs="true" autoDeploy="true">
⑥ 啟動tomcat,檢查是否啟動成功
sudo tomcat8081/bin/daemon.sh start
3、配置nginx負載均衡
配置nginx.conf配置文件。
1 user nginx; 2 worker_processes 1; 3 4 error_log logs/error.log; 5 error_log logs/error.log notice; 6 error_log logs/error.log info; 7 8 pid logs/nginx.pid; 9 10 11 events { 12 worker_connections 1024; 13 } 14 15 16 http { 17 include mime.types; 18 default_type application/octet-stream; 19 20 #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 21 # '$status $body_bytes_sent "$http_referer" ' 22 # '"$http_user_agent" "$http_x_forwarded_for"'; 23 24 #access_log logs/access.log main; 25 26 server_names_hash_bucket_size 256; 27 fastcgi_connect_timeout 300; 28 fastcgi_send_timeout 300; 29 fastcgi_read_timeout 300; 30 fastcgi_buffer_size 64k; 31 fastcgi_buffers 8 128k; 32 fastcgi_busy_buffers_size 256k; 33 fastcgi_temp_file_write_size 256k; 34 server_tokens off; 35 send_timeout 60; 36 sendfile on; 37 tcp_nopush on; 38 tcp_nodelay on; 39 keepalive_timeout 65; 40 client_header_timeout 3m; 41 client_body_timeout 3m; 42 client_max_body_size 2000m; 43 gzip on; 44 45 # tomcat集群 46 # 47 upstream tomcat { 48 server 127.0.0.1:8080; 49 server 127.0.0.1:8081; 50 } 51 52 53 # HTTPS服務器 54 # 55 server { 56 listen 80; 57 listen 443 ssl; 58 server_name www.origal.cn; 59 60 ssl_certificate /usr/local/nginx/conf/ssl/214324938610703.pem; 61 ssl_certificate_key /usr/local/nginx/conf/ssl/214324938610703.key; 62 ssl_session_cache shared:SSL:1m; 63 ssl_session_timeout 5m; 64 ssl_ciphers HIGH:!aNULL:!MD5; 65 ssl_prefer_server_ciphers on; 66 67 location / { 68 index index.jsp; 69 70 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 71 proxy_set_header Host $http_host; 72 proxy_set_header X-Forwarded-Proto https; 73 proxy_redirect off; 74 client_max_body_size 500m; 75 client_body_buffer_size 3m; 76 proxy_connect_timeout 90; 77 proxy_read_timeout 90; 78 proxy_buffer_size 4k; 79 proxy_buffers 6 32k; 80 proxy_busy_buffers_size 64k; 81 proxy_temp_file_write_size 64k; 82 83 if (!-e $request_filename) { 84 proxy_pass http://tomcat; 85 } 86 } 87 88 # 靜態資源直接訪問 89 location ~ \.(js|css|png|gif|jpg|jpeg|mp4|mp3|mpg|3gp|txt)$ { 90 root /usr/local/java/tomcat8080/webapps/; 91 if (!-e $request_filename) { 92 proxy_pass http://tomcat; 93 } 94 } 95 } 96 }