部署jenkins,采用普通用户tomcat来启动tomcat服务

安装jdk+tomcat,部署jenkins,采用普通用户tomcat来启动tomcat服务

1.环境说明

CentOS Linux release 7.3.1611 (Core)
jdk1.8.0_60
apache-tomcat-8.5.23

已经安装好

2.编译安装服务守护程序

cd /usr/local/apache-tomcat-8.5.23/bin/
tar xf commons-daemon-native.tar.gz
cd /usr/local/apache-tomcat-8.5.23/bin/commons-daemon-1.0.15-native-src/unix/
 ./configure

如果编译过程中出现如下错误提示,说明未设置JAVA_HOME变量

 Java compilation tools
checking for JDK location... configure: error: Java Home not defined. Rerun with --with-java=... parameter

可以通过命令行参数指定JDK位置
./configure --with-java=/usr/local/jdk1.8.0_60

配置成功后,开始编译。

make
执行make后会生成一个jsvc的文件,将其复制到tomcat的bin目录
cp jsvc /usr/local/apache-tomcat-8.5.23/bin/

3. 建立一个用来运行Tomcat的用户

useradd tomcat -s /usr/sbin/nologin

4. 修改启动脚本文件

vim /usr/local/apache-tomcat-8.5.23/bin/daemon.sh

   找到如下内容
test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat
#Set JAVA_HOME to working JDK or JRE
#JAVA_HOME=/opt/jdk-1.6.0.22
    修改TOMCAT_USER=tomcat为你指定用来运行tomcat的用户名,去除JAVA_HOME前的注释(即“#”号),并设置为JDK的所在目录。

    在文件靠前位置的注释中加入下面的内容

#chkconfig: - 80 20

5. 修改相关目录和文件权限

chown -R tomcat.tomcat /usr/local/apache-tomcat-8.5.23
chmod a+x /usr/local/apache-tomcat-8.5.23/bin/daemon.sh

6.配置环境变量

tail -6 /etc/profile

unset -f pathmunge
export PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/pureftpd/bin:/usr/local/tomcat/bin
export JAVA_HOME=/usr/local/jdk1.8.0_60
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/usr/local/tomcat

source /etc/profile

7.放置jenkins.war程序到站点目录

[email protected]_82_178_redhat tasks]# cd /usr/local/tomcat/webapps/
[[email protected]_82_178_redhat webapps]# ls
jenkins.war  ROOT

8.启动tomcat服务

启动前先检查tomcat配置文件 server.xml基本语法

[[email protected]_82_178_redhat bin]# which configtest.sh
/usr/local/tomcat/bin/configtest.sh

catalina.sh  configtest

查看tomcat和jdk的版本号

catalina.sh version
daemon.sh version
[[email protected]_82_178_redhat tomcat]# daemon.sh version
Still running according to PID file /usr/local/tomcat/logs/catalina-daemon.pid, PID is 21217
jsvc (Apache Commons Daemon) 1.0.15-dev
Copyright (c) 1999-2011 Apache Software Foundation.
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
commons daemon version "1.0.15-dev"
commons daemon process (id: 22066, parent: 22065)
Server version: Apache Tomcat/8.5.23
Server built:   Sep 28 2017 10:30:11 UTC
Server number:  8.5.23.0
OS Name:        Linux
OS Version:     3.10.0-514.21.1.el7.x86_64
Architecture:   amd64
JVM Version:    1.8.0_60-b27
JVM Vendor:     Oracle Corporation

启动tomcat
daemon.sh start
daemon.sh stop
查看启动进程

[[email protected]_82_178_redhat ~]# ps -ef|grep jsvc
root     21216     1  0 18:12 ?        00:00:00 jsvc.exec -java-home /usr/local/jdk1.8.0_60 -user tomcat -pidfile /usr/local/tomcat/logs/catalina-daemon.pid -wait 10 -outfile /usr/local/tomcat/logs/catalina-daemon.out -errfile &1 -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/commons-daemon.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap
tomcat   21217 21216 39 18:12 ?        00:00:22 jsvc.exec -java-home /usr/local/jdk1.8.0_60 -user tomcat -pidfile /usr/local/tomcat/logs/catalina-daemon.pid -wait 10 -outfile /usr/local/tomcat/logs/catalina-daemon.out -errfile &1 -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/commons-daemon.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap
root     21307 18138  0 18:13 pts/2    00:00:00 grep --color=auto jsvc

查看服务端口

