在linux系统上以非root帐号安装运行tomcat-8.5.54

在项目中经常用到在linux系统中安装部署tomcat,一般都是复制到linux中,用root帐号启动运行,但是从安全的角度来说,这是一个非常大的隐患。因此决定用非root帐号运行tomcat,并配置成随开机启动。从网上查找了很多资料,都说的比较模糊,尤其是在配置PID文件的地方,没有说的很清晰,导致不能正常启动tomcat,经过实践,总结过程如下:

  1. Jdk

按照官网要求的jdk版本,在linux系统中安装并配置好。这里就不详述了。

  1. 创建用于运行tomcat的专用帐号

$ sudo useradd tomcat -M -d / -s /usr/sbin/nologin  

该帐号不能通过交互式方式登录系统,只能用于运行tomcat服务。

  1. 下载tomcat

进入tomcat官网,下载最新的8.5版本。

解压到当前目录

把解压好的目录移动到系统的opt目录中,方便管理

$ sudo mv apache-tomcat-8.5.45 /opt/

改变目录所属用户为tomcat,以便能用tomat用户启动服务。

$ cd apache-tomcat-8.5.45

$ cd bin

$ sudo chmod 755 digest.sh shutdown.sh version.sh ciphers.sh configtest.sh setclasspath.sh startup.sh catalina.sh daemon.sh startup.sh tool-wrapper.sh

以上操作是将sh文件修改为可执行模式,否则tomcat启动时会报不是可执行文件。

  1. 创建服务文件tomcat.service

$sudo nano /usr/lib/system/system/tomcat.service

内容如下:

[Unit]

Description=Apache Tomcat 8

After=syslog.target network.target

 

[Service]

Type=forking

PIDFile=/opt/apache-tomcat-8.5.45/tomcat.pid

ExecStart=/opt/apache-tomcat-8.5.45/bin/catalina.sh start

ExecStop=/opt/apache-tomcat-8.5.45/bin/catalina.sh stop

ExecReload=/opt/apache-tomcat-8.5.45/catalina.sh restart

PrivateTmp=true

User=tomcat

Group=tomcat

 

[Install]

WantedBy=multi-user.target

注意这里的PIDFile参数,需要在tomcat的启动文件catalina.sh中也要增加相应的配置

  1. 修改配置文件catalina.sh

在目录/opt/apache-tomcat-8.5.45/bin中,找到catalina.sh并打开。

找到# OS specific support.这一行,在这一行之前增加内容:

CATALINA_PID=/opt/apache-tomcat-8.5.45/tomcat.pid

  1. 启动服务

$ sudo systemctl start tomcat

看一下是否启动正常

用浏览器访问是否正常

设置开机启动服务

$ sudo systemctl enable tomcat

  1. 其他注意事项

如果曾经用root帐号直接在bin目录中运行过catalina.sh或startup.sh。tomcat会在work目录中创建一些root权限的目录,在用tomcat用户启动服务时,会报无法找到输出目录。解决方法就是删除work目录中的所有文件就行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值