问题

最近用 Tomcat 搭建了个 Jenkins ,但是访问的时候需要端口加 /jenkins/ 才能进行访问。我们是直接将 Jenkins.war 包放在 webapps下的。 我们想直接通过不加路径进行访问。

解决办法

思路一

Host 里面进行配置 path ,经过测试,发现是不行的。


<Host name="localhost" appBase="webapps" path="/jenkins"
unpackWARs="true" autoDeploy="true">
</Host>

思路二(可用)

新建一个 jenkins 目录在 ./webapps/./webapps/jenkins . 然后将 jenkins.war 解压,然后将压缩包里所有内容放在 ./webapps/jenkins/ 下, 然后在 ./conf/server.xmlHost

增加一个 Context 配置. 假设路径为 /opt/apache-tomcat-8.5.47/webapps/jenkins,那么配置为

<Host name="localhost"  appBase="webapps" path="/"
unpackWARs="true" autoDeploy="true">
<!-- 新增-->
<Context docBase="/opt/apache-tomcat-8.5.47/webapps/jenkins" path="/" reloadable="true"/>
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
--> <!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" /> </Host>

然后启动 Jenkins 即可。

思路三(可用)

将 jenkins.war 解压,然后将压缩包里所有内容放在 ./webapps/ROOT/ 下,然后启动 jenkins.

[root@localhost webapps]# pwd
/opt/apache-tomcat-8.5.47/webapps
[root@localhost webapps]# ls -l ./ROOT/
total 2428
drwxr-x--- 3 root root 36 Nov 10 18:22 bootstrap
-rw-r----- 1 root root 1946 Feb 7 2019 ColorFormatter.class
drwxr-x--- 5 root root 265 Nov 10 18:22 css
-rw-r----- 1 root root 1544 Oct 28 13:22 dc-license.txt
drwxr-x--- 2 root root 30 Nov 10 18:22 executable
-rw-r----- 1 root root 17542 Oct 28 13:22 favicon.ico
drwxr-x--- 12 root root 180 Nov 10 18:22 help
drwxr-x--- 6 root root 4096 Nov 10 18:22 images
-rw-r----- 1 root root 1674 Feb 7 2019 JNLPMain.class
drwxr-x--- 2 root root 250 Nov 10 18:22 jsbundles
-rw-r----- 1 root root 862 Feb 7 2019 LogFileOutputStream$1.class
-rw-r----- 1 root root 636 Feb 7 2019 LogFileOutputStream$2.class
-rw-r----- 1 root root 2240 Feb 7 2019 LogFileOutputStream.class
-rw-r----- 1 root root 20730 Feb 7 2019 Main.class
-rw-r----- 1 root root 1048 Feb 7 2019 MainDialog$1$1.class
-rw-r----- 1 root root 1067 Feb 7 2019 MainDialog$1.class
-rw-r----- 1 root root 2633 Feb 7 2019 MainDialog.class
-rw-r----- 1 root root 512 Feb 7 2019 Main$FileAndDescription.class
drwxr-x--- 3 root root 94 Nov 10 18:22 META-INF
-rw-r----- 1 root root 71 Oct 28 13:22 robots.txt
drwxr-x--- 3 root root 218 Nov 10 18:22 scripts
drwxr-x--- 7 root root 275 Nov 10 18:22 WEB-INF
-rw-r----- 1 root root 2390099 May 12 15:50 winstone.jar

反思

  1. 经过这个测试,我发现了一个点,当我们 在 Root 目录有内容的时候,我们没有配置 Context 的时候,我们是取 Root 里面的内容的,当我们配置了的 Context 的内容的时候,访问 ip:端口(默认访问),就是我们 Context 里面 docBase 配置的路径。
  2. webapps 下的默认访问是 ROOT,其他在 webapps下的 目录都是需要加路径的(也就是目录名),当我们指定了也就是 Context 里面 docBase 配置的路径,这个时候才不需要加路径。

