Nodeを使用して.jsファイルを実行してRHELでNodejsサーバーを実行しようとしてバインドできない問題が発生しました。ポート80、より高いポートに変更すると問題が解決しましたが、外部からアクセスできず、着信要求がブロックされたと仮定しましたfirewalld
。特定のポートのロックを解除することはエレガントな解決策のようには見えなかったので、登録可能なシステムサービスとして実行するようにNodeJSサーバーを設定する方法を見ましたfirewalld
。
サービスを実行するためにシステムアカウントでファイルwebserver.service
とユーザーを作成しましたが、実際に実行してみると問題が発生しました。httpserver
systemctl daemon-reload
systemctl start webserver
Failed to start webserver.service: Unit webserver.service not found.
SELinuxに関する他の問題も見たことがありますが、setenforce permissive
前後chcon system_u:object_r:systemd_unit_file_t:s0
に試してみましたが、webserver.service
成功しませんでした。
内容は次のとおりです/etc/systemd/user/webserver.service
。
[Unit]
Description=test service for server
After=network.target
[Service]
Type=simple
User=httpserver
ExecStart=/usr/bin/node /home/user/ ... /index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target