使用 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(使用普通用户运行)的更多相关文章

  1. 使用jsvc启动tomcat

    1.在/usr/local/apache-tomcat-7.0.68/bin中有commons-daemon-native.tar.gz  压缩包 2.解压commons-daemon-native. ...

  2. Linux下启动Tomcat启动并显示控制台日志信息

    Linux下如何启动Tomcat像Windows启动并显示控制台日志信息一样? Windows下启动tomcat,一般直接运行startup.bat,启动后如下图所示: Linux下直接启动./sta ...

  3. linux-非root用户运行tomcat

    # 前言:为什么要使用非root用户运行tomcat root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(html/js)都具有root权 ...

  4. Linux下非root用户运行Tomcat

    PS:Linux下使用非root用户运行tomcat的原因 由于项目需求,也由于root用户启动tomcat有一个严重的问题,那就是tomcat具有root权限. 这意味着你的任何一个页面脚本(htm ...

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

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

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

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

  7. 将tomcat以普通用户启动

    1.为tomcat创建一个专用启动用户 useradd -M -r -d /dev/null -s /sbin/nologin tomcat 2.编译jsvc ① 进入tomcat的bin目录下 ② ...

  8. 使用非root用户启动tomcat

    以下操作均为以root用户运行1.添加tomcat用户组 /usr/sbin/groupadd tomcat 2.添加tomcat用户,并限制登录 /usr/sbin/useradd -s /bin/ ...

  9. 用普通用户通过sudo进行启动tomcat时报如下异常

    用普通用户通过sudo进行启动tomcat时报如下异常 tomcat user 不在 sudoers 文件中.此事将被报告. 这是由于sudo命令使用root用户执行命令.而处于安全性的考虑,一般不允 ...

随机推荐

  1. kde的配置文件

    主要是home目录下:/.kde4/share/config/ 如果实在是搞不定,还可以直接将.kde4目录全部删除或者替换即可.

  2. 面试题小议---BY gremount

    Problem 1:  两个烧杯,一个放糖一个放盐,用勺子舀一勺糖到盐,搅拌均匀,然后舀一勺混合物会放糖的烧杯,问你两个烧杯哪个杂质多? 提示:相同.(1)可以用一个特殊数据计算一下,可以得到两个烧杯 ...

  3. C++ vector 比较大小

    写在前: vector 是可以直接 进行比较. vector 默认提供的   operator< 内使用了  std::lexicographical_compare  进行比较, operat ...

  4. php手记之02-tp5请求参数读取三种方式

    01-[推荐方式] 当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息.在Thinkphp5.1中,获取请求对象数据,是由think\Request类负责,在很多场合下并不需 ...

  5. 阿里云OSS的 存储包、下行流量包、回流流量包 三者有啥关系

    阿里云OSS的 存储包.下行流量包.回流流量包 三者有啥关系 一.总结 一句话总结: 你把文件放 oss,会占用存储空间,存储包覆盖这部分费用 你访问存储在 oss 里面的文件,会产生下行流量,就是从 ...

  6. linux下如何让控制台程序后台运行

    方法1:./test & 方法2:(./test &) 方法3:nohup 和bg 方法4:screen -mS test /root/test   退出程序需要手动进入screen创 ...

  7. 咏南中间件和开发框架全面支持DELPHI10.3.2

    咏南中间件和开发框架全面支持DELPHI10.3.2 易博龙公司2019年7月12日发布了RAD STUDIO10.3.2正式版本. 咏南中间件自2019年7月14日始,中间件.CS框架.WEB框架. ...

  8. arcgis python 布局中所有元素信息报告

    # Author: ESRI # Date: July 5, 2010 # Version: ArcGIS 10.0 # Purpose: This script generates a report ...

  9. OpenTK学习笔记(3)-你好!窗体!

    参考:http://dreamstatecoding.blogspot.com/2017/01/opengl-4-with-opentk-in-c-part-1.html http://www.cnb ...

  10. Django 测试开发3 数据模型models和admin管理工具

    参考:https://blog.csdn.net/weixin_44510615/article/details/89425412 1.Django模型字段常用类型: IntegerField : 整 ...