1. 程式人生 > >centos7安裝jetty9.3.10筆記

centos7安裝jetty9.3.10筆記

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))

15.殺死jetty可以用:
kill -9 12910 //12910是上述的java程序pid

接下來,本人給出一個網上找到的shell指令碼,本人對其做了細微的改動,以便能夠配套上面的講解。該指令碼可以判斷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了。