centos7下systemd实现tomcat多实例配置方法 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    这篇文章主要介绍了centos7下systemd实现tomcat多实例配置方法,需要的朋友可以参考下

    本文我们分享在Centos安装tomcat,然后用systemd实现tomcat多实例的方法,有需求的朋友可以认真参考一下,

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 <

    [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;

    }

    }

最新文章