Tomcat 部署安装Jenkins

前言

Jenkins 是一款开源的持续集成工具,可以自动化地构建、测试和部署软件项目。它支持很多软件开发的工具和技术,如 Git、Subversion、Maven、Gradle 等,提供了很多插件来扩展其功能。

Jenkins 具有以下特点:

(1)开源免费:Jenkins 是一款免费的开源软件,任何人都可以下载和使用。

(2)易于安装和配置:Jenkins 的安装和配置非常简单,用户只需按照官方文档的指导即可。

(3)支持多种语言和技术:Jenkins 支持多种语言和技术,如 Java、Ruby、Python、PHP 等。

(4)支持持续集成和持续交付:Jenkins 支持持续集成和持续交付,可以自动化地构建、测试和部署软件项目。

(5)提供丰富的插件:Jenkins 提供了很多插件,用户可以根据自己的需要来选择和安装。

(6)可扩展性强:Jenkins 的可扩展性非常强,用户可以自定义插件和配置来扩展其功能。

总之,Jenkins 是一款非常优秀的持续集成工具,可以帮助开发者自动化地构建、测试和部署软件项目,提高软件开发的效率和质量。

不知道该下载Jenkins war包哪个版本请查看:https://mirrors.jenkins.io/war-stable/

本人下载的war包:https://mirrors.jenkins.io/war-stable/2.346.1/

点击Jenkins.war即可下载。

!!! 做本实验前请确保安装了Tomcat以及JDK。

目录

[1 配置](#1 配置)

[1.1 日志格式配置](#1.1 日志格式配置)

[1.2 优化JVM](#1.2 优化JVM)

[1.3 开启GC日志](#1.3 开启GC日志)

[1.4 开启JMX端口](#1.4 开启JMX端口)

[1.5 取消JVM的默认DNS缓存时间](#1.5 取消JVM的默认DNS缓存时间)

[2 部署安装Jenkins](#2 部署安装Jenkins)

[2.1 获取war包](#2.1 获取war包)

[2.2 上传war包](#2.2 上传war包)

[2.3 启动Tomcat](#2.3 启动Tomcat)

[2.4 浏览器访问](#2.4 浏览器访问)


1 配置

1.1 日志格式配置

开启Tomcat默认访问日志中Referer 和User-agent记录。

【一旦出现安全问题能够更好的根据日志进行问题排查和解决】

以我的为例,我的Tomcat安装在application目录下。

复制代码
vi /application/tomcat/conf/server.xml

在%b后添加如下内容:

复制代码
%{Referer}i %{User-Agent}i %D" resolveHosts="false"

1.2 优化JVM

编辑catalina.sh配置文件。

复制代码
vi /application/tomcat/bin/catalina.sh

添加下列优化参数:

复制代码
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m"

其中Xms为初始堆大小 (即jvm启动时分配的内存大小),Xmx为最大堆大小 (即jvm运行过程中分配的最大内存大小),我们一般将这两个值设置相同,建议均设为物理内存的一半(可以使用free -m命令查看),不能超过物理内存,以避免垃圾回收完成后jvm重新分配内存。

1.3 开启GC日志

(1)创建GC日志存放路径

复制代码
mkdir -p /data0/logs/

(2)编辑catalina.sh配置文件。

复制代码
vi /application/tomcat/bin/catalina.sh

在刚刚添加的优化参数后添加下列参数即可。

复制代码
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/data0/logs/gc-%t.log

-XX:+PrintGCDetails #查看 GC 详细信息

-XX:+PrintGCDateStamps #输出GC的时间戳(以日期的形式)

添加完毕后保存退出。

1.4 开启JMX端口

编辑catalina.sh配置文件。

在刚才优化参数下面添加下列内容:

复制代码
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=10086
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=192.168.10.123"

jmxremote.port #开启的监听端口,可自行定义。

jmxremote.authenticate #false表示监控不需要用户和密码。

jmxremote.ssl #是否表示需要认证,我们不需要认证。

hostname #主机名(必须是DNS可解析的主机名)。

1.5 取消JVM的默认DNS缓存时间

不缓存DNS记录,避免DNS解析更改后要重启JVM虚拟机。

在刚才优化参数下面添加下列内容:

复制代码
CATALINA_OPTS="$CATALINA_OPTS -Dsun.net.inetaddr.ttl=0 -Dsun.net.inetaddr.negative.ttl=0"

添加完毕后保存退出。

2 部署安装Jenkins

2.1 获取war包

Jenkins war包官方获取地址:https://www.jenkins.io/zh/download/

点击框内内容即可下载。

2.2 上传war包

将Jenkins war包上传到webapps目录下。

复制代码
cd /application/tomcat/webapps/
rm -rf *
rz

2.3 启动Tomcat

在Linux命令行界面中,切换到Tomcat的bin目录,执行**./startup.sh**

复制代码
/application/tomcat/bin/startup.sh

运行成功后webapps 目录下面会出现 jenkins

2.4 浏览器访问

复制代码
http://IP地址:8080/jenkins/

出现如图所示情况我们复制框内内容,使用cat命令查看。

复制代码
cat /root/.jenkins/secrets/initialAdminPassword

复制查询到的密码到管理员密码 ---> 点击继续。

点击安装推荐的插件或者直接右上角关闭,进入Jenkins再安装也行。(安装时间过长建议直接关闭。)

这里我们点击安装推荐的插件。

等待下载即可。下载完成后我们点击继续。

可以直接点击使用admin账户继续或者填写创建管理员用户信息并点击保存并继续。

这里我选择使用admin账户继续。

点击保存并完成。

点击开始使用Jenkins

成功进入Jenkins!

我们可以点击左边的 Manage Jenkins下载一些你想安装的插件。

点击Manager Plugins

我们勾选自己想下载的插件并点击下方install without restart进行下载即可。

好啦,快去尝试下吧~

相关推荐
行者-全栈开发11 小时前
【码动四季·秋】把 Spring Boot 的 Tomcat 换成 Undertow:一次容器替换的三处暗坑
spring boot·tomcat·容器化·依赖管理·undertow
宁波阿成1 天前
CentOS 7 环境下 Tomcat 8.5 升级至 9.0.123 操作总结
linux·centos·tomcat
行者-全栈开发2 天前
【Java中间件】CVE-2026-34486:Tomcat EncryptInterceptor 补丁绕过修复指南
tomcat·cve-2026-34486·encryptintercep·会话复制·集群安全·补丁绕过·cwe-311
biaov2 天前
Jenkins + Docker 搭建前端 CI:前端一键打包部署
前端·docker·jenkins
景熙55233 天前
2.什么是业务后台系统
java·spring·tomcat·mybatis·jdbc
无巧不成书02183 天前
Tomcat部署JSP文件完整指南:手动部署+IDEA工程化实现 附404访问错误全排查
java·ide·windows·tomcat·intellij-idea·js
weixin_BYSJ19874 天前
电竞先锋网站---附源码02032
java·vue.js·spring boot·python·django·tomcat·php
2301_32241428045 天前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
kaixin_learn_qt_ing5 天前
Jenkins
运维·jenkins
BioRunYiXue6 天前
使用docker分析高通量测序数据
java·数据库·人工智能·spring cloud·docker·tomcat·html