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/binis 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.