centos7下systemd实现tomcat多实例

系统环境: CentOS 7 x86_64

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.xml

AJP通常用不上,这里统一关闭
sed -i '/8009/d' /opt/tomcat01/conf/server.xml
sed -i '/8009/d' /opt/tomcat01/conf/server.xml

tomcat在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

4、创建启动文件
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
EOF

tomcat02同理
sed 's/tomcat01/tomcat02/g' tomcat01.service > tomcat02.service

5、启动服务
systemctl enable tomcat01
systemctl enable tomcat02
systemctl start tomcat01
systemctl start tomcat02

6、查看进程

ps aux |grep tomcat

附上一份nginx反向代理tomcat的配置文件

proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2 keys_zone=static:10m inactive=1h 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 5m;

                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;

        }

 

}

时间: 2024-09-24 14:14:58

centos7下systemd实现tomcat多实例的相关文章

CentOS7下如何切换运行级别?

  CentOS7下如何切换运行级别?            由命令行级别切换到窗口级别的命令未变:init 5或startx 由窗口级别切换到命令行级别的命令未变:init 3 新版本的运行级别都定义在 /lib/systemd/system下: [root@localhost ~]# ls -ltr /lib/systemd/system/runlevel*.target lrwxrwxrwx. 1 root root 16 9月 10 20:58 /lib/systemd/system/d

CentOS-7下安装MySQL5.6.22

原文 CentOS-7下安装MySQL5.6.22 一 安装环境 (1)CentOS版本:CentOS-7 查看方法: [root@bogon 桌面]# cat /etc/redhat-release CentOS Linux release 7.0.1406 (Core) 下载地址:http://www.centos.org/ (2)MySQL版本:MySQL-5.6.22 下载地址:https://edelivery.oracle.com/EPD/Search/handle_go 或者htt

Centos7下安装Solr服务和Solr基本用法

Requirements root@pts/6 $ java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode) refer to solr system requirements Installation solr 这篇主要是以单实例Sol

linux下实时查看tomcat运行日志的方法_Linux

1.先切换到:cd usr/local/tomcat5/logs 2.tail -f catalina.out 3.这样运行时就可以实时查看运行日志了 Ctrl+c 是退出tail命令. 顺便讲一下Linux中tail命令 tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容. 1.命令格式; tail[必要参数][选择参数][

CentOS7下如何查看vsftpd服务的状态

CentOS7下如何查看vsftpd服务的状态 -------------------------------------------------------------- [root@localhost ~]# systemctl status vsftpd.service vsftpd.service - Vsftpd ftp daemon    Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor

Ruby连接使用windows下sql server数据库代码实例

  这篇文章主要介绍了Ruby连接使用windows下sql server数据库代码实例,本文直接给出实现代码,而且给出了两种实现和access数据库的实现代码,需要的朋友可以参考下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 req

CentOS下安装配置Tomcat环境

  CentOS下安装配置Tomcat 演示环境 系统:Linux CentOS 6.3 32位 环境:无安装apache.php.mysql 账号:Root 一.下载相关安装包 注:可以先进入 #cd /usr/local/ /进里面后再下载(也可以根据自己情况而定) 1.下载jdk 2.下载Tomcat 二.安装JDK和Tomcat 注:可以先进入 #cd /usr/local/ /再执行下面的命令 1.编译安装Jdk #chmod 777 jdk-6u41-linux-i586-rpm.b

IE下JS保存图片的简单实例_javascript技巧

IE下JS保存图片的简单实例 function ieSave() { var img = document.images[0]; var oPop = window.open(img.src, "", "width=0,height=0,top=5000,left=5000"); for (; oPop.document.readyState != "complete";) { if (oPop.document.readyState == &q

关于centos7整合httpd和tomcat的问题

问题描述 关于centos7整合httpd和tomcat的问题 我用yum安装好了httpd和tomcat,也测试过了.然后我按照这位小哥的方法尝试整合.http://blog.csdn.net/yuanxuegui2008/article/details/6038135不过失败了,通过域名直接访问jsp页面,并没有转到tomcat处理,还是当成了静态页面显示 解决方案 http://www.tuicool.com/articles/by6N7n