1、为tomcat创建一个专用启动用户

  useradd -M -r -d /dev/null -s /sbin/nologin tomcat

2、编译jsvc

  ① 进入tomcat的bin目录下

  ② 解压commons-daemon-native.tar.gz:   tar -xf commons-daemon-native.tar.gz

  ③ 进入解压后的unix目录: cd commons-daemon-1.0.15-native-src/unix/

  ④ 执行buildconf命令: sh support/buildconf.sh

  ⑤ 编译:  ./configure --with-java=/usr/local/java/jdk-9,  --with-java后面的值是jdk的安装目录

  ⑥ 编译: make

  ⑦ 将jsvc文件拷贝到tomcat的bin目录下: cp jsvc /usr/local/tomcat/apache-tomcat-9.0.1/bin/

  ⑧ 移除daemon编译文件:  rm -rf commons-daemon-1.0.15-native-src/

3、配置jsvc启动脚本

  ① 进入tomcat的bin目录下,拷贝daemon.sh到/etc/init.d下: cp daemon.sh /etc/init.d/tomcat

  ② 编辑tomcat: vim /etc/init.d/tomcat

  ③ 在文件头部加上环境变量 

    export JAVA_HOME=/usr/local/java/jdk-9
    export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-9.0.1
    export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.1
    export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.1
    export CATALINA_TMPDIR=/usr/local/tomcat/apache-tomcat-9.0.1/temp

  ④ daemon默认的普通用户的用户名为tomcat,如果不是,则修改相应的用户:将 test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat  这句话最后面的tomcat修改成指定的用户名

  ⑤ 保持退出  :wq

4、启动tomcat

  /etc/ini.d/tomcat start

  注意: 将tomcat的所有者切换成tomcat用户,不然会因为权限不足导致无法启动tomcat(chown -R tomcat:tomcat tomcat目录)

错误解决:

1、执行buildconf命令时,提示

  答: 缺少autoconf命令,直接安装autoconf即可。 yum install autoconf

将tomcat以普通用户启动的更多相关文章

  1. 【出错记录】Tomcat非root用户启动无法拥有权限读写文件

    简单记录下,如有必要,将深入补充: 一.非root用户运行Tomcat及原因 由于项目中,为了安全需要,Tomcat将禁止以root形式启动,原因很简单,举个例子,一旦有人恶意将jsp文件透过某个别的 ...

  2. Tomcat普通用户启动注意事项

    今天项目部署上线,老大跟我建议说不要使用root用户部署,试用普通用户运行.刚开始没想什么,后来部署的时候碰到各种权限问题. 记录一下,以防忘记了. 1.使用普通用户启动失败. 首先不用想就去$TOM ...

  3. 简单使用普通用户启动tomcat

    新建用户tomcat,该用户不能登录 useradd tomcat -s '/sbin/nologin' 将/usr/local/tomcat/bin/startup.sh更名 mv /usr/loc ...

  4. centos7新增用户并授权root权限、非root用户启动tomcat程序

    一.centos7新增用户并授权root权限 cat /etc/redhat-release查看centos版本号 1.禁用root账户登录 vim /etc/ssh/sshd_config 找到这一 ...

  5. JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)

    1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...

  6. tomcat manager 的用户权限配置,及环境变量CATALINA_HOME的错位问题

    因为tomcat的manager是管理其他项目的发布.删除等操作的管理项目,所以需要为其设置登陆用户和密码,以及用户相应的访问权限,配置如下: tomcat-users.xml需要添加如下内容: &l ...

  7. Linux 普通用户启动nginx

    众所周知,apache的80端口为系统保留端口,如果通过其他非root用户启动,会报错如下: ()Permission denied: make_sock: could not bind to add ...

  8. Tomcat源码分析——启动与停止服务

    前言 熟悉Tomcat的工程师们,肯定都知道Tomcat是如何启动与停止的.对于startup.sh.startup.bat.shutdown.sh.shutdown.bat等脚本或者批处理命令,大家 ...

  9. eclipse中项目已经启动,可是tomcat一直显示在启动中

    一.异常描述 1. 在eclipse中启动tomcat,应用已经启动成功,但是tomcat仍然一直处于starting装填 二.分析原因 1. 更换8080端口为9080,启动tomcat,可以完整启 ...

随机推荐

  1. Java基础(八):多态

    一.多态的理解: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作,如图所示: 多态性是对象多种表现形式的体现:现实中,比如我们按下 F1 键这个动 ...

  2. POJ 1836-Alignment(DP/LIS变形)

    Alignment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 13465   Accepted: 4336 Descri ...

  3. DockPanel 类

    DockPanel 类 .NET Framework 4.5   其他版本   此主题尚未评级 - 评价此主题   定义您可水平或垂直排列子元素的区域,互相. 继承层次结构   System.Obje ...

  4. 【Android 百度地图实战】2.几种地图图层的显示

    具体代码官网API已提供,地址在这. 效果图如下: 主要代码: // 创建选项菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { ...

  5. 开源 免费 java CMS - FreeCMS1.9 会员权限管理

    项目地址:http://www.freeteam.cn/ 会员权限管理 管理会员可使用的权限.会员在使用某一特定功能时,如投稿.可依据此会员所在会员组是否有投稿权限来决定会员能否够使用投稿功能. 1. ...

  6. 单点登录(SSO)(原创)

    单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 下面的sso ...

  7. layer获取iframe内容

    var layer1 = function() { layer.open({ type: 2, title: '标题', maxmin: false, area: ['780px', '600px'] ...

  8. Android 四大组件之 Service(二)

    这里主要介绍Service组件的使用. 1.定义一个继承Service的子类 如下: package com.service; import android.app.Service; import a ...

  9. URI是什么意思?URI和URL有什么区别?

    URI是什么意思?URI和URL有什么区别? 详解! HTTP = Hyper Text Transfer ProtocolURI = Universal Resource IdentifierURL ...

  10. oracle 多字段去重查询

      oracle 多字段去重查询 CreationTime--2018年6月29日15点11分 Author:Marydon 1.情景展示 需要对表BASE_MRI_DEVICE的COMPNAME.F ...