CentOS下面安装Tomcat并设置为自启动服务

第一步:需要安装jdk

         安装说明,见CentOS下安装jdk及配置

第二步:需要下载tomcat安装文件

         1.首先从官网下载, http://tomcat.apache.org/download-70.cgi 下载最新的Tomcat, 将apache-tomcat-7.0.5.tar.gz移动到 /opt 目录下
        并将其解压:
      sudo cp apache-tomcat-7.0.5.tar.gz /opt
      sudo tar zxvf apache-tomcat-7.0.5.tar.gz
       
2.然后,cd到/opt目录下,我们可以将文件夹改名(以后进入方便):
      sudo mv apache-tomcat-7.0.5 tomcat7

第三步修改tomcat配置文件

     1.cd到/opt/tomcat7/bin 下,编辑catalina.sh文件,向中插入以下代码(插到’#'注释结束,正文开始的地方)
           JAVA_HOME=/usr/lib/jvm/java1.7                      //<--此处依你的jdk安装目录而定
          JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:PermSize=600M -XX:MaxPermSize=600m -Dcom.sun.management.jmxremote"                        //<--此处依你的JVM实际情况定

       2.cd到/opt/tomcat7/conf文件下,编辑  文件,修改常用端口等,默认为8080,此处修改为8888
    <Connector port=" 8888 " protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
  URIEncoding="UTF-8"/>

第四步启动tomcat

    1.cd到/opt/tomcat7/bin,执行 ./startup.sh 命令可启动tomcat

     2.浏览器打开 http://127.0.0.1:8888/,能正常访问tomcat则说明安装tomcat成功

        3.cd到/opt/tomcat7/bin,执行 ./shutdown.sh  命令可停止tomcat
---------------------------------------------------------------------------------------------------------------

CentOS系统中安装Tomcat7并设置为自启动服务(方法一,较复杂)

1、 软件

a)   下载apache-tomcat-7.0.27 地址: http://apache.etoak.com/tomcat/tomcat-7/v7.0.27/bin/apache-tomcat-7.0.27.tar.gz

b)  如无特殊说明,本文档操作用户为tomcat

2、 安装

a)  解压

# tar zxvf apache-tomcat-7.0.27.zip

b)移动到其他目录

# mv apache-tomcat-7.0.27 /home/tomcat/tomcat

c) 启动Tomcat服务

# cd /home/tomcat/tomcat/bin

# ./startup.sh

d)检查是否启动成功

在本机浏览器中访问URL: http://localhost:8080/

会出现Tomcat的欢迎页面

注:如果想远程通过浏览器访问,则在远程浏览器中输入http://<ip>:8080/

<ip> 可通过在本地机器上输入命令 ifconfig 查看

如果未能访问到tomcat的欢迎页面,需要查看本机的防火墙设置,是否打开了端口8080

e)停止服务

# ./shutdown.sh

3、 可能出现的问题

a) Java未先安装,或未正确配置JAVA_HOME系统环境变量

b) Linux系统的防火墙8080端口未被设置为远程可访问

4、配置tomcat由tomcat用户自启动(使用jsvc)

a) 编译安装jsvc

# export CATALINA_HOME=/home/tomcat/tomcat

# cd $CATALINA_HOME/bin

# tar xvfz commons-daemon-native.tar.gz

# cd commons-daemon-1.0.8-native-src/unix

# ./configure

# make

# cp jsvc ../..

b)        编写自启动脚本:用root用户登录,创建脚本tomcat7

# vi /etc/init.d/tomcat7

添加如下脚本:

#! /bin/sh

 

# chkconfig: 35 96 04

# description: Apache-Tomcat service script.

 

# Version:

#        2008-01-17-01

# By:

#        Typhoon.Free.Wolf.

 

# Service name.

SVC_NAME="tomcat7"

# Lock file.

LOCK_FILE="/var/lock/subsys/tfw_tomcat"

# Installation prefix.

APP_HOME="/home/tomcat/tomcat"

# The process name to monitor.

APP_PROC="java"

# Authorize user.

APP_USER="tomcat"

 

SLEEP_START=5

SLEEP_STOP=$SLEEP_START

 

# Importing functions.

