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复制一份

 cd /usr/local/tomcat/                                     # 进入tomcat所在目录
cp -r tomcat8080/ tomcat8081 # 复制一份新的tomcat
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配置文件。

 user  nginx;
worker_processes 1; error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info; pid logs/nginx.pid; events {
worker_connections 1024;
} http {
include mime.types;
default_type application/octet-stream; #log_format main '$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 main; server_names_hash_bucket_size 256;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 8 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
server_tokens off;
send_timeout 60;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
client_header_timeout 3m;
client_body_timeout 3m;
client_max_body_size 2000m;
gzip on; # tomcat集群
#
upstream tomcat {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
} # HTTPS服务器
#
server {
listen 80;
listen 443 ssl;
server_name www.origal.cn; ssl_certificate /usr/local/nginx/conf/ssl/214324938610703.pem;
ssl_certificate_key /usr/local/nginx/conf/ssl/214324938610703.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; location / {
index index.jsp; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto https;
proxy_redirect off;
client_max_body_size 500m;
client_body_buffer_size 3m;
proxy_connect_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 6 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k; if (!-e $request_filename) {
proxy_pass http://tomcat;
}
} # 静态资源直接访问
location ~ \.(js|css|png|gif|jpg|jpeg|mp4|mp3|mpg|3gp|txt)$ {
root /usr/local/java/tomcat8080/webapps/;
if (!-e $request_filename) {
proxy_pass http://tomcat;
}
}
}
}

最新文章

  1. poj2524-Ubiquitous Religions
  2. Linux中的svn客户端RabbitVCS-2
  3. html css 笔记
  4. HTML5 Canvas鼠标与键盘事件
  5. bayboy下载安装
  6. 模块划分--MVVM指南(课程学习)
  7. UEditor上传图片到七牛C#(后端实现)
  8. SSM框架+slf4j 以Gradle实现
  9. linux 进程概念
  10. win10 nginx
  11. Python规范
  12. 安装oracle [INS-32025] 所选安装与指定 Oracle 主目录中已安装的软件冲突” 的问题
  13. explicit_defaults_for_timestamp引发的狗血剧情
  14. GZip对字符串压缩和解压
  15. 8张思维导图学习javascript
  16. 【xsy1018】 小A的字母游戏 扩展CRT
  17. C++很“虚”
  18. Java线程池ThreadPoolExecuter:execute()原理
  19. 微软原版WINDOWS10-LTSB-X64位操作系统的全新安装与优化
  20. ASP.NET Core 1.0基础之诊断

热门文章

  1. 中控考勤机WEB主动上报接收SERVER程序
  2. block方法加入无效的问题
  3. Codeforces Gym100952 B. New Job (2015 HIAST Collegiate Programming Contest)
  4. Python的程序结构[1] -&gt; 方法/Method[4] -&gt; 魔术方法 __call__ / __str__ / __repr__
  5. jQuery笔记:checkbox
  6. Sort Transformed Array -- LeetCode
  7. (转)Unity3D研究院之游戏架构脚本该如何来写(三十九)
  8. exports 与 module.exports 的区别
  9. 国内 docker 仓库镜像对比
  10. Java 学习之网络编程案例