【Linux】如何正确安装Tomcat

在Linux系统上安装Tomcat,相信对大家来讲已经是很普通的很简单的任务了。虽然我也配置过很多次,还是重新整理一下作为备忘吧。

【环境】

Ubuntu+Sun Jdk1.8+tomcat8.0.52

1.下载tomcat安装包,当然是从官网下载

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz

2.下载JDK,当然也是官网下载,不过我是下载好上传的。不再赘述

3.解压tomcat,JDK到/opt/目录,CATALINA_HOME的值就是/opt/apache-tomcat-8.0.52

sudo tar -xzvf apache-tomcat-8.0.52.tar.gz -C /opt/ 
sudo tar -zxvf jdk1.8_151.x64.tar.gz -C /opt/

4.配置JAVA_HOME和CATALINA_HOME

sudo touch /etc/profile.d/tomcat.sh
sudo vim /etc/profile.d/tomcat.sh
添加以下配置:
JAVA_HOME=/opt/jdk1.8.0_151
CATALINA_HOME=/opt/apache-tomcat-8.0.52
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CATALINA_HOME PATH
然后执行source tomcat.sh,立刻使配置生效

5.修改CATALINA_HOME的访问权限,如果你的用户是test

sudo chown -R test:test /opt/apache-tomcat-8.0.52

6.启动tomcat并验证

cd $CATALINA_HOME/bin
./startup.sh
启动完毕后验证启动结果:
ps -ef|grep tomcat
使用wget看看能不能正常访问
wget  localhost:8080

【如何正确的安装?】

如果你是开发人员或者测试人员,那么通过上述的配置你就可以进行日常的工作了。但是如果是产品服务器,是不是还有些事情要做呢?

1.让tomcat在低权限用户下运行

创建tomcat用户和tomcat用户组

sudo adduser --system --group --no-create-home tomcat

2.让tomcat以daemon的形式运行

这时我们需要安装GCC来编译一个叫jsvc的东西(Java Service)

cd $CATALINA_HOME/bin
tar -zxvf commons-daemon-native.tar.gz
cd commons-daemon-1.0.15-native-src/unix
./configure
make
这时我们就编译得到了jsvc文件,拷贝到bin目录
cp jsvc ../..

3.修改daemon.sh文件。设定JAVA_HOME并添加CATALINA_HOME变量

- # JAVA_HOME=/opt/jdk-1.6.0.22
+ JAVA_HOME=/opt/jdk1.8_151
...
   # Only set CATALINA_HOME if not already set
+ CATALINA_HOME=/opt/apache-tomcat-8.0.52
   test ".$CATALINA_HOME" = . && CATALINA_HOME=`cd "$DIRNAME/.." >/dev/null; pwd`

4.修改文件夹权限

sudo chown -R tomcat:tomcat $CATALINA_HOME/
sudo chmod -R 600 $CATALINA_HOME/

5.添加到系统服务和启动项

sudo cp $CATALINA_HOME/bin/daemon.sh /etc/init.d/tomcat
sudo ln -s /etc/rc3.d/S01tomcat /etc/init.d/tomcat
sudo systemctl daemon-reload
sudo service tomcat start

  

这时我们就发现ps -ef |grep tomcat中会有2个tomcat进程,一个是root权限的daemon进程,一个是tomcat的实例进程,如果实例进程不小心挂掉了,守护现成就会重新创建它~

【问题】

A:为什么要在daemon.sh重新设定JAVA_HOME和CATALINA_HOME环境变量?

Q:这时因为使用sudo权限运行命令的时候,用户自定义的环境变量会默认被重置。另外系统启动的时候环境变量也可能没有初始化。所以还是放在启动脚本中放心啊。

  

猜你喜欢

转载自www.cnblogs.com/pumasun/p/9259100.html