linux下安装tomcat,并设置开机自启动

本文介绍如何下载并安装Tomcat,以及如何通过编写shell脚本来实现Tomcat的自启动配置。涉及具体步骤包括下载源码包、解压、设置环境变量及创建自启动脚本。


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

蓝色文字部分为执行代码,红色文字部分需注意修改

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


#下载tomcat源码包

wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.81/bin/apache-tomcat-7.0.81.tar.gz


#解压

tar-zxvf apache-tomcat-7.0.81.tar.gz


为此,tomcat安装完成

cd到tomcat的bin目录下使用   ./startup  启动Tomcat,关闭同理

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

设置tomcat自启动

1.我们在/etc/init.d/下新建一个文件tomcat(需要在root权限下操作)

vi /etc/init.d/tomcat

加入以下代码:

============分割线==================================

# tomcat自启动脚本

#!/bin/sh

# chkconfig: 345 99 10

# description: Auto-starts tomcat

# /etc/init.d/tomcatd

# Tomcat auto-start

# Source function library.

#. /etc/init.d/functions

# source networking configuration.

#. /etc/sysconfig/network

RETVAL=0

export JDK_HOME=/usr/java/jdk1.7.0_45 (请填写真实的JDK目录)

export CATALINA_HOME=/home/ldatum/usr/apache-tomcat-7.0.10(请填写真实的tomcat目录)

export CATALINA_BASE=/home/ldatum/usr/apache-tomcat-7.0.10(请填写真实的tomcat目录)

start()

{

        if [ -f $CATALINA_HOME/bin/startup.sh ];

          then

            echo $"Starting Tomcat"

                $CATALINA_HOME/bin/startup.sh

            RETVAL=$?

            echo " OK"

            return $RETVAL

        fi

}

stop()

{

        if [ -f $CATALINA_HOME/bin/shutdown.sh ];

          then

            echo $"Stopping Tomcat"

                $CATALINA_HOME/bin/shutdown.sh

            RETVAL=$?

            sleep 1

            ps -fwwu tomcat | grep apache-tomcat|grep -v grep | grep -v PID | awk '{print $2}'|xargs kill -9

            echo " OK"

            # [ $RETVAL -eq 0 ] && rm -f /var/lock/...

            return $RETVAL

        fi

}

case "$1" in

 start)

        start

        ;;

 stop)

        stop

        ;;

 restart)

         echo $"Restaring Tomcat"

         $0 stop

         sleep 1

         $0 start

         ;;

 *)

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

        exit 1

        ;;

esac

exit $RETVAL


2.添加完毕之后,给其增加可执行权限:  chmod +x /etc/init.d/tomcat

3.之后就是将这个shell文件的link连到/etc/rc2.d/目录下

    ln -s /etc/init.d/tomcat /etc/rc2.d/S16Tomcat

4.接下来就是把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令

chkconfig --add tomcat


大功告成,reboot之后自启动


文章来源:http://jingyan.baidu.com/article/1612d50079cfe5e20f1eee71.html

