将tomcat以普通用户启动
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以普通用户启动的更多相关文章
- 【出错记录】Tomcat非root用户启动无法拥有权限读写文件
简单记录下,如有必要,将深入补充: 一.非root用户运行Tomcat及原因 由于项目中,为了安全需要,Tomcat将禁止以root形式启动,原因很简单,举个例子,一旦有人恶意将jsp文件透过某个别的 ...
- Tomcat普通用户启动注意事项
今天项目部署上线,老大跟我建议说不要使用root用户部署,试用普通用户运行.刚开始没想什么,后来部署的时候碰到各种权限问题. 记录一下,以防忘记了. 1.使用普通用户启动失败. 首先不用想就去$TOM ...
- 简单使用普通用户启动tomcat
新建用户tomcat,该用户不能登录 useradd tomcat -s '/sbin/nologin' 将/usr/local/tomcat/bin/startup.sh更名 mv /usr/loc ...
- centos7新增用户并授权root权限、非root用户启动tomcat程序
一.centos7新增用户并授权root权限 cat /etc/redhat-release查看centos版本号 1.禁用root账户登录 vim /etc/ssh/sshd_config 找到这一 ...
- JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)
1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...
- tomcat manager 的用户权限配置,及环境变量CATALINA_HOME的错位问题
因为tomcat的manager是管理其他项目的发布.删除等操作的管理项目,所以需要为其设置登陆用户和密码,以及用户相应的访问权限,配置如下: tomcat-users.xml需要添加如下内容: &l ...
- Linux 普通用户启动nginx
众所周知,apache的80端口为系统保留端口,如果通过其他非root用户启动,会报错如下: ()Permission denied: make_sock: could not bind to add ...
- Tomcat源码分析——启动与停止服务
前言 熟悉Tomcat的工程师们,肯定都知道Tomcat是如何启动与停止的.对于startup.sh.startup.bat.shutdown.sh.shutdown.bat等脚本或者批处理命令,大家 ...
- eclipse中项目已经启动,可是tomcat一直显示在启动中
一.异常描述 1. 在eclipse中启动tomcat,应用已经启动成功,但是tomcat仍然一直处于starting装填 二.分析原因 1. 更换8080端口为9080,启动tomcat,可以完整启 ...
随机推荐
- C# AES加密解密
完整代码: /****************************************************************** * 创建人:HTL * 创建时间:2015-04-1 ...
- POJ2762 Going from u to v or from v to u? 强连通+缩点
题目链接: poj2762 题意: 给出一幅单向图.问这张图是否满足 随意两点ab 都能 从a到达b 或 从b到达a 题解思路: 推断一幅图是否满足弱连通 首先想到的是将图中的 强连通分量(能互 ...
- 如何解决Win7将任务栏程序自动分组的困扰
Win7默认把任务栏程序自动分组,比如多个资源管理器窗口被分到一起,其实这挺让人恼火的,关键弊病是多出一个人工检查的步骤,这在操作繁忙时容易增加人的负担,不能按预定记忆处理. 还好微软也没把蠢事做绝, ...
- C# 单元测试几个方法的用法
单元测试的基本方法是调用被测代码的函数,输入函数的参数值,获取返回结果,然后与预期测试结果进行比较,如果相等则认为测试通过,否则认为测试不通过. 1.Assert类的使用 Assert.Inconcl ...
- Android 之Toast
Toast 是一个 View 视图,快速的为用户显示少量的信息. Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于一些帮助 / 提示. Toast 最常 ...
- Inside GDALAllRegister之四: 跳过driver
这个函数很短小: /** * \brief This method unload undesirable drivers. * * All drivers specified in the space ...
- [Oracle] decode 函数及其用法
http://blog.csdn.net/oscar999/article/details/18399177 前言 DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值 ...
- storm0.9.0.1升级安装
来自:http://blog.csdn.net/liuzhoulong/article/details/21112101 1,下载0.9.0.1 http://storm.incubator.apac ...
- Junit和Spring
@ContextConfiguration 用来指定加载的Spring配置文件的位置,会加载默认配置文件 例如下例会加载:classpath:/com/example/MyTest-context.x ...
- Java程序猿学习C++之数组和动态数组
数组: #include <iostream> using namespace std; //模板函数 template <class T> void dump(T val) ...