1 .jetty的安装
直接从官网上面下载,进行解压,需要注意的是不同版本对jdk的支持和对jsp文件编译的支持
官网:http://wiki.eclipse.org/Jetty/Starting/Downloads
jetty不同版本对jdk,jsp的支持:
jetty8xx 要求jdk 1.6,jetty9.2 要求jdk 1.7,jetty9.3要求 jdk1.8
jetty 编译jsp的支持 : 从Jetty-9.2开始,使用Apache Jasper作为默认JSP容器实现。在前面的版本中使用的是Glassfish Jasper,在后面的版本中也可以继续使用它。如果是9.2之前的版本,就需要设置Glassfish Jasper 支持jsp
2.jetty的使用
jetty通常和maven一起使用,下次接触到再进行补充,解压的目录结构,看起来和tomcat相似
目录结构:
etc jetty配置文件目录
lib 包含jetty所需的jar文件
modules 子模块
start.jar jetty启动程序
webapps 应用路径,发布的引用基本都放这里
start.ini
jetty的虚拟路径配置和端口的修改
修改jetty的端口 ;编辑start.ini 如下,找到这行,修改端口号
## HTTP port to listen on
jetty.port=8081
jetty虚拟路径配置:
jetty9版本 在webapps下面创建一个xml文件
<?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.server.handler.ContextHandler">
<Set name="contextPath">/mfo</Set>
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.ResourceHandler">
<Set name="resourceBase">/home/aip_online/jetty/webproject</Set>
<Set name="directoriesListed">true</Set>
</New>
</Set>
</Configure>
这样通过/mfo可以访问resourceBase对应的目录中的内容
补充说明:jar包启动的方式
1. java -jar xxx.jar 的方式
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
2. java -jar xxx.jar & 的方式
&表示后台启动,但是当前ssh窗口不被锁定,当窗口关闭时,程序中止运行
3.nohup java -jar xxx.jar &
nohup表示不挂断运行命令,当账户退出或者终端关闭,仍然运行,
并且默认情况下,输出到jar目录下的nohup.out的文件中,改文件自动创建
4. nohup java -jar xxx.jar >temp.txt &
将默认输出重定向到temp.txt文件中
命令:>out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。
jobs 命令
查看后台执行的任务,并且每个任务前有个编号
如果想要将任务调回前台控制,使用fg + 编号即可
补充:查看端口号和服务的pid
查看所有启动的端口号:
netstat -tulp
ps -ef|grep 端口号/应用程序 可以查看pid,启动命令等信息
这样根据pid可以杀进程
kill pid 一般就能杀进程了
强制杀进程,处理上面指令无法停止的进程 kill -9 pid
jett的基本操作指令:
后台启动: nohup java -jar start.jar &
jetty 设置get请求 编码方式: 在启动脚本上加上 -Dorg.mortbay.util.URI.charset=utf-8 ,这样后台启动方式
设置为: nohup java -Dorg.mortbay.util.URI.charset=utf-8 -jar start.jar &
建议Unix环境下使用的后台启动方式:
启动: ./bin/jetty.sh start
停止: ./bin/jetty.sh stop
重启: jetty.sh restart
关闭 kill -9 pid
jetty服务器启动后,更换war包,web页面处在缓存状态,不更新,切换到etc/ 目录下找到webDefault.xml下
将这项: 改为false
<init-param>
<param-name>useFileMappedBuffer</param-name>
<param-value>false</param-value>
</init-param>