天天日夜夜添_精品国产99久久久久久人裸体 _成人app在线观看_日韩色网站

新聞資訊

    背景

    Linux 操作系統(tǒng)下,開(kāi)機(jī)啟動(dòng)項(xiàng)的添加有兩種方式:一種是傳統(tǒng)的編輯腳本文件放置 /etc/init.d 目錄下,使用 命令添加;另一種是編寫(xiě)服務(wù)文件,由 調(diào)用啟動(dòng)。

    前面介紹的 MySQL 安裝后的開(kāi)機(jī)啟動(dòng)服務(wù)文件為 mysql.,屬于 方式添加的。

    我們的 Java web 應(yīng)用通常是依賴(lài)于 MySQL 數(shù)據(jù)庫(kù)服務(wù)的,必須保證 MySQL 服務(wù)啟動(dòng)后再啟動(dòng) 容器。因此,使用 方式就可能出現(xiàn) 比 MySQL 服務(wù)先啟動(dòng)、導(dǎo)致 應(yīng)用數(shù)據(jù)庫(kù)連接異常的問(wèn)題。

    服務(wù)管理命令可以指定服務(wù)間的依賴(lài)關(guān)系,基于此,我們可以自定義. 文件來(lái)實(shí)現(xiàn) 開(kāi)機(jī)啟動(dòng)。

    第一步,編寫(xiě)啟動(dòng)腳本

    準(zhǔn)備 的開(kāi)機(jī)啟動(dòng) Shell 腳本,接收啟動(dòng)參數(shù)如 start、stop;它可以直接調(diào)用 的 .sh完成的linux下添加自動(dòng)重啟程序,也可以添加額外的流程,如 Web 環(huán)境初始化邏輯等,然后再調(diào)用 .sh。

    這是一個(gè)比較常見(jiàn)的 開(kāi)機(jī)啟動(dòng)服務(wù)腳本

    #!/bin/bash 
    JAVA_HOME=/usr/java/jdk1.8.0_151
    CATALINA_HOME=/usr/lib/tomcat
    export JAVA_HOME
    export CATALINA_HOME
    start_tomcat=$CATALINA_HOME/bin/startup.sh
    stop_tomcat=$CATALINA_HOME/bin/shutdown.sh
    start() {                                                              
             echo -n "Starting tomcat: "
             ${start_tomcat}
             echo "Tomcat start ok."
    }
    stop() {
             echo -n "Shutting down tomcat: "
             ${stop_tomcat}
             echo "Tomcat stop ok."
     }
                                                   
     case "$1" in
       start)
             start
             ;;
       stop)
             stop
             ;;
       restart)
             stop
             sleep 10
             start
             ;;
       *)
      echo "Usage: $0 {start|stop|restart}"
     esac
     exit 0

    touch /home/,vi 編輯并輸入上述腳本內(nèi)容,即完成了開(kāi)機(jī)腳本的編寫(xiě)。本質(zhì)就是一個(gè) shell 腳本,轉(zhuǎn)而調(diào)用真正的 的腳本。

    第二步,編寫(xiě)服務(wù)文件

    開(kāi)機(jī)時(shí), 會(huì)讀取 /etc// 目錄下以 . 后綴的文件。

    編寫(xiě)服務(wù)文件。

    cd /etc/systemd/system 
    touch tomcat.service

    編寫(xiě) . 文件,內(nèi)容如下

    [Unit]
    Description=MyTomcat
    After=mysql.service
    [Service]
    Type=forking
    # Disable service start and stop timeout logic of systemd for mysqld service.
    TimeoutSec=0
    ExecStart=/home/tomcat start
    ExecStop=/home/tomcat stop
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target

    注意事項(xiàng):

    Unit 里面的 After 設(shè)置為 mysql. ,是可以保證 MySQL 服務(wù)啟動(dòng)之后,才開(kāi)始執(zhí)行該服務(wù)腳本。=0 標(biāo)識(shí)讓開(kāi)機(jī)啟動(dòng)不處理 啟動(dòng)超時(shí)異常,保證 耗時(shí)過(guò)長(zhǎng)時(shí)不會(huì)被系統(tǒng) 。可以指定 PID File為 /run 目錄的下某個(gè)文件,如 /run/.pid 但是不應(yīng)該用.pid,這里配置的是 開(kāi)機(jī)啟動(dòng)服務(wù)的 PID 文件,真正的 進(jìn)程也會(huì)有一個(gè) .pid 的進(jìn)程編號(hào)文件,必須避免沖突。 和 是指定服務(wù)的啟動(dòng)腳本,如果沒(méi)有第一步編寫(xiě)的 腳本的話(huà),可以直接用為 /bin/.sh 的。第三步,啟動(dòng)服務(wù)

    . 文件準(zhǔn)備好之后,使用 . 命令添加服務(wù)。

    start/stop/ . 啟動(dòng)、停止、狀態(tài)查看。

    此外 文件修改后,需要調(diào)用 -命令重新加載。

    啟示錄

    首先,以這種方式添加 之后,使用 jps 命令查看 Java 進(jìn)程時(shí),是找不到 進(jìn)程的,只能用 ps -ef|grep java 方式才能查到linux下添加自動(dòng)重啟程序,這點(diǎn)與 方式不同。

    其次,這種方式真正的 腳本啟動(dòng)后會(huì)在根目錄下生成一個(gè) .pid 的進(jìn)程文件,而 方式卻不會(huì)。

    第三, 方式添加開(kāi)機(jī)啟動(dòng)時(shí),如果啟動(dòng)腳本中想等待其他服務(wù)完成、而執(zhí)行了sleep 命令的話(huà),會(huì)出現(xiàn)超時(shí)中斷啟動(dòng)問(wèn)題。

    Dec 6 19:17:21 : . start timed out. .

    Dec 6 19:17:21 : to start SYSV: and Stops the …

    Dec 6 19:17:21 : Unit . state.

    Dec 6 19:17:21 : . .

    第四,Linux 的系統(tǒng)日志文件 /var/log/ 里面記錄系統(tǒng)開(kāi)機(jī)啟動(dòng)的所有日志信息,一般服務(wù)啟動(dòng)操作都是有成對(duì)日志信息的,我們可以在這里檢查服務(wù)啟動(dòng)的流程是否正確。

    這是 MySQL 的日志信息:

    MySQL …

    MySQL .

    配置 啟動(dòng) . 后,日志就是上述這樣的順序了。

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶(hù)案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話(huà):010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有