flg_func=0

if [ -f /etc/init.d/functions ] ; then

        . /etc/init.d/functions

        flg_func=1

elif [ -f /etc/rc.d/init.d/functions ] ; then

        . /etc/rc.d/init.d/functions

        flg_func=1

fi

 

# Templete.

# Return:

#        FLG_PROC_ON means process is there.

#        FLG_PROC_OFF means process not exists.

#        Other means error.

FLG_PROC_ON=1

FLG_PROC_OFF=0

probe() {

        srch_rst=$(ps -A|grep $APP_PROC|awk '{print $4}')

        for rst in $srch_rst ; do

                if [ $APP_PROC = $rst ] ; then

                        return $FLG_PROC_ON

                fi

        done

        return $FLG_PROC_OFF

}

 

# Templete.

#        Shows OK.

# Return:

echo_ok() {

        case $flg_func in

                1)

                        echo_success

                        echo ""

                ;;

                *)

                        echo ""

                        echo "        [  OK  ]"

                ;;

        esac

}

 

# Templete.

#        Shows Passed.

# Return:

echo_pass() {

        case $flg_func in

                1)

                        echo_passed

                        echo ""

                ;;

                *)

                        echo ""

                        echo "        [PASSED]"

                ;;

        esac

}

 

# Templete.

#        Shows Failed.

# Return:

echo_bad() {

        case $flg_func in

                1)

                        echo_failure

                        echo ""

                ;;

                *)

                        echo ""

                        echo "        [FAILED]"

                ;;

        esac

}

 

# Templete.

#        Start section.

# Return:

_start() {

        probe

        proc=$?

        echo ""

        echo "Starting $SVC_NAME..."

 

        if (touch $LOCK_FILE) ; then

                echo_ok

        else

                echo_bad

        fi

}

 

start() {

        probe

        proc=$?

        echo ""

        echo "Starting $SVC_NAME..."

 

        if [ $FLG_PROC_OFF = $proc ] ; then

                if (su - $APP_USER -c "$APP_HOME/bin/startup.sh") ; then

                        sleep $SLEEP_START

                        if (touch $LOCK_FILE) ; then

                                echo_ok

                        else

                                echo_pass

                                echo ""

                        fi

                else

                        echo_bad

                fi

        elif [ $FLG_PROC_ON = $proc ] ; then

                if (touch $LOCK_FILE) ; then

                        echo_passed

                        echo ""

                else

                        echo_bad

                fi

        fi

}

 

# Templete.

#        Stop section.

# Return:

_stop() {

        probe

        proc=$?

        echo ""

        echo "Stopping $SVC_NAME..."

 

        if (rm -Rf $LOCK_FILE) ; then

                echo_ok

        else

                echo_bad

        fi

}

 

stop() {

        probe

        proc=$?

        echo ""

        echo "Stopping $SVC_NAME..."

 

        if [ $FLG_PROC_OFF = $proc ] ; then

                if (rm -Rf $LOCK_FILE) ; then

                        echo_passed

                        echo ""

                else

                        echo_bad

                fi

        elif [ $FLG_PROC_ON = $proc ] ; then

                if (su - $APP_USER -c "$APP_HOME/bin/shutdown.sh") ; then

                        sleep $SLEEP_STOP

                        if (rm -Rf $LOCK_FILE) ; then

                                echo_ok

                        else

                                echo_pass

                                echo ""

                        fi

                else

                        echo_bad

                fi

        fi

}

 

# Parse command line parameters.

case $1 in

        start)

                start

        ;;

        stop)

                stop

        ;;

        restart)

                stop

                start

        ;;

        *)

                # Print help

                echo "Usage: $0 {start|stop|restart}"

                exit 1

        ;;

esac

exit 0

注意修改APP_HOME为tomcat实际安装路径,APP_USER为启动tomcat的用户。

c)        设置tomcat自启动服务

使用如下命令给tomcat7增加执行权限

# chmod +x tomcat7

将tomcat添加到启动服务中

# chkconfig --add tomcat7

# chkconfig --level 234 tomcat7 on

可以用如下命令确认是否配置成功

# chkconfig --list tomcat7

