序文 springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。
指定されたプロファイルをロードします --spring.profiles.active=prod Springboot は次の方法で jar パッケージを読み込みます。 // コンソールで直接開始します。欠点は、コンソールを閉じるとプロジェクトが閉じられることです。 java -jar bootdo.jar // このメソッドはバックグラウンドで実行できますが、シェルが起動されるとハングします java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 & // nohup が追加された場合、シェルを終了しても影響を受けません。 nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 & 説明する nohup は永続的に実行されることを意味します。 & はバックグラウンド操作を示します > はリダイレクト先を表します 1 は stdout 標準出力を意味します。システムのデフォルト値は 1 なので、 2はstderr標準エラーを意味します
以下の方法でサーバーが正常に起動した後、再起動が必要な場合は、 nohup java -jar /bootdo-2.0.0.jar > bootdolog.file 2>&1 & 一度や二度なら大丈夫ですが、何度も起こると、ちょっと大変になります。 このように、シェルスクリプトを記述して、開始(start)、停止(stop)、再開(restart)操作を1つのステップで実行することができ、便利で効率的です。 カスタム ディレクトリに wss.sh スクリプトを作成し、次のように内容を編集します。 #!/bin/bash #これは独自の実行可能プログラムに置き換えることができます。他のコードは変更する必要はありません APP_NAME=websocketserver-0.0.1-SNAPSHOT.jar #使用方法の説明。パラメータ入力を促すために使用します。usage() { echo "使用方法: sh スクリプト名.sh [start|stop|restart|status]" 出口1 } # プログラムが実行中かどうかを確認する is_exist(){ pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' ` # 存在しない場合は 1 を返し、存在する場合は 0 を返します [ -z "${pid}" ]の場合; 戻り値 1 それ以外 0を返す フィ } #Startメソッドstart(){ 存在する [ $? -eq "0" ]の場合; echo "${APP_NAME} はすでに実行されています。pid=${pid} 。" それ以外 nohup java -jar /mnt/ssd1/project/websocket/$APP_NAME > /mnt/ssd1/project/websocket/websocketserverlog.file 2>&1 & echo "${APP_NAME} の起動に成功しました" フィ } #Stopメソッドstop(){ 存在する [ $? -eq "0" ]の場合; -9 $pid を強制終了する それ以外 echo "${APP_NAME} は実行されていません" フィ } # 実行ステータスを出力する status(){ 存在する [ $? -eq "0" ]の場合; echo "${APP_NAME} が実行中です。PID は ${pid} です" それ以外 echo "${APP_NAME} は実行されていません。" フィ } #再起動restart(){ 停止 始める } #入力パラメータに応じて、実行するメソッドを選択します。入力がない場合、メソッドが実行されます。ユースケース「$1」の説明 "始める") 始める ;; "停止") 停止 ;; "状態") 状態 ;; "再起動") 再起動 ;; *) 使用法 ;; エサック 赤でマークされた行で起動コマンドを設定します。 その後は、 追加 sh xxx.sh と ./xxx.sh の違い sh xxx.shには実行権限は必要ありません ./xxx.sh には実行権限が必要です。これは 要約する 上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。 以下もご興味があるかもしれません:
|
>>: Mysql を 5.7 にアップグレードした後のグループ クエリの問題を解決する
1. リテラルとローカル変数へのアクセスは最も高速ですが、配列要素とオブジェクト メンバーへのアクセ...
目次1. オペレーター1.1 算術演算子1.2 インクリメント演算子とデクリメント演算子1.3 比較...
目次システムアップデート構成Windows Update サーバーの変更自動更新を有効にして許可する...
背景会社のコードは第三者に提供され、利用されます。ソースコードが完全に漏洩しないようにするには、提供...
まずは簡単なデータを見てみましょう。 Googleが発表したレポートによると、 ①中国の都市の97%...
この記事の例では、ショッピングカートの簡単な追加と削除を実現するためのJSの具体的なコードを参考まで...
目次1. 遭遇した問題2. アイデア3. コード1. 遭遇した問題私たちは皆、mysqldump を...
1. Dockerの起動の問題:問題は解決しました: Hyper-V をオンにする必要があります (...
現在、CSS プリプロセッサは Web 開発の標準となっています。 プリプロセッサの主な利点の 1 ...
目次スケルトンスクリーンとはアプレットでスケルトン画面を生成する方法導入方法表示と非表示ユーザーエク...
1. 簡単な紹介Vue.js を使用すると、一般的なテキストの書式設定に使用できる独自のフィルターを...
目次Refsとは何か1. 文字列型参照2. コールバック参照React.createRef() 4....
実行中のコンテナIDを見つける ドッカーps上記のコンテナの物理的な場所を見つける /var/lib...
まずdockerコンテナを実行しますルートユーザーとしてコマンドを実行する sudo docker ...
序文この記事では、Linux 構成ログ サーバーに関する関連コンテンツを主に紹介し、参考と学習のため...