将 nodejs 作为 systemd 服务运行 -

将 nodejs 作为 systemd 服务运行 -

我尝试通过使用 Node 运行 .js 文件来在 RHEL 上运行 Nodejs 服务器,但遇到了无法绑定到的问题端口80,更改为更高的端口修复了此问题,但我无法从外部访问它,导致我假设传入请求被 阻止firewalld。解锁特定端口似乎不是一个优雅的解决方案,因此我研究了如何设置 NodeJS 服务器作为可以注册的 systemd 服务运行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

相关内容