今日の IT 時代において、Linux システムは最も人気のあるオペレーティング システムの 1 つになりました。 Linux システムは安定しており、オープンソースであり、開発者がアプリケーションを簡単に開発および統合できるため、業界の多くの人々が Linux を使用してアプリケーションを展開することを好みます。
この記事では、Linux システム上でアプリケーションを展開および管理する方法を紹介します。実際のアプリケーションを事例として使用し、具体的なコード例を通じて展開と管理を実装する方法を示します。
アプリケーションの準備
始める前に、簡単なアプリケーションを準備し、実行可能ファイルにパッケージ化する必要があります。 「Hello, World!」を出力する単純な Python スクリプトを使用します。
以下は Python スクリプトのコード例です:
#!/usr/bin/env python3 print('Hello, World!')
このスクリプトを実行する前に、Python 3 がインストールされていることを確認する必要があります。コマンド ライン インターフェイスで次のコマンドを入力して確認できます。
python3 --version
Python 3 が正常にインストールされている場合は、次のような出力が表示されるはずです。
Python 3.8.5
次に、使用します。 PyInstaller Python スクリプトを実行可能ファイルにパッケージ化します。 PyInstaller は、Python コードを独立して実行可能なバイナリにパッケージ化する Python アプリケーション用のパッケージ化ツールです。次のコマンドでインストールできます:
pip3 install pyinstaller
PyInstaller をインストールした後、次のコマンドを入力して Python スクリプトをパッケージ化します:
pyinstaller --onefile hello.py
実行後、dist ディレクトリ hello にパッケージ化が表示されます。実行可能ファイル。
アプリケーションのデプロイメント
これで、パッケージ化されたアプリケーションを Linux システムにデプロイできます。例として、Linux システムの Debian ファミリ (Ubuntu など) を使用します。
まず、パッケージ化された hello 実行可能ファイルを Linux システムにアップロードします。 scp コマンドを使用してファイルをリモート サーバーにアップロードできます:
scp -P <port> /path/to/hello user@server:/path/to/destination
このコマンドでは、
ファイルをシステムにアップロードした後、chmod コマンドを使用してファイルを実行可能ファイルとして設定できます:
chmod +x /path/to/hello
これで、ファイルを直接実行してアプリケーションを起動できます:
./hello
次の出力が表示されます。
Hello, World!
アプリケーション管理
アプリケーションを正常にデプロイしたら、それを管理する方法を考える必要があります。アプリケーション管理の方法をいくつか紹介します。
systemd は、最新の Linux システム用の基本的なサービス マネージャーです。 systemctl コマンドを使用すると、その他のサービスを開始、停止、リロード、再起動できます。 systemd でアプリケーション サービスを構成するには、ユニット ファイルを作成する必要があります。 hello.service ユニット ファイルのサンプルを次に示します:
[Unit] Description=hello service [Service] WorkingDirectory=/path/to/application ExecStart=/path/to/hello [Install] WantedBy=multi-user.target
これを /etc/systemd/system/ ディレクトリに保存し、systemd のリロード後に起動する必要があります:
systemctl daemon-reload systemctl start hello.service
もちろん、 systemctl コマンドを使用して、停止、再起動、リロードなどの他の操作を実行することもできます。
スーパーバイザーは、Linux サーバー上の複数のプロセスを管理するためのツールです。これにより、アプリケーションをデーモン モードで実行し、クラッシュした場合に自動的に再起動できます。 hello.conf ファイルのサンプルは次のとおりです:
[program:hello] command=/path/to/hello directory=/path/to/application autostart=true autorestart=true startretries=3 stderr_logfile=/var/log/hello.err.log stdout_logfile=/var/log/hello.out.log
これを /etc/supervisor/conf.d/ ディレクトリに保存し、スーパーバイザーをリロードする必要があります:
systemctl reload supervisor
次に、supervisorctl コマンドを使用して、アプリケーションを開始します:
supervisorctl start hello
このコマンドを使用してアプリケーションを停止します:
supervisorctl stop hello
再起動、リロードなどの他のコマンドを使用することもできます。
結論
この記事では、アプリケーションをデプロイおよび管理する方法について詳しく説明しました。例として Python スクリプトを取り上げ、PyInstaller を通じて実行可能ファイルにパッケージ化して、Linux システムにデプロイします。続いて、systemd や Supervisor などのいくつかのアプリケーション管理方法について説明しました。上記の例はすべて、直接使用できるコードを提供しています。この記事が、アプリケーションを適切にデプロイして管理できるようにするための役立つガイダンスとなれば幸いです。
以上がLinux システム上でアプリケーションを展開および管理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。