Linux运维笔记
我们一直在努力

Linux Tomcat 8.5源码安装

操作系统:CentOS 7.2

软件版本:

apache-tomcat-8.5.31

jdk-1.8.0_171

一、下载TOMCAT-8.5.31软件包和JDK-1.8.171软件包:

# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.31/bin/apache-tomcat-8.5.31.tar.gz

# wget -O jdk-8u171-linux-x64.tar.gz http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz?AuthParam=1526611926_8e84bee9331cf8559da8ea99bbab44ec

二、安装配置TOMCAT:

1.解压TOMCAT:     tar -xf apache-tomcat-8.5.31.tar.gz

2.复制到安装目录:  cp -r apache-tomcat-8.5.31 /usr/local/tomcat

3.解压JDK:            tar -xf jdk-8u171-linux-x64.tar.gz 

4.复制到安装目录:  cp -r jdk1.8.0_171/ /usr/local/jdk

5.添加JDK全局变量(因为mycat是用java语言编写的,并宣告家目录): vim /etc/profile

        添加:export JAVA_HOME=/usr/local/jdk

6.运行profile文件:  source /etc/profile

7.创建TOMCAT用户:   useradd -s/sbin/nologin tomcat

8.修改TOMCAT目录文件用户:   chown tomcat. /usr/local/tomcat -R

三、测试TOMCAT是否可以正常运行:

1.进入TOMCAT/BIN目录:   cd /usr/local/tomcat/bin

2.运行脚本启动TOMCAT: ./startup.sh

3.打开http://172.16.0.101:8080/ 如果看到tomcat欢迎页说明成功

4.测试后关闭tomcat ./shutdown.sh

# 至此,可以看到该启动方式仅启动了一个进程,由root用户监听,相对来说不太安全。我们使用用jsvc方式去运行TOMCAT

四、配置TOMCAT以守护进程的方式并以TOMCAT用户名运行:

# 采用root+tomcat用户的方式启动服务。

# root用户负责监听端口号。tomcat用户处理实际请求,该过程中需要有tomcat用户。

1.解压BIN目录下的文件:  tar -xf commons-daemon-native.tar.gz

2.进入解压后的目录:     cd commons-daemon-1.1.0-native-src/unix

3.编译jsvc需要GCC依赖包:   yum install -y gcc-c++

    注意所在目录不要搞错,操作这一步的位置,[root@localhost unix]# pwd

    /usr/local/tomcat/bin/commons-daemon-1.1.0-native-src/unix

4.开始编译:             ./configure --with-java=/usr/local/jdk && make  # 需要编译时添加JDK的路径

5.把jsvc复制到bin目录:    cp jsvc ../../

6.在tomcat/bin目录中修改daemon.sh脚本,添加一下环境变量: vim /usr/local/tomcat/bin/daemon.sh

    # export CATALINA_HOME=/usr/local/tomcat        # 申明tomcat命令和库文件所在位置
    # export CATALINA_BASE=/usr/local/tomcat        # 申明tomcat程序和配置文件及网站根目录所在位置
    # export CATALINA_TMPDIR=/usr/local/tomcat
    # JAVA_HOME=/usr/local/jdk                      # 申明jdk所在位置

7.测试是否可以以守护进程的方式运行:     /usr/local/tomcat/bin/daemon.sh start

    查看进程:   ps -ef|grep tomca

        root      13823      1  0 00:23 ?       00:00:00 jsvc.exec -java-home /usr/local/jdk -user tomcat...
        tomcat    13824  13823 16 00:23 ?       00:00:03 jsvc.exec -java-home /usr/local/jdk -user tomcat...

        可以看到该方式启动了两个进程,一个进程root拥有,另一个进程由tomcat拥有

    查看段都:   netstat -lunpt

        tcp6       0      0 :::8080                 :::*                    LISTEN      13824/jsvc.exec 

五、添加service启动服务,或者制作systemd:

1.制作service启动脚本:

    cp /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat

    cp /usr/local/tomcat/bin/jsvc /etc/init.d/

    可以使用service tomcat start来启动

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
Environment=JAVAHOME=/usr/java/latest
Environment=CATALINA
HOME=/opt/apache/apache-tomcat-8.5.9
Environment=CATALINA_BASE=/opt/apache/apache-tomcat-8.5.9

ExecStart=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh start
ExecStop=/opt/apache/apache-tomcat-8.5.9/bin/daemon.sh stop

[Install]
WantedBy=multi-user.target

赞(1) 打赏

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址