centos安装tomcat设置开机启动
来源:互联网 发布:汽车行业数据库 编辑:程序博客网 时间:2024/06/05 07:09
Centos下Tomcat以指定的用户,非root权限开机自启
安装tomcat
tomcat解压就能用 安装包可以从官网上下载。
[root@template tmp]# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69.tar.gz解压[root@template tmp]# tar -zxvf apache-tomcat-7.0.69.tar.gz -C /usr/local/启动 注意这里我重命名了解压出来的文件夹名apache-tomcat-7.0.69为tomcat7[root@template local]# mv apache-tomcat-7.0.69 tomcat7[root@template bin]# cd /usr/local/tomcat7/bin/[root@template bin]# ./startup.sh 关闭[root@template bin]# ./shutdown.sh
设置开机启动root用户 建议看下面更新部分 Tomcat以指定的用户,非root权限开机自启
增加开机启动服务 从安装oracle开机启动学的 脚本比较low
具体编辑脚本
vim /etc/init.d/tomcat7 #创建新文件 tomcat7是我自己取得名字 #!/bin/bash# oracle: Start/Stop tomcat7 # chkconfig: 345 90 10# description: tomcat .JAVA_HOME=/usr/local/jdk1.7.0_79JRE_HOME=$JAVA_HOME/jre. /etc/rc.d/init.d/functionsLOCKFILE=/var/lock/subsys/tomcat7flagTOMCAT_HOME=/usr/local/tomcat7/TOMCAT_USER=rootcase "$1" in'start') if [ -f $LOCKFILE ]; then echo $0 already running. exit 1 fi echo -n $"Starting tomcat! " /usr/local/tomcat7/bin/startup.sh touch $LOCKFILE ;;'stop') if [ ! -f $LOCKFILE ]; then echo $0 already stopping. exit 1 fi echo -n $"Stopping tomcat! " /usr/local/tomcat7/bin/shutdown.sh rm -f $LOCKFILE ;;'restart') $0 stop $0 start ;;'status') if [ -f $LOCKFILE ]; then echo $0 started. else echo $0 stopped. fi ;;*) echo "Usage: $0 [start|stop|status]" exit 1esacexit 0
修改/etc/init.d/tomcat7服务文件权限
[root@CentOS init.d]# chmod 755 /etc/init.d/tomcat7
#chkconfig --add tomcat7
说明 如果脚本没写好 可能出现
service myservice does not support chkconfig
解决办法
添加下面两句到 #!/bin/bash 之后。# chkconfig: 2345 10 90 # description: myservice ....
设置为开机启动
如果提示
[root@template sbin]# service tomcat7 stopStopping tomcat! Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least one of these environment variable is needed to run this program
tomcat中需要做如下修改
vim /usr/local/tomcat7/bin/startup.sh 添加如下环境变量export JAVA_HOME=/usr/local/jdk1.7.0_79export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.export PATH=$PATH:$JAVA_HOME/binexport CATALINA_HOME=/usr/local/tomcat7
[root@CentOS ~]# chkconfig tomcat7 on
进行service tomcat7 start/stop/restart测试
还有一种简单的办法 直接在启动文件中加启动命令
在/etc/rc.d/rc.local中加入:
/usr/local/tomcat7/bin/startup.sh
Tomcat以指定的用户,非root权限开机自启
2016年5月29日16:44:25 更新 tomcat非root运行
以上安装无法指定启动Tomcat服务的用户,会导致Tomcat以超级用户运行,存在重大的安全隐患!
在Linux下,Tomcat可以作为一个守护进程来启动以及停止,这个必须借助于项目commons-daemon中的jsvc工具。Tomcat安装完后就带有这个工具的源码{tomcat}/bin/下。按照下列命令安装这个工具:
[root@template ~]# cd /usr/local/tomcat7/bin/[root@template bin]# tar -zxvf commons-daemon-native.tar.gz
#解压出来文件名commons-daemon-1.0.15-native-src[root@template unix]#cd /usr/local/tomcat7/bin/commons-daemon-1.0.15-native-src/unix#自己的java home echo $JAVA_HOME可以查看到,如没有请先配置参考上篇centos搭建java环境[root@template unix]# ./configure --with-java=/usr/local/jdk1.7.0_79[root@template unix]# make#make后,会在当前文件夹下生成一个名为 jsvc 的文件,将其复制到/bin目录[root@template unix]# cp jsvc /usr/local/tomcat7/bin/#删掉我之前useradd建的tomcat7用户[root@template ~]# userdel -r tomcat7#添加一个用来运行Tomcat的用户,不允许登录[root@template ~]# useradd tomcat7 -M -d / -s /usr/sbin/nologin#回到/bin目录下[root@template unix]# cd /usr/local/tomcat7/bin/#接下来便是修改/bin目录下的 daemon.sh 文件vim daemon.sh#脚本开始添加TOMCAT_USER=tomcat7JAVA_HOME=/usr/local/jdk1.7.0_79#赋予执行权限 之前复制过来的jsvc所有者还是root所以这步建议靠后执行[root@template bin]# chown -R tomcat7:tomcat7 /usr/local/tomcat7/#启动一下[root@template bin]# ./daemon.sh start看看有没有正常启动[root@template bin]# netstat -lnp |grep 8080tcp 0 0 :::8080 :::* LISTEN 3208/jsvc.exec #也可以这样看一下 注:之前配了nginx代理到8080端口 如没有需加127.0.0.1:8080得到的应该是tomcat主页[root@template bin]# curl 127.0.0.1
启动成功然后需要设置Tomcat为Service
创建 $CATALINA_HOME/bin/daemon.sh 的一个链接到 /etc/init.d/ 下,service名为tomcat7
注意这里之前我配置过一个自启动的先删掉,有点舍不得 还是移到备份目录
[root@template bin]# mkdir /home/backupFiles[root@template bin]# mv /etc/init.d/tomcat7 /home/backupFiles/[root@template bin]# ln -s /usr/local/tomcat7/bin/daemon.sh /etc/init.d/tomcat7#试一试 结果正常[root@template bin]# service tomcat7 stop
添加到chkconfig
[root@template bin]# chkconfig --list |grep tomcat[root@template bin]# chkconfig --add tomcat7service tomcat7 does not support chkconfig
有经验了,修改脚本就好了 参考上篇centos服务器配置java环境
增加开机启动服务 部分
vim /etc/init.d/tomcat7 添加下面两句到 #!/bin/bash 之后。# chkconfig: 2345 10 90 # description: myservice ....
再次执行添加,成功后设置开机启动。重启验证一下
[root@template bin]# chkconfig --add tomcat7[root@template bin]# chkconfig tomcat7 on [root@template bin]# reboot#搞定,收工![root@template ~]# netstat -lnp |grep 8080tcp 0 0 :::8080 :::* LISTEN 1445/jsvc.exec
- centos安装tomcat设置开机启动
- Centos 设置tomcat开机启动
- centos设置tomcat开机启动
- linux【centos 】 安装tomcat并设置成开机启动
- CentOS 设置 Tomcat 开机自动启动
- CentOS7,安装Tomcat8.5、JDK1.8,并设置开机启动(Linux CentOS Tomcat、JDK+Tomcat、Tomcat开机自启动)
- CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤
- CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤
- CentOS 64-bit下安装JDK和Tomcat并设置Tomcat开机启动操作步骤
- Centos开机启动tomcat
- centos 开机启动tomcat
- CentOS设置开机启动
- CentOS设置开机启动
- centos开机启动设置
- CentOS设置开机启动
- CentOS设置开机启动
- 设置tomcat 开机启动
- linux CentOS 下设置 tomcat开机自启动
- 动态规划-3024
- 懒
- codeforces 675C Money Transfers
- 【C#】C#高级语法
- Struts2-Struts2标签
- centos安装tomcat设置开机启动
- Swift-变量和常量
- ClientDataSet字段不能进行编辑时的解决方法
- Media change: please insert the disc labeled 解决方法
- JavaScript学习笔记
- php之parse_url 、parse_str 、http_build_query
- SQL Server 创建索引分区
- 动态规划-3007
- 【java并发】线程技术之死锁问题