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, mainuser
alı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 mainuser
koşmaya nasıl izin veririm stop webapp
ve start webapp
?
/sbin/stop webapp
alıyorum stop: Unable to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
. mainuser
Yalnızca bu komutu yürütmeye nasıl izin verebilirim ?