⦁ 1.参考:(官网中文翻译)https://www.cnblogs.com/yiwangzhibujian/p/5832597.html;
⦁ 官网:https://www.eclipse.org/jetty/documentation/current/quickstart-running-jetty.html
⦁ 2.jetty的使用可内置也可独立作为服务器使用
⦁ 3. 使用start.jar --list-config能够展示jetty所有的配置信息
⦁ 4 jetty基础文件目录允许配置和web应用分开存储,这样便于升级,基础配置取决于两个属性 :
⦁ jetty.home :定义了jetty中间件的主目录; jetty.base定义了一个具体的jetty server的应用路径,包括它自己的日志配置和web应用
⦁ jetty.home的目录应该是固定了后期不可修改的,配置的改变仅仅在jetty.base目录中出现
每次运行start.jar必须cd到jetty_base文件夹下,才能切换到正确的webapps下
⦁ 5.重新配置一个jetty.base,base目录的作用其实就是为了能够将部署路径与jetty的home路径分开,比如可以将base路径设置为任意路径;base路径不固定,在哪个目录下运行start.jar --list-config则展示的base路径就是哪个
⦁ eg:
⦁ JETTY_HOME=/home/jetty
⦁ mkdir /app/newBase
⦁ cd /app/newBase
⦁ java -jar $JETTY_HOME/start.jar --add-to-startd=http,deploy,server //创建一个能部署web应用的base,
⦁ 然后将war包直接拷贝到base下的 webapps中即可启动,如果没有日志显示没有部署成功,则可能是start.d中模块有缺失,可查看demo-base中的模块对应添加
⦁ 6.改变jetty运行的端口
⦁ java -jar JETTY_HOME/start.jar jetty.http.port=8081 直接改变jetty运行的端口
⦁ 或者配置一下jetty.base/start.d/http.ini模块中的 jetty.http.port=8082 属性,默认是8080
⦁ 7.jetty支持热部署,部署应用不用重新启动,只需放入或者移除webapps中即可
⦁ 8.jetty配置web contextPath
⦁ (1)第一种方式在项目的web-inf路径下加上jetty-web.xml配置
⦁ eg:
⦁ <?xml version="1.0" encoding="UTF-8"?>
⦁ <!DOCTYPE Configure PUBLIC
⦁ "-//Mort Bay Consulting//DTD Configure//EN"
⦁ "http://www.eclipse.org/jetty/configure_9_0.dtd">
⦁ <Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/edge</Set>
⦁ </Configure>
⦁ (2)第二种方式在war包同级目录下,新建同名xml文件,配置参考demo-base中的test.xml,然后一定要重启jetty
⦁ eg:<?xml version="1.0" encoding="UTF-8"?>
⦁ <!DOCTYPE Configure PUBLIC
⦁ "-//Mort Bay Consulting//DTD Configure//EN"
⦁ "http://www.eclipse.org/jetty/configure_9_0.dtd">
⦁ <Configure class="org.eclipse.jetty.webapp.WebAppContext">
⦁ <Set name="war"><Property name="jetty.webapps" default="."/>/edge.war</Set>
⦁ <Set name="contextPath">/</Set>
⦁ <Set name="extractWAR">true</Set>
⦁ <Set name="copyWebDir">false</Set>
⦁ </Configure>