<think>我们正在配置TomcatLinux系统中开机自启动。根据Linux系统的不同,配置方法可能略有差异,但主要思路是创建系统服务(systemd服务)或使用init.d脚本。这里以目前主流的systemd方式为例(适用于大多数现代Linux发行版,如Ubuntu 16.04+、CentOS 7+等)。 步骤: 1. 确保Tomcat安装配置好环境变量(如JAVA_HOME等)。 2. 创建Tomcat系统服务文件。 3. 启用该服务以使其开机自启动。 具体操作: ### 1. 创建Tomcat服务文件 在`/etc/systemd/system/`目录下创建一个名为`tomcat.service`的文件(如果Tomcat运行在非root用户下,可能需要调整用户和组设置): ```bash sudo vi /etc/systemd/system/tomcat.service ``` 在文件中输入以下内容(根据实际安装路径修改): ```ini [Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking # 设置环境变量,例如JAVA_HOME和CATALINA_HOME Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat # 设置运行Tomcat的用户和组,这里以root为例,但建议使用非root用户(如tomcat) User=root Group=root # 启动脚本 ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh # 在超时后发送SIGKILL信号 TimeoutStopSec=10 KillSignal=SIGKILL Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target ``` 注意: - 请将`JAVA_HOME`、`CATALINA_HOME`、`CATALINA_BASE`以及`ExecStart`和`ExecStop`的路径替换为实际路径。 - 如果使用非root用户运行Tomcat,请修改`User`和`Group`为相应的用户和组(例如`tomcat`用户),确保该用户对Tomcat目录有适当的权限。 ### 2. 重新加载systemd配置 保存关闭文件后,运行以下命令使systemd识别新的服务文件: ```bash sudo systemctl daemon-reload ``` ### 3. 启动Tomcat服务设置开机自启 ```bash sudo systemctl start tomcat # 启动服务 sudo systemctl enable tomcat # 设置开机自启 ``` ### 4. 检查服务状态 ```bash sudo systemctl status tomcat ``` 如果一切正常,你应该能看到Tomcat已经成功启动,且服务已设置开机自启。 ### 使用init.d脚本(旧版系统) 对于使用SysVinit的系统(如CentOS 6),可以通过创建init.d脚本来实现: 1. 在`/etc/init.d/`下创建脚本`tomcat`,赋予可执行权限。 2. 使用`chkconfig`或`update-rc.d`命令设置开机启动。 但鉴于现在大多数系统已使用systemd,这里不再详细展开。 ### 注意事项 - 确保Tomcat的启动脚本(`startup.sh`和`shutdown.sh`)有可执行权限。 - 如果Tomcat需要访问某些特权端口(如80),则需要额外配置(如使用`authbind`或设置端口转发)。 ### 相关问题 1. 如何配置Tomcat以非root用户运行? 2. 如何为Tomcat配置SSL证书(HTTPS)? 3. 如何监控Tomcat的运行状态?</think>### 配置Tomcat开机自启动Linux系统) 以下是配置Tomcat开机自启动的标准方法(推荐使用**systemd**方式,适用于大多数现代Linux发行版): #### 方法1:使用systemd(推荐) 1. **创建服务文件** 在`/etc/systemd/system/`目录下创建`tomcat.service`文件: ```bash sudo vi /etc/systemd/system/tomcat.service ``` 2. **写入配置内容**(根据实际路径修改): ```ini [Unit] Description=Apache Tomcat Server After=network.target [Service] Type=forking # 设置环境变量(关键!) Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64" # 修改为你的JDK路径 Environment="CATALINA_HOME=/opt/tomcat" # 修改为Tomcat安装目录 Environment="CATALINA_BASE=/opt/tomcat" # 设置运行用户(建议使用非root用户) User=tomcat Group=tomcat ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target ``` 3. **启用服务**: ```bash sudo systemctl daemon-reload sudo systemctl enable tomcat # 设置开机自启 sudo systemctl start tomcat # 立即启动 sudo systemctl status tomcat # 验证状态 ``` #### 方法2:使用init.d脚本(传统SysVinit系统) 1. **创建启动脚本**: ```bash sudo ln -s /opt/tomcat/bin/startup.sh /etc/init.d/tomcat ``` 2. **设置自启动**: ```bash sudo update-rc.d tomcat defaults # Debian/Ubuntu # 或 sudo chkconfig tomcat on # CentOS 6 ``` --- ### 关键注意事项 1. **环境变量配置** 必须正确设置`JAVA_HOME`和`CATALINA_HOME`,可通过`echo $JAVA_HOME`验证路径。 2. **权限管理** - 建议创建专用用户(避免root运行): ```bash sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat sudo chown -R tomcat: /opt/tomcat ``` 3. **端口冲突** 若需使用80端口,需添加权限: ```bash sudo setcap 'cap_net_bind_service=+ep' /path/to/java ``` 4. **日志验证** 启动后检查日志确认状态: ```bash tail -f /opt/tomcat/logs/catalina.out ``` --- ### 常见问题解决 - **启动失败**:检查`/opt/tomcat/logs/catalina.out`中的错误日志 - **权限拒绝**:用`sudo chmod +x /opt/tomcat/bin/*.sh`添加执行权限 - **端口占用**:用`sudo netstat -tunlp | grep java`检查端口冲突 --- ### 相关问题 1. 如何为Tomcat配置SSL证书实现HTTPS? 2. Tomcat性能优化有哪些关键参数? 3. 如何在Tomcat部署Spring Boot应用?[^3] 4. 如何监控Tomcat的内存使用和线程状态?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值