Executando o OpenResty como um serviço no Ubuntu 14.04

0

Eu preciso usar Nginx com Lua e um feixe de outras extensões ativadas, então eu segui as instruções no link e compilei a variante OpenResty de Nginx Esse processo foi muito bom e agora eu tenho nginx em /usr/local/openresty/nginx/sbin/ . A versão relatada quando executo ./nginx -v é 1.9.3.2 - correto. Eu posso colocar o servidor em funcionamento executando ./nginx .

No entanto, o que eu gostaria de poder fazer é executá-lo como um serviço na inicialização, como normalmente funciona quando você faz uma instalação do Nginx vanilla via apt-get install nginx . Eu também gostaria de poder usar comandos como service nginx status|restart|stop|reload etc. Eu sou um novato total e completo quando se trata deste tipo de coisa. Eu tentei entender o conteúdo do script /etc/init.d/nginx em um dos meus outros servidores, mas modificá-lo para trabalhar com a instalação atual não é algo que eu entendo. Eu espero que alguém aqui possa ajudar.

    
por DroidOS 03.12.2015 / 14:02

1 resposta

4

E agora, a resposta do Ubuntu.

Você está usando o Ubuntu Linux. Você já tem upstart ou systemd (o primeiro neste caso particular). Não comece escrevendo System 5 rc scripts.

Portanto, escreva um arquivo de job upstart. Pegue um dos já escritos para o nginx, e modifique-o para o OpenResty.

O pacote nginx-common da versão 15.10 do Ubuntu vem com um arquivo de trabalho pronto para o uso, direto da caixa , como /etc/init/nginx.conf ; embora o pacote nginx-common da versão 14.04 do Ubuntu tenha várias versões por trás e não. É bastante fácil puxar o arquivo diretamente para fora do repositório de código-fonte do Debian ( nginx.upstart ). Há também um arquivo de trabalho /etc/init/nginx.conf no wiki nginx.

Aplicar suas modificações do OpenResty gera isso:

# /etc/init/openresty.conf

description "OpenResty nginx"

start on filesystem and static-network-up
stop on runlevel [016]

env DAEMON='/usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf'

expect fork
respawn

pre-start script
    [ -x $DAEMON ] || { stop; exit 0; }
    $DAEMON -t || { stop; exit 0; }
end script

exec $DAEMON 

pre-stop exec $DAEMON -s quit

Use como um trabalho inicial, da maneira usual, com initctl start , initctl stop e assim por diante.

Claro, as pessoas já fizeram essas modificações há muito tempo.

Leitura adicional

por JdeBP 07.12.2015 / 20:18