Onde instalar o aplicativo do nó e a melhor maneira de iniciar

2

Sou muito novo no mundo do Linux, tenho uma aplicação do Node que gostaria de distribuir através de um repositório apt, eis o que faço por agora:

  • Coloque o binário do nó dentro da pasta do aplicativo Node.
  • Use fpm para criar um pacote .deb que extraia o código do nó em / opt / myNodeApplication e um script sh chamado "myNodeApplication "em / usr / local / bin.

O script é algo assim:

#!/bin/bash
cd /opt/myNodeApplication
./node app.js

Isso me permite chamar myNodeApplication do shell de qualquer lugar.
O problema é que duvido que esta é a maneira correta de fazer isso, então eu gostaria de ter alguma entrada na minha solução, as perguntas são:

  • Há algum problema em extrair o aplicativo de nó em / opt / myNodeApplication? ou existe um lugar melhor?
  • Onde devo colocar o script para iniciar o aplicativo? Tenho certeza que / usr / local / bin não é o lugar certo, já que o script não é um "bin".
  • Existe uma maneira melhor de fazer a coisa toda? Talvez não esteja usando um script?

Muito obrigado antecipadamente.

    
por Cado 19.02.2015 / 09:44

1 resposta

2

Is it ok to extract the node application in /opt/myNodeApplication? or is there a better place?

Esta é mais uma questão de opinião, mas eu acho que você está bem fazendo isso. O padrão para esse tipo de coisa é o Padrão de Hierarquia do Sistema de Arquivos , que tem mais requisitos específicos para /opt , mas são seus pacotes para seus sistemas, então ...

Where should I put the script to launch the application? I'm pretty sure /usr/local/bin is not the right place since the script is not a "bin".

Se você observar o conteúdo de /usr/bin , verá que os diretórios bin contêm muitos scripts; O ponto dos diretórios .../bin é apenas conter comandos executáveis, independentemente de seus detalhes de implementação. Portanto, armazenar um script em /usr/local/bin para facilitar o lançamento de seu aplicativo é bom.

Is there a better way to do the whole thing? Maybe not using a script at all?

Você pode realmente tornar o seu script do Node diretamente, com a seguinte linha do shebang adicionada no topo:

#!/usr/bin/env node

(consulte link para obter detalhes). Em seguida, você poderia renomear seu app.js para apenas app e fazer com que os usuários o executassem diretamente ... (Isso pressupõe que ele pode ser executado com um diretório de trabalho diferente de /opt/myNodeApplication .)

Se você estiver interessado em empacotar os aplicativos do Node como .deb packages, dê uma olhada em npm2deb , isso pode ser útil.

    
por 19.02.2015 / 11:19