Plumber API 是一种用于构建和部署 Web API 的 R 语言包。它在服务器上正常工作,但在使用 systemd 设置服务时可能遇到问题。以下是解决此问题的步骤和原因分析:
确保 systemd 服务文件具有正确的权限。通常,服务文件应具有 644
权限。
sudo chmod 644 /etc/systemd/system/plumber.service
确保 R 和 Plumber 的路径正确,并且环境变量已正确设置。
# /etc/systemd/system/plumber.service
[Unit]
Description=Plumber API Service
After=network.target
[Service]
User=your_username
Group=your_groupname
WorkingDirectory=/path/to/your/plumber/project
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
ExecStart=/usr/bin/Rscript /path/to/your/plumber/project/plumber.R
Restart=always
[Install]
WantedBy=multi-user.target
确保所有必要的 R 包和依赖库已安装。
sudo R -e "install.packages('plumber')"
重新加载 systemd 配置并启动服务。
sudo systemctl daemon-reload
sudo systemctl start plumber
sudo systemctl enable plumber
查看 systemd 日志以获取更多错误信息。
sudo journalctl -u plumber
以下是一个简单的 Plumber API 服务文件示例:
# /etc/systemd/system/plumber.service
[Unit]
Description=Plumber API Service
After=network.target
[Service]
User=your_username
Group=your_groupname
WorkingDirectory=/home/your_username/plumber_project
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
ExecStart=/usr/bin/Rscript /home/your_username/plumber_project/plumber.R
Restart=always
[Install]
WantedBy=multi-user.target
通过以上步骤,您应该能够解决 Plumber API 在 systemd 设置中不起作用的问题。如果问题仍然存在,请检查日志文件以获取更多详细信息,并根据错误信息进行进一步调试。
领取专属 10元无门槛券
手把手带您无忧上云