Linux中安装多个Tomcat并设置/etc/rc.d/init.d/daemon.sh或/etc/rc.d/rc.local开机启动

  • Post author:
  • Post category:linux


Linux CentOS7安装多个Tomcat并设置


开机启动


原创


2017年11月29日 15:47:37



  • 964



安装第一个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权限)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zsx157326/article/details/78666203


[经验分享]

CentOS6.X 安装多实例的Tomcat



[复制链接]


这是我们公司在生产环境中的一些安装和配置,供大家一起参考讨论。




===================================================








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&quot;%r&quot; %s %b %D” />   #此处加个%D的参数,表示日志输出增加响应时间的参数(毫秒)













QQ群:1414406 欢迎交流



https://www.iyunv.com/thread-449805-1-1.html