利用systemd 实现 tomcat 多实例 推荐
2015-10-12 22:05
537 查看
环境: CentOS 7 x86_64
1、安装jdk
2、创建普通用户
3、下载tomcat 7
两个实例同时监听8080端口必然会产生冲突,所以必须修改.
这里改为nio,即非阻塞IO,性能比较好。
3、创建启动文件
4、启动服务
5、日志轮转
由于tomcat是作为后台服务持续运行,天长日久,日志必定会越来越大,在当初部署tomcat之时很容易忽略这个问题,否则硬盘迟早会被撑爆。
创建文件/etc/logrotate.d/tomcat,内容如下:
6、查看进程
附上一份nginx反向代理tomcat的配置文件
本文理论上也适用于tomcat8,未经测试。
1、安装jdk
rpm -ivh jdk-8u60-linux-x64.rpm
2、创建普通用户
getent group tomcat || groupadd -r tomcat getent passwd tomcat || useradd -r -d /opt -s /bin/nologin tomcat
3、下载tomcat 7
cd /opt wget http://mirrors.ustc.edu.cn/apache/tomcat/tomcat-7/v7.0.64/bin/apache-tomcat-7.0.64.tar.gz tar zxvf apache-tomcat-7.0.64.tar.gz mv apache-tomcat-7.0.64 tomcat01 chown -R tomcat:tomcat tomcat01 tar zxvf apache-tomcat-7.0.64.tar.gz mv apache-tomcat-7.0.64 tomcat02 chown -R tomcat:tomcat tomcat02
两个实例同时监听8080端口必然会产生冲突,所以必须修改.
sed -i 's/8080/8081/g' /opt/tomcat01/conf/server.xml sed -i 's/8005/8001/g' /opt/tomcat01/conf/server.xml sed -i 's/8080/8082/g' /opt/tomcat02/conf/server.xml sed -i 's/8005/8002/g' /opt/tomcat02/conf/server.xmlAJP通常用不上,这里统一关闭
sed -i '/8009/d' /opt/tomcat01/conf/server.xml sed -i '/8009/d' /opt/tomcat01/conf/server.xmltomcat在Linux下默认工作模式是bio,性能非常低,建议使用apr或者nio,
这里改为nio,即非阻塞IO,性能比较好。
sed -i.bak 's#HTTP/1.1#org.apache.coyote.http11.Http11NioProtocol#' /opt/tomcat01/conf/server.xml sed -i.bak 's#HTTP/1.1#org.apache.coyote.http11.Http11NioProtocol#' /opt/tomcat02/conf/server.xml(如果想起用apr模式,需要安装apr-devel、tomcat-native两个软件包,无需改配置)
3、创建启动文件
cd /usr/lib/systemd/system cat >tomcat01.service <<EOF [Unit] Description=Apache Tomcat 7 After=network.target [Service] Type=oneshot ExecStart=/opt/tomcat01/bin/startup.sh ExecStop=/opt/tomcat01/bin/shutdown.sh RemainAfterExit=yes User=tomcat Group=tomcat [Install] WantedBy=multi-user.target EOFtomcat02同理
sed 's/tomcat01/tomcat02/g' tomcat01.service > tomcat02.service
4、启动服务
systemctl enable tomcat01 systemctl enable tomcat02 systemctl start tomcat01 systemctl start tomcat02
5、日志轮转
由于tomcat是作为后台服务持续运行,天长日久,日志必定会越来越大,在当初部署tomcat之时很容易忽略这个问题,否则硬盘迟早会被撑爆。
创建文件/etc/logrotate.d/tomcat,内容如下:
/opt/tomcat01/logs/catalina.out /opt/tomcat02/logs/catalina.out { copytruncate daily rotate 7 missingok notifempty compress create 0644 tomcat tomcat }
6、查看进程
ps aux |grep tomcat
附上一份nginx反向代理tomcat的配置文件
proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2 keys_zone=static:10m inactive=30d max_size=1g; upstream tomcat { ip_hash ; #hash $remote_addr consistent; server 127.0.0.1:8081 max_fails=1 fail_timeout=2s ; server 127.0.0.1:8082 max_fails=1 fail_timeout=2s ; keepalive 16; } server { listen 80; server_name tomcat.example.com; charset utf-8; access_log /var/log/nginx/tomcat.access.log main; root /usr/share/nginx/html; index index.html index.htm index.jsp; location / { proxy_pass http://tomcat; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_http_version 1.1; proxy_set_header Connection ""; add_header X-Backend "$upstream_addr"; } location ~* ^.+\.(js|css|ico|gif|jpg|jpeg|png)$ { proxy_pass http://tomcat ; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_cache static; proxy_cache_key $host$uri$is_args$args; proxy_cache_valid 200 302 7d; proxy_cache_valid 404 1m; proxy_cache_valid any 1h; add_header X-Cache $upstream_cache_status; #log_not_found off; #access_log off; expires max; } location ~ /\.ht { deny all; } }
本文理论上也适用于tomcat8,未经测试。
相关文章推荐
- java-模拟tomcat服务器
- i-jetty环境搭配与编译
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- Linux部署Tomcat服务器
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- tomcat在opensuse下开机自启失败的原因分析及解决方法
- jsp项目中更改tomcat的默认index.jsp访问路径的方法
- Tomcat 多端口 多应用
- tomcat 5.0 + apache 2.0 完全安装步骤详解
- Tomcat安全设置 win2003 下tomcat权限限制
- Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)
- Tomcat服务器 安全设置第1/3页
- tomcat 6.0.20在一个机器上安装多个服务的方法
- Tomcat 5.5 数据库连接池配置
- Tomcat内存溢出分析及解决方法
- apache tomcat 一个网站多域名的实现方法
- Tomcat无法加载css和js等静态资源文件的解决思路