Linux CentOS7安装多个Tomcat并设置
开机启动
安装第一个Tomcat
把apache-tomcat-8.5.20.tar.gz传到/usr/local目录下
执行如下命令进行解压
tar -xvf apache-tomcat-8.5.20.tar.gz
把Centos7自带的防火墙firewalld关闭,然后开启之前的版本iptables。
systemctl stop firewalld //关闭firewalld服务
systemctl disable firewalld //禁止firewalld服务开机启动
yum install -y iptables-services //安装iptables-services
systemctl enable iptables //让它开机启动
systemctl start iptables //启动iptables
现在就可以 使用之前版本的iptables了。CentOS上默认有iptables规则,这个规则虽然很安全,但对于我们来说没有用,反而会造成某些影响,所以建议先清除规则,然后把清除的规则保存一下。
iptables -nvL
iptables -F;service iptables save
-nvL选项表示查看规则,-F选项表示清除当前规则,但清除只是临时的,启动系统或者重启iptables服务后还会加载已经保存的规则,所以需要使用service iptables save保存一下规则。通过上面的命令输出,可以看到,防火墙的规则保存在/etc/sysconfig/iptables中。
开放Linux的对外访问的端口8080
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save
进入tomcat的bin下启动:./startup.sh
之后在windows系统中的浏览器中输入
http://192.168.183.129:8080/
就可以看到界面了
关闭Tomcat,进入tomcat的bin下关闭:./shutdown.sh
安装第二个Tomcat
我先把之前解压的Tomcat文件apache-tomcat-8.5.20改个名
mv apache-tomcat-8.5.20 tomcat1-8080
然后再解压出一份来
tar -xvf apache-tomcat-8.5.20.tar.gz
重新起个名
mv apache-tomcat-8.5.20 tomcat2-8081
对外开放8081端口
iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
service iptables save
需要修改三个端口号,启动第一个tomcat中的/conf/server.xml中的内容为
//8005远程停服务端口
<Server port="8005" shutdown="SHUTDOWN">
//8080为http端口
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
//8009为AJP端口,Apache能通过AJP协议访问Tomcat的8009端口
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
现在我把第二个Tomcat的端口改为
<Server port="7081" shutdown="SHUTDOWN">
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="9081" protocol="AJP/1.3" redirectPort="8443" />
然后分别启动两个Tomcat
然后访问
http://192.168.183.129:8080/
和
http://192.168.183.129:8081/
。会发现都可以访问到了。
设置tomcat开机自启
现在我把两个Tomcat都关了。
找到/etc/rc.d/文件下的rc.local,添加如下内容
export JAVA_HOME=/usr/local/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
sh /usr/local/tomcat1-8080/bin/startup.sh
sh /usr/local/tomcat2-8081/bin/startup.sh
sh /usr/tomcat/apache-tomcat-9.0.0.M1-80/bin/startup.sh这条命令是启动命令,可以配置多条。
给rc.local文件添加执行权限
chmod +x rc.local
重启服务器
reboot
然后在浏览器访问
http://192.168.183.129:8080/
和
http://192.168.183.129:8081/
运行.sh文件的方法
linux下运行.sh文件的方法,有两种:
- 直接./加上文件名.sh,如运行hello.sh为./hello.sh(hello.sh必须有x权限)
- 直接sh加上文件名.sh,如运行hello.sh为sh hello.sh(hello.sh可以没有x权限)
|
这是我们公司在生产环境中的一些安装和配置,供大家一起参考讨论。
===================================================
1、卸载掉自带的OpenJDK(可以卸载,也可以不卸载,个人建议最好卸载)
查看目前系统的jdk:
# rpm -qa | grep jdk
java-1.6.0-openjdk-devel-1.6.0.35-1.13.7.1.el6_6.x86_64
java-1.6.0-openjdk-javadoc-1.6.0.35-1.13.7.1.el6_6.x86_64
java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.x86_64
java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.x86_64
java-1.7.0-openjdk-devel-1.7.0.79-2.5.5.4.el6.x86_64
卸载:(上面不需要的都可以卸载)
# yum -y removejava-1.7.0-openjdk-1.7.0.75-2.5.4.0.el6_6.x86_64
2、安装 JDK1.7
下载Sun的JDK。我下载的是 jdk-7u75-linux-x64.gz,将下载的文件解压到/usr/local目录下
# tar zxvf jdk-7u75-linux-x64.gz –C /usr/local
接下来配置JDK:
vi /etc/profile打开profile文件,在profile文件的末尾加上:
JAVA_HOME=/usr/local/jdk1.7.0_75
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
保存并关闭profile文件,执行source/etc/profile命令让修改生效。
运行下java -version 看一下java版本 :
# java -version
java version “jdk1.7.0_75”
Java(TM) SE RuntimeEnvironment (build 1.7.0_75-b06)
Java HotSpot(TM) ClientVM (build 20.12-b01, mixed mode, sharing)
至此,整个JDK安装过程完毕。
3、安装Tomcat
下载apache-tomcat-7.0.33.tar.gz。解压缩:
tar xzvf apache-tomcat-7.0.33.tar.gz
将解压缩后的文件夹拷贝到/usr/local/tomcat:
cp-R apache-tomcat-7.0.33 /usr/local/tomcat
进入tomcat目录设置tomcat 的内存使用情况及其他配置:
cd /usr/local/tomcat/bin
vi daemon.sh
在正文开始的地方加入以下内容(注意将jdk等目录结合自己的实际情况进行修改) :
# chkconfig: 2345 20 80
# description: simpleexample to start tomcat
JAVA_HOME=/usr/local/jdk1.7.0_75
CATALINA_HOME=/usr/local/tomcat
CATALINA_OPTS=”-server-Xms512m -Xmx2000m -XX:PermSize=256m -XX:MaxPermSize=2048
-Dfile.encoding=UTF-8-Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true
”
参数说明:(红色标注的是根据业务情况,我们公司业务需要这些参数)
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:java heap最大值,使用的最大内存
-XX:PermSize:设定内存的永久保存区域
-XX:MaxPermSize:设定最大内存的永久保存区域
-XX:MaxNewSize:
+XX:AggressiveHeap 会使得 Xms没有意义。这个参数让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
-Xss:每个线程的Stack大小
-verbose:gc 现实垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
-Xmn:young generation的heap大小,一般设置为Xmx的3、4分之一
-XX:+UseParNewGC :缩短minor收集的时间
-XX:+UseConcMarkSweepGC :缩短major收集的时间
提示:此选项在Heap Size 比较大而且Major收集时间较长的情况下使用更合适。
4、 配置Tomcat为daemon方式启动
将daemon.sh 拷贝到启动目录,安装服务,测试服务:
先编译安装 commons-daemon :
先安装gcc,因为编译的时候要用到
yuminstall gcc
创建tomcat用户,用来运行tomcat服务:
在生产环境用 root 是不安全的,所以
useradd-s /sbin/nologin tomcat
chown-R tomcat:tomcat /usr/local/tomcat (最后做)
做为 service,和操作系统一起启动
# tarxzvf commons-daemon-native.tar.gz
# cdcommons-daemon-1.0.10-native-src/unix
#./configure
#make
# cpjsvc ../..
# cd../..
cp daemon.sh /etc/rc.d/init.d/tomcat9091
chmod 755 /etc/rc.d/init.d/tomcat9091
chkconfig –add tomcat9091
chkconfig tomcat9091 on
chkconfig –list tomcat9091
显示:
tomcat0:off 1:off 2:on 3:on 4:on 5:on 6:off ←确认2~5为on的状态就OK
启动Tomcat:
servicetomcat start
修改tomcat默认端口为9091,增加安全性!
cd/usr/local/tomcat/conf
viserver.xml
<Connector port=”
9091
” protocol=”HTTP/1.1″
connectionTimeout=”20000″
redirectPort=”8443″
URIEncoding=”UTF-8″
/> #
将此处默认的
8080
端口改为
9091
增加编码格式:URIEncoding=”UTF-8″
chown -R tomcat:tomcat /usr/local/tomcat
增加防火墙配置,允许9091端口:
# vi /etc/sysconfig/iptables
在允许ssh的下面增加一条:
-AINPUT -m state –state NEW -m tcp -p tcp –dport 9091 -j ACCEPT
保存,重启iptables服务 :
#service iptables restart
5、测试:
本机测试:
wget http://localhost:9091/
从其他机器 测试:
浏览器中输入 http://ip:9091/
6、
Tomcat默认日志路径修改
Tomcat安装目录下Logs目录下默认会产生4种日志文件:catalina.*.log,host-manager.*.log,localhost.*.log,manager.*.log。系统出现异常的时候,有时候log文件会暴涨。这里偶是把日志文件移动到一个比较空的盘符,他爱怎么涨就涨吧。
找到Tomcat安装目录下conf目录中的logging.properties文件,修改
1catalina.org.apache.juli.FileHandler.level= FINE
1catalina.org.apache.juli.FileHandler.directory= ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix= catalina.
2localhost.org.apache.juli.FileHandler.level= FINE
2localhost.org.apache.juli.FileHandler.directory= ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix= localhost.
3manager.org.apache.juli.FileHandler.level= FINE
3manager.org.apache.juli.FileHandler.directory= ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix= manager.
4host-manager.org.apache.juli.FileHandler.level= FINE
4host-manager.org.apache.juli.FileHandler.directory= ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix= host-manager.
将${catalina.base}/logs修改成指定目录:例如e:/logs。
修改
access
日志路径的话要在
server.xml
文件中修改
directory
目录的位置:
<ValveclassName=”org.apache.catalina.valves.AccessLogValve”directory=”
/apps/server/log/tomcat/tomcat8008
” #此处将默认的logs目录修改为自定义日志路径
prefix=”localhost_access_log.” suffix=”.txt”
pattern=”%h %l %u %t"%r" %s %b %D” /> #此处加个%D的参数,表示日志输出增加响应时间的参数(毫秒)
QQ群:1414406 欢迎交流
https://www.iyunv.com/thread-449805-1-1.html