我如何启动plack应用程序启动



有谁知道如何在启动时启动plack应用程序吗?

操作系统是raspbian(raspberry pi)。我想我以普通用户(pi)的身份运行它。这就是我手动启动它的方法。

我已经尝试添加这样的东西到rc.local,但没有成功

su pi -c 'cd /path/to/app && plackup -d -p 5000 -r -R ./lib,./t -a ./bin/app.psgi &'

这将反过来被Apache使用,如果有任何不同,应用程序将用dancer2编写。

在树莓派上,我使用systemd创建并启动一个服务,在文件中:/etc/systemd/system/dancer.service

[Unit]
Description=NCI Starman Dancer App
After=syslog.target
[Service]
Type=forking
ExecStart=/usr/local/bin/starman --daemonize -l 127.0.0.1:3004 
  --user myuser --group myuser --workers 8 -D -E production 
  --pid /var/run/dancer.pid -I/home/myuser/webservers/Dancer/lib 
  --error-log=/home/myuser/logs/dancer_error.log 
  /home/myuser/webservers/Dancer/bin/app.psgi
Restart=always
[Install]
WantedBy=multi-user.target

然后我用systemctl enable dancer.service启用它或者用systemtctl start dancer.service

手动启动

你当然可以用plackup来代替startman

问题是perl 5环境变量没有初始化(在。bashrc中)。

所以解决方案是在bash -i内运行plackup命令,以便它读取.bashrc或在调用plackup

之前设置PERL5LIB

您可能还想使用monitsupervisord来确保您的应用程序始终运行,并将在任何原因杀死的情况下重新启动,例如OOM

相关内容

  • 没有找到相关文章

最新更新