码迷,mamicode.com
首页 > 其他好文 > 详细

centos7下systemd实现tomcat多实例

时间:2015-11-12 16:24:13      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:

环境: CentOS 7 x86_64

1、安装jdk

1
rpm -ivh jdk-8u60-linux-x64.rpm

2、创建普通用户

1
2
getent group tomcat || groupadd -r tomcat
getent  passwd  tomcat ||  useradd  -r -d  /opt  -s  /bin/nologin  tomcat

3、下载tomcat 7

1
2
3
4
5
6
7
8
9
cd  /opt
wget http: //mirrors .ustc.edu.cn/<a href= "http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=apache"   class= "bdcs-inlinelink" target= "_blank" >apache< /a > /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端口必然会产生冲突,所以必须修改.

1
2
3
4
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通常用不上,这里统一关闭

1
2
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,性能比较好。

1
2
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

3、创建启动文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
[<a href= "http://so.21ops.com/cse/search?s=9181936462520079739&entry=1&q=Install" class= "bdcs-inlinelink"   target= "_blank" >Install< /a >]
WantedBy=multi-user.target
EOF

tomcat02同理

1
sed  ‘s/tomcat01/tomcat02/g‘  tomcat01.service > tomcat02.service

4、启动服务

1
2
3
4
systemctl  enable  tomcat01
systemctl  enable  tomcat02
systemctl start tomcat01
systemctl start tomcat02

5、查看进程

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;

        }

 

}

如果想深入体验LINUX系统的新手,也可以先下载一个方德Linux软件中心试用一下。
免费下载地址:http://www.nfs-cloud.cn:81/appCenter/open/softcenter

centos7下systemd实现tomcat多实例

标签:

原文地址:http://my.oschina.net/foundation00523wuxi/blog/529384

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!