ノードアプリケーションを「インストール」する場所とこれを開始する最良の方法

ノードアプリケーションを「インストール」する場所とこれを開始する最良の方法

私はLinuxの世界に初めて触れました。 Nodeアプリケーションがあり、適切なリポジトリを介してデプロイしたいと思います。これが私が今やっていることです。

  • ノードバイナリをノードアプリケーションフォルダに配置します。
  • 使用フッ素PM/opt/myNodeApplicationからノードコードを抽出し、/usr/local/binから "myNodeApplication"というshスクリプトを抽出する.debパッケージをビルドします。

スクリプトは次のとおりです。

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

これにより、どこからでもシェルからmyNodeApplicationを呼び出すことができます。
問題は、これが正しいアプローチかどうか疑わしいので、私の解決策についていくつかのコメントを提供したいと思います。質問は次のとおりです。

  • ノードアプリケーションを/opt/myNodeApplicationに抽出しても大丈夫ですか?それとももっと良い場所がありますか?
  • アプリケーションを起動するには、スクリプトをどこに配置する必要がありますか?スクリプトが「bin」ではないので、/usr/local/binが正しい場所ではないと確信しています。
  • フルタスクを実行するより良い方法はありますか?たぶんスクリプトをまったく使用しないのでしょうか?

よろしくお願いします。

ベストアンサー1

ノードアプリケーションを抽出しても大丈夫です/opt/myNodeApplicationか?それとももっと良い場所がありますか?

これはコメントの問題ですが、私はあなたがしたことが良いと思います。これらの基準はファイルシステム階層標準、含むより具体的な要件/optしかし、システム用のパッケージなので...

アプリケーションを起動するには、スクリプトをどこに配置する必要がありますか?/usr/local/bin私はスクリプトが「ゴミ」ではないので、ここが正しい場所ではないと確信しています。

内容を見ると、ディレクトリに多くのスクリプトが含まれている/usr/binことがわかります。ディレクトリの鍵は、実装の詳細に関係なく実行可能なコマンドを含めることです。したがって、アプリケーションを簡単に起動できるように、スクリプトをここに保存することをお勧めします。bin.../bin/usr/local/bin

フルタスクを実行するより良い方法はありますか?たぶんスクリプトをまったく使用しないのでしょうか?

実際にNodeスクリプトを直接実行可能にし、上部に次のshebang行を追加できます。

#!/usr/bin/env node

(望むよりhttps://stackoverflow.com/questions/24253027/node-and-shebang-help-executing-via-command-line詳細はこちら)。その後、名前をapp.jsjust に変更し、appユーザーに直接実行させることができます。 (これは非.作業ディレクトリを使用して実行できると仮定します/opt/myNodeApplication。)

Nodeアプリケーションをパッケージにパッケージ化することに興味がある場合は、.deb確認してくださいnpm2deb。役に立つかもしれません。

おすすめ記事