[[email protected]_82_178_redhat ~]# netstat -lntup|grep jsvc
tcp        0      0 0.0.0.0:8009            0.0.0.0:*               LISTEN      21217/jsvc.exec
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      21217/jsvc.exec
udp        0      0 0.0.0.0:33848           0.0.0.0:*                           21217/jsvc.exec
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           21217/jsvc.exec
[[email protected]_82_178_redhat ~]# ss -lntup|grep jsvc
udp    UNCONN     0      0         *:33848                 *:*                   users:(("jsvc",pid=21217,fd=192))
udp    UNCONN     0      0         *:5353                  *:*                   users:(("jsvc",pid=21217,fd=195))
tcp    LISTEN     0      100       *:8009                  *:*                   users:(("jsvc",pid=21217,fd=55))
tcp    LISTEN     0      100       *:8080                  *:*                   users:(("jsvc",pid=21217,fd=50))

到此处tomcat启动成功

9.tomcat服务的控制台的日志

grep ‘Jenkins initialization thread‘ /usr/local/tomcat/logs/catalina-daemon.out 

21-Apr-2018 17:57:30.599 INFO [Jenkins initialization thread] hudson.WebAppMain$3.run Jenkins is fully up and running
21-Apr-2018 18:12:53.998 WARNING [Jenkins initialization thread] hudson.util.PluginServletFilter.addFilter Filter instance is registered too early: [email protected]
21-Apr-2018 18:12:54.004 WARNING [Jenkins initialization thread] hudson.util.PluginServletFilter.addFilter Filter instance is registered too early: [email protected]
21-Apr-2018 18:12:54.878 INFO [Jenkins initialization thread] jenkins.install.SetupWizard.init
21-Apr-2018 18:13:14.898 WARNING [Jenkins initialization thread] hudson.model.UpdateCenter.updateDefaultSite Upgrading Jenkins. Failed to update the default Update Site ‘default‘. Plugin upgrades may fail.
21-Apr-2018 18:13:14.989 INFO [Jenkins initialization thread] hudson.WebAppMain$3.run Jenkins is fully up and running
日志可以看到jenkins服务部署成功

同时在/home/tomcat/ 下面生成两个隐藏目录

[[email protected]_82_178_redhat tomcat]# ls -al /home/tomcat/
total 16
drwxr-xr-x  4 tomcat tomcat 4096 Apr 21 18:12 .
drwxr-xr-x. 3 root   root   4096 Apr 21 17:40 ..
drwxr-xr-x  9 tomcat tomcat 4096 Apr 21 18:13 .jenkins
drwx------  2 tomcat tomcat 4096 Apr 21 18:12 .oracle_jre_usage

.jenkins文件下存放着jenkins注册时的相关的重要的密码文件等

[[email protected]_82_178_redhat tomcat]# cat /home/tomcat/.jenkins/secrets/initialAdminPassword
e57476c34eca47869fbe5100900ade4a

10.注册jenkins服务





11.让tomcat服务开机自启动

ln -sv /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat8

[[email protected]_82_178_redhat ~]#ln -sv /usr/local/tomcat/bin/daemon.sh /etc/init.d/tomcat8
‘/etc/init.d/tomcat8’ -> ‘/usr/local/tomcat/bin/daemon.sh’
[[email protected]_82_178_redhat ~]# ll /etc/init.d/tomcat8
lrwxrwxrwx 1 root root 31 Apr 21 19:19 /etc/init.d/tomcat8 -> /usr/local/tomcat/bin/daemon.sh
/etc/init.d/tomcat8 stop
/etc/init.d/tomcat8 start

[[email protected]_82_178_redhat ~]# chkconfig --add tomcat8
[[email protected]_82_178_redhat ~]# chkconfig tomcat8 on
[[email protected]_82_178_redhat ~]# chkconfig --ist|grep tomcat8
--ist: unknown option
[[email protected]_82_178_redhat ~]# chkconfig --list|grep tomcat8

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use ‘systemctl list-unit-files‘.
      To see services enabled on particular target use
      ‘systemctl list-dependencies [target]‘.

tomcat8         0:off   1:off   2:on    3:on    4:on    5:on    6:off

到此处介绍完成

tomcat服务普通用户启动参考文档:
https://www.cnblogs.com/allegro/p/5005352.html

原文地址:http://blog.51cto.com/wujianwei/2106180

时间: 2024-11-08 00:51:19

