Então, podemos usar scripts de inicialização para sempre mais para resolver os problemas acima? A resposta é, é claro, sim, mas é um pouco problemática, e o oficial não possui documentos de configuração detalhados. Também fiz alguns desvios ao configurar, então entrarei em detalhes abaixo.
Nota: O ambiente experimental deste artigo é o Ubuntu Server 12.04 LTS x86_64, e a configuração no CentOS é mais simples.
No começo, pensei em adicionar um start para sempre xxx a /etc/rc.local, mas descobri que o Ubuntu (o mesmo que outros sistemas) não é ruim para mim. A principal contradição é que o MongoDB pode ser executado usando esse método, mas para sempre não. Em desespero, devo considerá -lo da perspectiva de /etc/init.d.
A premissa é fazer para sempre primeiro. O método é muito simples. Basta executar o seguinte comando:
NPM Instale para sempre -g
Após a conclusão da instalação, use um programa de nó simples para testá -lo:
para sempre start test.jsforever stop test.jsforever reiniciar test.js
Enquanto o erro não for solicitado, significa que sempre é utilizável, ou seja, as condições básicas para usar para sempre para abrir um projeto de nó em segundo plano já são atendidas, e o restante é escrever um script de inicialização.
O conteúdo básico do script é o seguinte, graças ao autor original por seu trabalho duro:
#!/bin/bash ### Inicie Init Information# fornece: xiyoulib# Necessário-Start: $ All# Requerir-Stop: $ All## Start-start: 2 3 4 5# Padrão de default: 0 1 6# Short-DeScription: Iniciar daemon no tempo de inicialização# Descrição: Enable Service fornecido por daemon. Node.jsDeamon =/node.js/xiyoulibnodeexpress/bin/www #where você precisa preencher o arquivo de script de inicialização do seu próprio projeto de projeto =/node.js/log/log #Optional, Log File Directory Pid =/Node.js/Pid #requed Content, Usado para o conteúdo do PathR, usado para que o PathR), que se usa, o conteúdo do registro do registro do registro/node. Diretório de instalação do programa executável do nó aqui, o meu é/usr/local/binexport node_path = $ node_path:/usr/local/lib/node_modules #Here é o caminho da biblioteca da classe de nó #o conteúdo abaixo não precisa ser modificado node = node -corever = Forever "$ 1" em start) $ para sempre -Log para start -lag; pare) $ para sempre pare - -pidfile $ pid $ Deamon ;; pare) $ para sempre pare - -pidfile $ pid ;; RESTARTALL) $ para sempre RestarTall - -pidfile $ pid ;; Recarregar | Reiniciar) $ RESTART para sempre --l $ log - -pidfile $ pid -a $ Deamon ;; Lista) $ Lista Forever ;; *) Echo "Uso: /etc.init.d/node {start | Stop | reiniciar | Reload | Stopall | RESTARTALL | LIST}" EXIT 1 ;; ESACAqui está um lembrete: é melhor criar um diretório no diretório raiz do projeto do nó, como /node.js, e depois definir a permissão para 754, o que pode evitar o problema causado por alguns problemas de permissão!
Como eu uso o sistema de servidor Ubuntu, o serviço de inicialização do MongoDB também está configurado e as seguintes instruções são adicionadas ao seu script init.d:
# Requerido-start: $ all# necessária parada: $ all
Então, quando eu o adicionar no futuro, o sistema solicitará um erro. Portanto, no script de inicialização do projeto do nó, adicionei a sequência anterior de comentários de explicação para o sistema de servidor Ubuntu para configurá -lo. Se estiver no CentOS, problemas semelhantes não devem ocorrer. Preste atenção especial a isso!
Isto é, as seguintes informações de explicação:
### Iniciar Init Information# fornece: Xiyoulib# Necessário-Start: $ All# Requerir-Stop: $ all## Definir-start: 2 3 4 5# Defra-Stop: 0 1 6# Short-DeScription: Iniciar daemon no tempo de inicialização# Descrição: Ativar serviço fornecido por daemon.
Depois que o script for editado, use a diretiva CHKCONFIG-para verificar se o serviço que você adicionou é eficaz, ou seja, todos os 3 e 5 devem estar ativados para obter o auto-iniciado.
Se 3 e 5 não estiverem definidos, execute o chkconfig -nível 35 [seu nome de serviço] ON. O servidor do Ubuntu pode relatar alguns avisos, mas, enquanto os 3 e 5 do serviço necessário podem ser alterados, outros erros podem ser ignorados (sinto que esse é o negócio do próprio sistema).
Após a conclusão da configuração, o projeto do nó pode ser iniciado no Linux. Você pode desligar -r agora tente ver se pode ser iniciado. Após o início, você pode acessar diretamente o número da porta e o diretório virtual definido. Se você quiser, a tarefa será feita!
Mas se estiver errado, verifique alguns scripts com cuidado e faça modificações relevantes com base no erro. Afinal, eu também tentei!