1. ホーム
  2. node.js

[解決済み] Node.jsアプリケーションを独自のプロセスとして実行するにはどうすればよいですか?

2022-04-23 14:53:34

質問

Node.jsをデプロイするのに最適な方法は何ですか?

私はDreamhostのVPS(というやつです)を持っています。 VM ) で、Node.js をインストールし、プロキシを設定することができました。これは、nodeを起動したSSH接続を開いたままにしている限り、とてもうまくいきます。

解決するには?

2016年の回答 : ほぼすべての Linux ディストリビューションには systemd が搭載されています。 forever, monit, PM2 などはもう必要ありません。 .

を作る。 myapp.service ファイルを作成します('myapp'はアプリの名前に置き換えます)。

[Unit]
Description=My app

[Service]
ExecStart=/var/www/myapp/app.js
Restart=always
User=nobody
# Note Debian/Ubuntu uses 'nogroup', RHEL/Fedora uses 'nobody'
Group=nobody
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production
WorkingDirectory=/var/www/myapp

[Install]
WantedBy=multi-user.target

Unixを初めて使う人のためのメモ。 /var/www/myapp/app.js が必要です。 #!/usr/bin/env node を最初の行に追加し、実行可能モードをオンにします。 chmod +x myapp.js .

サービスファイルを /etc/systemd/system フォルダーに格納します。

新しいサービスをsystemdに伝えるには systemctl daemon-reload .

で開始します。 systemctl start myapp .

でブート時に実行できるようにします。 systemctl enable myapp .

でログを見る journalctl -u myapp

からの引用です。 Linuxでnodeアプリをデプロイする方法 2018年版 を含む)、Linux/ノードサーバーを構築するためのAWS/DigitalOcean/Azure CloudConfigを生成するコマンドも含まれています。 .service ファイル)を作成します。