部署jenkins,采用普通用户tomcat来启动tomcat服务的相关文章

tomcat(17)启动tomcat

[0]README 1)本文部分文字描述转自"how tomcat works",旨在学习"tomcat(17)启动tomcat"的相关知识: 2)本文重点关注启动Tomcat时会用到的两个类,分别是Catalina类和 Bootstrap类:(干货--引入tomcat启动时用到了两个类,分别是Catalina类和 Bootstrap类) 2.1)org.apache.catalina.startup.Catalina类:用于启动和关闭Server对象,并负责解析T

成绩查询系统--发布篇--centOS7 tomcat开机启动 + mysql数据库配置

前情介绍 成绩查询系统投入使用,部署在一台linux服务器上,是centOS7系统的.之前在本机的虚拟机中装过centOS7,还写了一篇博客.这次呢,系统是已经装好了的,我不需要再装一次了,然后jdk环境之前就弄好了,mysql也已经装好了(但是实际上从未投入过使用),还有jboss服务器也装好了,不过我的项目用的是tomcat,所以我只要装一个tomcat就好了. Tomcat安装 首先,从tomcat官网上下载,tomcat的linux版本,我下载的是tomcat7,版本是:apache-t

linux根据部署jenkins

1. Jenkins 下载 Jenkins 下载网址:http://jenkins-ci.org/ 2. Jenkins 安装 (1) 安装JDK JDK下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 安装: 解压下载的JDK:tar zxvf jdk-7u55-linux-x64.gz 复制(注:/usr/java文件夹不存在):cp -r jdk1.7.0_55/ /

开机启动tomcat

windows: 成功之后在dos窗口键入 service.bat install Tomcat 输完然后按Enter键,出现如下窗口,便成功了. 进入windows服务管理,设成是自动的. #chkconfig --add myservice linux: 常常会出现 service myservice does not support chkconfig 我们一般在脚本开头加入下面两句就好了 #gedit /etc/init.d/myservice 添加下面两句到 #!/bin/bash 之

使用daemon方式启动tomcat(CentOS7)

在生产中,tomcat应该以daemon的模式运行,而且如果需要以普通用户的身份启动tomcat,那么就不能使用1024以下的端口,这是Liunx系统的限制,只有root用户才能使用小于1024的端口.那么该如何将tomcat配置成服务呢?接下来,我们就来聊一聊jsvc这个东东.jsvc是什么,简单的讲,它就是一个C程序,是tomcat发行版中自带的一套代码,路径在tomcat/bin/commons-daemon-native.tar.gz中.有了jsvc,我们就可以简单的定制tomcat的启

Linux下Tomcat的启动、关闭

在Linux系统下,启动和关闭Tomcat使用命令操作. 进入Tomcat下的bin目录 cd /java/tomcat/bin 启动Tomcat命令 ./startup.sh 停止Tomcat服务命令 ./shutdown.sh 执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep java 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程.网上看了下导致僵尸进程的原因可能是有非守护线程(即

centos 7 配置tomcat开机启动

1. tomcat 需要增加一个pid文件 在tomca/bin 目录下面,增加 setenv.sh 配置,catalina.sh启动的时候会调用,同时配置java内存参数. #add tomcat pid CATALINA_PID="$CATALINA_BASE/tomcat.pid" #add java opts JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -X

详解Tomcat系列(一)-从源码分析Tomcat的启动

在整个Tomcat系列文章讲解之前, 我想说的是虽然整个Tomcat体系比较复杂, 但是Tomcat中的代码并不难读, 只要认真花点功夫, 一定能啃下来. 由于篇幅的原因, 很难把Tomcat所有的知识点都放到同一篇文章中, 我将把Tomcat系列文章分为Tomcat的启动, Tomcat中各模块的介绍和Tomcat中的设计模式三部分, 欢迎阅读与关注. 一:通过idea搭建Tomcat源码阅读环境 首先我们到Tomcat的官网(http://tomcat.apache.org/)上下载Tomc

Tomcat专题(二)-----Tomcat源码、嵌入式Tomcat

Tomcat顶层结构 Server:服务器的意思,代表整个tomcat服务 器,一个tomcat只有一个Server: Service:Server中的一个逻辑功能层, 一个 Server可以包含多个Service: Connector:称作连接器,是Service的核心组 件之一,一个Service可以有多个Connector, 主要是连接客户端请求: Container:Service的另一个核心组件,按照 层级有Engine,Host,Context,Wrapper四种, 一个Servic