Jenkins 在 Tomcat 运行访问路径设置的更多相关文章

  1. tomcat的根路径设置

    今天使用postman进行springmvc的测试发现提示404错误,检查原因发现是tomcat的配置问题.这里的发布的war包的访问地址 Application Context设置为了根路径”/” ...

  2. Tomcat容器虚拟路径设置

    1.[官方文档]在tomcat\conf下server.xml中找到 <Host name="localhost" appBase="webapps" u ...

  3. Linux下Tomcat项目访问路径修改

    1.去除端口号8080. 首先,进入tomcat的安装目录下的conf目录,我的目录是 /usr/local/apache-tomcat-9.0.20/conf,编辑文件server.xml. 将se ...

  4. Jenkins访问路径配置自定义的相对路径

    Jenkins安装时没有配置自定义的相对访问路径,例如配置的端口是29957,那访问路径就是http://localhost:29957.以下介绍把访问路径改成http://localhost:299 ...

  5. Jenkins+maven+Tomcat+SVN一键自动打包部署应用到服务器

    今天请教了大神,终于把jenkins给搞明白了 现在做下笔记,防止自己老年痴呆又忘了怎么配置 (截图可能不够清晰,有不清楚的随时评论打call) 机器配置: 安装配置规划 机器 192.168.169 ...

  6. idea修改web项目的访问路径

    转 新建好了项目发现项目只能以localhost:8080这样的访问路径访问到主页,也就是index.jsp 那么之前我用eclipse新建的项目都是localhost:8080/xxx(项目名称)来 ...

  7. eclipse配置apache tomcat运行时访问路径不需要项目名称

    问题:tomcat运行项目默认是要带上项目名的,有时候不想要项目名来访问,如何解决呢? 方法: 1:双击打开tomcat 2:选择Modules,选择你要修改的项目 3:点击Edit,把path修改成 ...

  8. centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解

    系统环境:centos7.7 (VMware中) 镜像image 版本:jenkins/jenkins (截止2020.01.10最新版) 参考文章:https://www.jianshu.com/p ...

  9. tomcat 访问权限设置

    1.全局设置,设置允许某些IP能够访问到tomcat服务器,或不能访问tomcat服务器 只需要编辑tomcat的server.xml,增加适当代码即可. 修改如下:在<Host>  &l ...

随机推荐

  1. php获取本机ip

    最近在写个东西时,需要获取本机的IP,但是由于php本身不带这样的功能,在网上找了好久也没有一个好办法,突然想到一个好办法,如下代码 <?=gethostbyname($_ENV['COMPUT ...

  2. Spring注解式AOP面向切面编程.

    1.AOP指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式.aop底层是动态代理. package com.bie.config; import org.aspectj.lan ...

  3. (转)Polynomial interpolation 多项式插值

    原文链接:https://blog.csdn.net/a19990412/article/details/87262531   扩展学习:https://www.sciencedirect.com/t ...

  4. AudioRecord 录制播放PCM音频

    AudioRecord 与 MediaRecorder 区别 AudioRecord 基于字节流录制,输出的是pcm数据,未进行压缩,直接保存的pcm文件不能被播放器识别播放. 可以对音频文件进行实时 ...

  5. 深入理解计算机系统cp1:存储单位与编码

    摘要: 理解计算机是如何存储数据的. 原文:深入理解计算机系统cp1:存储单位与编码 作者:Chor Fundebug经授权转载,版权归原作者所有. 1. 存储单位 位:即 bit,表示二进制位,要么 ...

  6. Python中机器学习-验证码识别-粗略总结

    #验证码识别# 解决办法:将验证码切割成单个字符训练 遇到问题:验证码字符大小不一或重叠 对上述问题的解决:通过CNN(卷积神经网络)直接就是端到端不分割的识别方式 处理验证码:将图片二值化 输入验证 ...

  7. gdisk分区及swap分区

    gdisk分区及swap分区 gdisk分区,分区表是GPT,支持更大的分区,128G gdisk分区 一,添加硬盘 二,分区 1,安装gdisk [root@oldboy ~]# yum insta ...

  8. 网络编程~~~ socket(套字节)

    一 socket (套接字) socket处于应用层与传输层之间,提供了一些简单的接口,避免与操作系统之间的对接,省去了相当繁琐复杂的操作. socket在python中属于一个模块,通过调用模块中已 ...

  9. 教你两招用纯CSS写Tab切换

    说到Tab切换,你可能首先想到的就是使用jQuery,短短几行代码就可以轻松搞定一个Tab切换. 而今天所要分享的,是使用 0 行JS代码来实现Tab切换! 具体效果如下:   Tab切换 方法一:模 ...

  10. GO 使用静态链接库编译 生成可执行文件 使用第三方 .a 文件,无源码构造

    go build 和 go install 都需要使用源码来进行编译.但是有时候我们只有.a或者.so文件.并不能获取到第三方库的源码,这时我们需要静态链接库编译的技巧: 上图是实验前的文件分布. 使 ...