有人知道如何在引导时启动plack应用程序吗。
os是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编写的。
发布于 2016-11-22 08:02:36
问题是perl 5环境变量没有初始化(在.bashrc中)。
因此,解决方案是在bash -i中运行plackup命令,以便在调用plackup之前读取.bashrc或设置PERL5LIB。
发布于 2016-12-09 18:12:48
在raspberry pi上,我使用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。
发布于 2017-05-22 22:48:50
您还可能希望使用monit或supervisord来确保应用程序始终处于运行状态,并在被任何原因杀死时重新启动,例如OOM。
https://stackoverflow.com/questions/40442148
复制相似问题