我正在尝试thin
在 upstart 中运行服务器。这是我的upstart.conf
文件包含的内容:
description 'kitfaye'
start on runlevel [12356] stop on runlevel [!12356]
respawn
script
exec su -l deploy -c "export RAILS_ENV=production && cd
/home/deploy/kitfaye && thin start -e production -p 8003 -R config.ru"
end script
重启我的 ubuntu 机器后,我可以在 htop 中看到 4 个进程thin
。您可以在附件图片中看到它们。当然我无法连接到 8003 端口。那里发生了什么?
https://drive.google.com/file/d/0B-jLZf9ippNgYzIwSFZzZUozamM/edit?usp=sharing
答案1
如果在 htop 中按 F5,您会看到进程层次结构,这有助于解释您在此处看到的内容。
它们的顺序可能是这样的:586 -> 677 -> 1077 -> 1082。
586 'su' - spawns 677 'export ...; cd ...; thin start ...' which spawns 1077 'thin start ...' which spawns 1082
答案2
如果你有一个较新的 Upstart 版本(我认为精确就可以了),那么我建议使用这个配置:
description "kitfaye"
start on runlevel [2345]
stop on runlevel [016]
setuid deploy
chdir /home/deploy/kitfaye
env RAILS_ENV=production
exec thin start -e production -p 8003 -R config.ru"