Startup script (init.d) for nginx

Instalei o Nginx no Suse há algum tempo e fiz isso manualmente, não sei se havia um pacote pronto, ou eu queria instalar a última versão, só sei que instalei na munheca.

Recentemente percebi (do pior jeito) que não tinha um script de inicialização instalado, a máquina foi rebootada e o Nginx não subiu.

Procurei me entender com o funcionamento dos scripts de inicialização, procurei um script pronto para o Nginx e não achei.

Então peguei um script qualquer, seguindo o modelo de parâmetros “start/stop”, adaptei para a minha necessidade e saí com o seguinte:

#! /bin/sh

# Description: Startup script for nginx.
#
# Author:  Enrico B. da Luz 

DESC="nginx"
NGINX=/usr/sbin/nginx
PIDFILE=/usr/logs/nginx.pid
CONF=/usr/conf/nginx.conf

d_start() {
  $NGINX -c $CONF || echo -en "\n$DESC already running"
}

d_stop() {
  kill -QUIT `cat $PIDFILE` || echo -en "\n$DESC not running"
}

d_restart() {
  d_stop
  sleep 2
  d_start
}

d_reload() {
  kill -HUP `cat $PIDFILE` || echo -en "\nCan't reload $DESC"
}

case "$1" in
  start)
    echo -n "Starting $DESC: $NAME"
    d_start
        echo "."
  ;;
  stop)
    echo -n "Stopping $DESC: $NAME"
    d_stop
        echo "."
  ;;
  reload)
    echo -n "Reloading $DESC configuration..."
    d_reload
        echo "."
  ;;
  restart)
    echo -n "Restarting $DESC: $NAME"
    d_restart
    echo "."
  ;;
  *)
    echo "Usage: $0 {start|stop|restart|reload}" >&2
    exit 3
  ;;
esac

exit 0

Como fiz para o Suse, segui os funcionamento dos scripts de inicialização”>padrões de caminhos e coloquei o script no “/etc/rc.d/boot.local”.

Deve funcionar para outras distribuições também, mas aconselho que se utilize um bom gerenciador de pacotes para evitar dores-de-cabeça.

Sobre Rico
Software engineer

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: