Web sunucusu uygulamamı upstart kullanarak önyüklemeye başladım. Bu uptart betiğidir:
# web app node upstart file at /etc/init/webapp.conf
description "web application"
start on started mongodb
stop on runlevel [06]
respawn
respawn limit 10 100
env NODE_ENV=production
pre-start script
ulimit -n 2048
end script
exec start-stop-daemon --start -c mainuser --exec /usr/bin/make -- -C /home/mainuser/app start-prod
Bu, Ubuntu sunucusu 10.04 LTS'de kusursuz bir şekilde çalışıyor ve bu konuda çok mutluyum.
Ancak, SSH mainuser(bu bir sudoer değil) kullanarak oturum açan ve daha sonra çalışma dizini en son dağıtım sürümüne güncelleştirir bir dağıtım kabuk komut dosyası var .
Buradaki sorun, uygulamaların yeni kaynak dosyalarını yükleyebilmesi için hizmetin yeniden başlatılması gerektiğidir. Ancak, mainuseralır ...
mainuser@Saturn101:~$ stop webapp
-bash: stop: command not found
... durdurmaya çalışırken. Ben koşmak zorundayım sudo stop webapp, ama bu kullanıcı bir sudoer olmadığı için bunu yapamaz. Güvenlik nedeniyle ben de onun sudoer olmasını istemiyorum, artı sudo şifresini girmek istemiyorum.
Peki mainuserkoşmaya nasıl izin veririm stop webappve start webapp?
/sbin/stop webappalıyorum stop: Unable to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory. mainuserYalnızca bu komutu yürütmeye nasıl izin verebilirim ?