之后就可以用service来控制tomcat的启动和停止了。

# service tomcat7 start

# service tomcat7 stop

查看/home/tomcat/tomcat/logs/catalina-daemon.out,确认没有error。

Ubuntu系统中安装Tomcat7并设置为自启动服务(方法二,简单!)

这里有一种比较简单的方法。

第一步,tomcat/bin目录下有一个catalina.sh脚本,将这个脚本复制到/etc/init.d目录下,指令:cp catalina.sh /etc/init.d

第二步,进入/etc/init.d目录,将catalina.sh重命名为Tomcat,重命名指令:mv catalina.sh tomcat

第三步,修改tomcat脚本,指令:vim tomcat,打开后,编辑成如下图所示


CATALINA_HOME=/etc/tomcat8

JAVA_HOME=/usr/java/jdk1.8.0_144

其中,CATALINA_HOME后面是你自己的tomcat路径,JAVA_HOME为你的jdk路径。JAVA_OPTS可以照着抄一遍,是用来防止内存溢出的。

编辑完后,保存退出。

第四步,注册开机启动,指令:update-rc.d -f tomcat defaults,如果要撤销开机启动,将defaults改为remove即可。

至此,tomcat开机自启动完成,可以重启机器试试。

RedHat系统中安装Tomcat7并设置为自启动服务(方法三,超简单!)

应该也适用其他linux操作系统

开机自启动Tomcat:

每次开机都要启动tomcat,网上看了好多都是用shell脚本来实现tomcat开机自启动,后来看到一种方法,直接修改系统文件来实现,已经实践过,方法有效。

1.修改脚本文件rc.local:vim /etc/rc.d/rc.local

  这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令

2.添加如下内容:

  export JAVA_HOME=/opt/jdk1.8.0_65 (这句可以不加)

  /opt/tomcat8/bin/startup.sh start

3.esc 退出编辑,:wq 保存修改

4.将rc.local修改为可执行

  chmod 777 /etc/rc.d/rc.local

5.然后reboot系统,应该就可以登录tomcat服务器了。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在CentOS 7上安装Tomcat服务器: 1. 首先,确保你的系统已经安装了Java Development Kit(JDK)。你可以通过运行以下命令来检查是否已经安装了JDK: ``` java -version ``` 如果没有安装,你可以运行以下命令来安装OpenJDK: ``` sudo yum install java-1.8.0-openjdk-devel ``` 2. 接下来,下载Tomcat的压缩文件。你可以在Tomcat的官方网站上选择适合你的版本进行下载。你可以使用以下命令来下载Tomcat 9: ``` wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz ``` 3. 下载完成后,解压缩压缩文件。你可以使用以下命令进行解压缩: ``` tar -zxvf apache-tomcat-9.0.45.tar.gz ``` 4. 移动解压后的Tomcat文件夹到适当的目录。例如,你可以将它移动到`/opt`目录下: ``` sudo mv apache-tomcat-9.0.45 /opt/tomcat ``` 5. 接下来,创建一个用于存储Tomcat配置文件的目录。你可以运行以下命令来创建目录: ``` sudo mkdir /etc/tomcat ``` 6. 将Tomcat的配置文件复制到刚创建的目录中。你可以使用以下命令来完成: ``` sudo cp -R /opt/tomcat/conf/* /etc/tomcat ``` 7. 接下来,为Tomcat创建一个系统服务文件。你可以使用文本编辑器打开一个新文件,例如`tomcat.service`,并将以下内容复制到文件中: ``` [Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment='CATALINA_OPTS=-Xmx512M -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target ``` 8. 保存并关闭文件后,将该文件移动到`/etc/systemd/system/`目录下: ``` sudo mv tomcat.service /etc/systemd/system/ ``` 9. 设置Tomcat用户和组,并将所有权赋予Tomcat目录: ``` sudo chown -R tomcat: /opt/tomcat ``` 10. 启动Tomcat服务,并设置它在系统启动时自动启动: ``` sudo systemctl start tomcat sudo systemctl enable tomcat ``` 至此,你已经成功在CentOS 7上安装Tomcat服务器。你可以通过访问`http://服务器IP地址:8080/`来验证Tomcat是否正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值