1.下载jetty(此处下载的是9.3.10版本)
cd /home/soft-java-env/
wget http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.3.10.v20160621/jetty-distribution-9.3.10.v20160621.zip
2.解压缩jetty:
unzip jetty-distribution-9.3.10.v20160621.zip
3.解压缩后文件名太长,重命名为jetty-9.3.10:
mv jetty-distribution-9.3.10.v20160621 jetty-9.3.10
4.创建一个jetty用户:
useradd -m jetty
5.改变jetty-9.3.10文件夹的所属用户:
chown -R jetty:jetty /home/soft-java-env/jetty-9.3.10/
6.为jetty.sh创建一个软链接到 /etc/init.d directory 来创建一个启动脚本文件:
ln -s /home/soft-java-env/jetty-9.3.10/bin/jetty.sh /etc/init.d/jetty
7.添加服务(添加脚本):
chkconfig –add jetty
8.使得jetty在系统启动时启动:
chkconfig –level 345 jetty on
9.使用你最喜欢的文本编辑器打开 /etc/init.d/jetty 并修改端口和监听地址:
比如:vim /etc/init.d/jetty, 并在该脚本开头添加如下行,可以看出可以在此处修改jetty的监听端口和设置jetty的主目录,本人添加的内容如下
JETTY_HOME=/home/soft-java-env/jetty-9.3.10/
JETTY_USER=jetty
JETTY_PORT=8080
JETTY_HOST=10.10.9.35
JETTY_LOGS=/familyface_log/jetty/logs/
10.允许jetty的日志可以记录在 /familyface_log/jetty/logs/ 目录下(该目录的来源见上一步):
chmod -R 0777 /familyface_log // 注意:此处允许所有用户对/familyface_log及其子目录拥有可读可写可执行权限,生产环境中这样做极其危险,
11.现在可以启动jetty服务了:
service jetty start
12.查看是否启动:
ps -ef | grep java
显示内容如下(12910是java进程的pid):
jetty 12910 1 3 15:14 ? 00:00:02 /bin/java -Djetty.logging.dir=/familyface_log/jetty/logs/ -Djetty.home=/home/soft-java-env/jetty-9.3.10 -Djetty.base=/home/soft-java-env/jetty-9.3.10 -Djava.io.tmpdir=/tmp -jar /home/soft-java-env/jetty-9.3.10/start.jar jetty.state=/home/soft-java-env/jetty-9.3.10/jetty.state jetty-logging.xml jetty-started.xml start-log-file=/familyface_log/jetty/logs//start.log
root 12951 11207 0 15:15 pts/1 00:00:00 grep –color=auto java
13.查看是否监听端口8080:
ss -lnp | grep 8080
显示内容如下:
tcp LISTEN 0 50 :::8080 :::* users:((“java”,pid=12910,fd=50))
14.现在可以通过 http://ip:8080 访问了
15.杀死jetty可以用:
kill -9 12910 //12910是上述的java进程pid
接下来,本人给出一个网上找到的shell脚本,本人对其做了细微的改动,以便能够配套上面的讲解。该脚本可以判断jetty服务是否挂了,挂了就重启服务。这个脚本很简单,觉得有用的用户可以自行修改,原脚本的网址如下:
centos监控jetty运行状态
#!/bin/bash
host_dir=`echo ~`
# 进程名
proc_name="start.jar"
pid=0
# 计算进程数
proc_num()
{
num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
return $num
}
# 进程号
proc_id()
{
pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}
proc_num
number=$?
echo "pid number is $number"
# 判断进程是否存在
if [ $number -eq 0 ]
then
/etc/init.d/jetty restart # 重启进程的命令,请相应修改
# service jetty start #也可以使用该条命令
proc_id # 获取新进程号
echo "jetty is restart, and the new pid is ${pid}" # 将输出新进程号
fi
# 写好脚本后,创建一个定时任务,定时执行就ok了。