Jetty服务器简介和安装

发表时间:2017-07-11 18:09:09 浏览量( 99 ) 留言数( 0 )

学习目标:

1、理解linux上面安装jetty服务器

2、初步认识linux环境下安装其他的服务器


学习过程:

    通过前面的学习,我们已经掌握了如何开发一个应用程序,开发完成后下一步我们就需要部署项目了,部署后我们还需要持续的监控运行环境,尤其是刚上线的项目,隐藏的错误还有很多,随着访问量的不断增长我们也需要不断的调整运行环境。所以作为一名高级程序员,我们还有很多工作要做,今天我们先学习一下如何部署我们的项目。

    一般生产环境都是使用linux系统的,这个倒没有上面争议的, 但是使用上面web容器运行我们的项目呢?比较常见的就用:tomcat,jetty,webLogic等等,如果公司有钱的可以使用webLogic等商业产品,也可以使用开源免费的tomcat或者jetty等产品,只要适当的调优,免费产品性能不比商业产品的差。tomcat相信大家都已经很熟悉了,那么接下的课程我将会使用更轻量级的jetty来运行我们的项目。

一、下载

  1. http://www.eclipse.org/jetty/download.html

二、解压安装

修改

1、解压:

    unzip  jetty


2、修改所属为liubao普通用户:

    [root@dev opt]# chown -R liubao:liubao jettyjenkins/

三、配置,如生产环境怎么配置。

参考配置文档,Jetty不同版本的配置稍有不同,这里以9的版本来说明,官方的参考配置:

http://www.eclipse.org/jetty/documentation/current/index.html

目录结构如下:

bin        etc  license-eplv10-aslv20.html  modules      README.TXT  start.ini  VERSION.txt

demo-base  lib  logs                        notice.html  resources   start.jar  webapps


其中bin目录下面的jetty.sh是基本的脚本梦里,start.ini是基本的配置信息.webapps是默认的war目录.

基本命令:

启动命令:jetty.sh start

停止命令:jetty.sh stop

查看状态:jetty.sh status

检测运行状态:jetty.sh check


一般我们需要配置下面几个地方

1、修改Jetty的端口

Jetty默认使用8080端口,要让它使用其他端口(如7070),是start.ini文件,找到jetty.http.port行,修改为:

## Connector port to listen on

jetty.http.port=7070

保存并退出,再重启Jetty。

2、修改webapps目录

Jetty下的webapps是默认的Web项目的部署目录,如果想修改此目录,可修改start.ini,移除以下行的注释符号“#”

# jetty.deploy.monitoredDir=webapps

并把内容修改到你指定的目录。保存并退出,再重启Jetty。

3、JVM参数的配置

在生产环境中一台linux电脑可能会有很多个jetty服务器在运行,为了更好的利用服务器的资源往往需要修改JVM的配置,有关JVM的相关知识,我们在后面的课程会详细的介绍。


四、Jetty的部署成为服务

   由于系统中有很多个jetty服务器,为了统一管理我们需要把这个jetty服务器配置成为服务,这样就可以非常方便的管理了。大概的步骤如下:

1、把jetty.sh复制到/etc/init.d目录下面,同时要设置环境变量

[root@dev init.d]# cp /opt/jettyjenkins/bin/jetty.sh  jettynewname

要修改shell文件,添加环境变量,其中JETTY_HOME是jetty的主目录,JETTY_BASE是webapps的主目录,如果webapp是放到其他位置,这个也应该相应的修改,而不是用在start.ini中修改。

vim jettynewname

#!/usr/bin/env bash

JAVA_HOME=/usr/local/java/jdk

PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

JETTY_HOME=/opt/jettyjenkins

JETTY_BASE=/opt/jettyjenkins

2、设置成为开机启动,使用chkconfig设置为开机启动

[root@dev init.d]# chkconfig --add jettynewname

[root@dev init.d]# chkconfig  jettynewname  on


五、Jetty的模块化架构

    Jetty运行于模块化的架构之上,这意味着Jetty的功能是以模块的方式运行的,比如HTTP、HTTPS、SSL、日志logging、JMX、JNDI、WebSocket等模块。常用的模块如HTTP、JSP和WebSocket模块都是默认就激活的,而其他如HTTPS、JMX等模块则需要手动激活。所以如果有些功能你发现无法使用,可能就是没有开启这个模块。正式因为jetty的模块是按需启动的,所以jetty的启动非常块。

1、单个模块的剖析

Jetty的modules子目录列出了所有的模块,这些模块是扩展名为.mod的文件,它声明了要被激活的JAR文件(在Jetty的lib子目录下)和XML配置文件(在Jetty的etc子目录下),以及其他要作为模块被激活的资源。

比如,可以查看modules子目录的logging.mod文件的内容,可以看到,它声明了配置文件是etc/jetty-logging.xml,所需的JAR包在lib/logging处,另外logs目录是必须的。

[ xml]

etc/jetty-logging.xml

[files]

logs/

[lib]

lib/logging/**.jar

resources/

2、激活模块

激活Jetty的模块有两种方式。

第一种方式是通过命令行激活:

java -jar start.jar --add-to-startd=logging

上面的命令会在Jetty目录下创建logging.ini文件,相关的配置可以在此文件中查到。配置日志后,可以再次启动Jetty,并可以查看到日志模块是激活了的。

第二种方式是通过配置文件start.ini激活模块

--module=logging

这种方式和前一种相似,且更常用。

3、模块配置

正如上面提到的,mod文件声明了相关的XML配置文件,在Jetty的etc子目录下,可以通过这些配置文件来配置模块。比如日志模块声明了相关的配置文件是jetty-logging.xml,可以通过修改此配置文件来调整日志。

这节课知识简单的说明一下jetty的安装,那么详细的安装部署我们会在下一节课中简介。