使用 jsvc 启动tomcat(使用普通用户运行)
使用 jsvc 启动tomcat(使用普通用户运行)
jsvc简介
在生产中,tomcat应该以daemon的模式运行,而且如果需要以普通用户的身份启动tomcat,那么就不能使用1024以下的端口,这是Liunx系统的限制,只有root用户才能使用小于1024的端口。那么该如何将tomcat配置成服务呢?我们通过 jsvc 可以很简单的 封装我们自己的 启动脚本,还可以 随意制定 tomcat 运行用户和组,还可以指定 jvm 的运行参数例如内存控制,语言,字符编码。我们还可以指定 tomcat 启动是的 pidfile 总之我们可以更精细的控制tomcat的运行方式。比原始脚本拥有无法比拟的优势。
好了!吹了这么多,这篇只想操作一下怎么去使用普通用户运行,其他的我还没学!
设置Tomcat目录的使用权限
创建tomcat用户(默认连带也创建tomcat组)
useradd tomcat
将tomcat目录的属主用户设置为tomcat,属组设置为tomcat组
chown -R tomcat:tomcat /usr/local/tomcat/
这时显示的tomcat root权限 其实是指这条软链接是归属root 我们所链接的tomcat目录已经属主为tomcat 并且-R递归传递权限。
对组内用户开放tomcat下所有文件的可读权限,以免启动时报错。如,不能读取sever.xml文件
chmod -R g+r tomcat/
对组内用户开放tomcat下webapps,logs,work,temp目录的可写权限
chmod -R g+w logs/ temp/ webapps/ work/
安装jsvc
上次已经讲过部署Java+Tomcat环境,此篇是上次的后续。
附上前篇文章:https://www.cnblogs.com/cany/p/10823091.html
jsvc是绑定到tomcat二进制发行版,找到源代码包,准备编译成二进制文件。
进入tomcat下面的bin目录 找到commons-daemon-native.tar.gz
解压源代码包
tar -zxvf commons-daemon-native.tar.gz
进入解压的目录,进行编译
cd commons-daemon-1.0.15-native-src/unix
./configure --with-java=$JAVA_HOME
出现以上错误为没有安装gcc 编译环境
yum install gcc-c++ -y
再次运行出现以下内容就可以啦
进行编译
make
编译完成后,会在当前文件夹生成一个jsvc的文件
将它拷贝到tomcat bin目录下
cp jsvc /usr/local/tomcat/bin/
这时我们用daemon.sh 去运行我们的tomcat
./daemon.sh start
其他命令:
./daemon.sh stop
使用 jsvc 启动tomcat(使用普通用户运行)的更多相关文章
- 使用jsvc启动tomcat
1.在/usr/local/apache-tomcat-7.0.68/bin中有commons-daemon-native.tar.gz 压缩包 2.解压commons-daemon-native. ...
- Linux下启动Tomcat启动并显示控制台日志信息
Linux下如何启动Tomcat像Windows启动并显示控制台日志信息一样? Windows下启动tomcat,一般直接运行startup.bat,启动后如下图所示: Linux下直接启动./sta ...
- linux-非root用户运行tomcat
# 前言:为什么要使用非root用户运行tomcat root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(html/js)都具有root权 ...
- Linux下非root用户运行Tomcat
PS:Linux下使用非root用户运行tomcat的原因 由于项目需求,也由于root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(htm ...
- JavaWeb学习之tomcat安装与运行、tomcat的目录结构、配置tomcat的管理用户、web项目目录、虚拟目录、虚拟主机(1)
1.tomcat安装与运行双击tomcat目录下的bin/startup.bat,启动之后,输入http://localhost:8080,出现安装成功的提示,表示安装tomcat成功 2.tomca ...
- 【出错记录】Tomcat非root用户启动无法拥有权限读写文件
简单记录下,如有必要,将深入补充: 一.非root用户运行Tomcat及原因 由于项目中,为了安全需要,Tomcat将禁止以root形式启动,原因很简单,举个例子,一旦有人恶意将jsp文件透过某个别的 ...
- 将tomcat以普通用户启动
1.为tomcat创建一个专用启动用户 useradd -M -r -d /dev/null -s /sbin/nologin tomcat 2.编译jsvc ① 进入tomcat的bin目录下 ② ...
- 使用非root用户启动tomcat
以下操作均为以root用户运行1.添加tomcat用户组 /usr/sbin/groupadd tomcat 2.添加tomcat用户,并限制登录 /usr/sbin/useradd -s /bin/ ...
- 用普通用户通过sudo进行启动tomcat时报如下异常
用普通用户通过sudo进行启动tomcat时报如下异常 tomcat user 不在 sudoers 文件中.此事将被报告. 这是由于sudo命令使用root用户执行命令.而处于安全性的考虑,一般不允 ...
随机推荐
- [线性代数] 线性代数入门A Gentle Introduction
An Overview: System of Linear Equations Basically, linear algebra solves system of linear equations ...
- cas系列-自定义异常提示(五)
cas对于异常提示可以支持多语言,默认是英语,具体文件格式大同小异.这里以cas5.x版本为例. 官方推荐使用overlay方式部署,这样你只需要关注你自定义的配置即可. 获取自定义配置文件方式: 执 ...
- 查询sqlserver中所有的数据库表 与 查询表中的说明注释字段
1.查询数据库中所有的数据库表 SELECT * FROM sysobjects WHERE xtype = 'u' AND name != 'sysdiagrams'; 2.查询数据库表中的说明字段 ...
- hdu2476(区间dp+dp)
String painter Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- .vue的文件在vscode里面是白色?
https://cnodejs.org/topic/58b8cac17872ea0864fee2ee 要装一个 vetur的插件
- legend3---阿里云服务器配置多个网站项目
legend3---阿里云服务器配置多个网站项目 一.总结 一句话总结: 就是和本机上面的一样,多个域名可以指向同一个ip,配置apache的时候记得ServerName配置域名,不要直接整ip 二. ...
- Flutter移动电商实战 --(48)详细页_详情和评论的切换
增加切换的效果,我们主要是修改这个地方 这样我们的评论的内容就显示出来了 最终代码 details_web.dart import 'package:flutter/material.dart'; i ...
- Wamp 升级php7.3报错
电脑系统:win10 Wamp版本: WampServer Version 3.0.4 32bit Apache 2.4.18 - PHP 7.3.7 - MySQL 5.7.11 PHP 5.6.1 ...
- openstack 基镜像展开过程
- 【Python】把文件名命名成canlendar.py竟然导致无法使用canlendar模块 附赠2020年月历
这个bug困扰了我一阵,直到在 http://www.codingke.com/question/15489 找到了解决问题的钥匙,真是没想到居然是这个原因导致的. 下面是出错信息,可以看到只要目录下 ...