日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用于Play框架分布式应用程序的Init.d Shell脚本

發布時間:2023/12/3 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用于Play框架分布式应用程序的Init.d Shell脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我編寫了一個Shell腳本來控制使用內置命令dist打包的Play框架應用程序。 以這種方式打包的應用程序是壓縮的獨立發行版,不需要在應該運行其的計算機上安裝Play框架。 所需的一切都在包裝內。 在zip的bin目錄中,有一個可執行的Shell腳本,其名稱與您的應用程序相同。 您可以通過運行此腳本來啟動應用程序。 這就是全部,但我想要更多。

腳本設置

從GitHub下載腳本并使其可執行:

chmod +x ./dist-play-app-initd

在運行腳本之前,您必須設置NAMEPORTAPP_DIR變量的值。

  • NAME –應用程序的名稱,必須與Play框架生成的外殼腳本的名稱相同才能運行該應用程序
  • PORT –應用程序應運行的端口號
  • APP_DIR –解壓縮打包的應用程序的目錄的路徑
  • 讓我們以我的輔助項目Jugjane為例。 我運行了“ play dist ”,它生成了“ jugjane-1.1-SNAPSHOT.zip ”文件。 如果將其解壓縮,則會得到一個名為“ jugjane-1.1-SNAPSHOT ”的目錄,該目錄將移至“ /home/rado/bin/jugjane-1.1-SNAPSHOT ”。 Play框架生成的shell腳本為“ /home/rado/bin/jugjane-1.1-SNAPSHOT/bin/jugjane ”。 我想在端口9000上運行該應用程序。我的值是:

    NAME=jugjane PORT=9000 APP_DIR=/home/rado/bin/jugjane-1.1-SNAPSHOT

    啟動,停止,重新啟動并檢查狀態

    現在,我可以方便地將我的Pl??ay應用程序作為守護程序運行。 讓我們運行它。

    開始

    要啟動我的Jugjane應用程序,我只需運行以下命令:

    $ ./dist-play-app-initd start Starting jugjane at port 9000... OK [PID=6564]

    重新開始

    $ ./dist-play-app-initd restart Stopping jugjane... OK [PID=6564 stopped] Starting jugjane at port 9000... OK [PID=6677]

    狀態

    $ ./dist-play-app-initd status Checking jugjane at port 9000... OK [PID=6677 running]

    停止

    $ ./dist-play-app-initd stop Stopping jugjane... OK [PID=6677 stopped]

    機器啟動時啟動您的應用程序

    這取決于您的操作系統,但是通常您需要將此腳本移至/etc/init.d目錄。

    實施細節

    該腳本使用Play框架生成的RUNNING_PID文件,其中包含應用程序服務器進程的ID。

    安全啟動

    啟動應用程序后,腳本將檢查是否已創建RUNNING_PID文件以及該進程是否真正在運行。 之后,它使用wget實用程序對根文檔發出HTTP GET請求,以再次檢查服務器是否處于活動狀態。 當然,這假定您的應用程序提供了此文檔。 如果您不喜歡(或沒有)wget,那么我也提供了curl版本,以方便您。

    安全停車

    停止檢查其ID在RUNNING_PID文件中的進程是否確實屬于您的應用程序。 這是一項重要的檢查,因此我們不會意外殺死一個無辜的進程。 然后,它從最溫和的信號開始向過程發送終止信號,直到過程終止。

    貢獻

    我感謝我的雇主Dominion Marine Media,讓我與您分享這種喜悅。 隨時貢獻。

    參考: Rado Buransky博客博客上的JCG合作伙伴 Rado Buransky的Play框架分布式應用程序的Init.d Shell腳本 。

    翻譯自: https://www.javacodegeeks.com/2014/03/init-d-shell-script-for-play-framework-distributed-applications.html

    總結

    以上是生活随笔為你收集整理的用于Play框架分布式应用程序的Init.d Shell脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。