質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Supervisor

Supervisorは、python製のプロセス管理・デーモン化のツール。ディストリビューションで用意されていないパッケージのデーモン化をプログラム上で簡単に実装することが可能です。さらに、プロセスが終了した際に自動的に起動したり、一定数のプロセスを維持するなどの機能も搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

0回答

822閲覧

supervisorctl startコマンドのError(no such file)の原因がわからない

gnuuu_07

総合スコア10

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Supervisor

Supervisorは、python製のプロセス管理・デーモン化のツール。ディストリビューションで用意されていないパッケージのデーモン化をプログラム上で簡単に実装することが可能です。さらに、プロセスが終了した際に自動的に起動したり、一定数のプロセスを維持するなどの機能も搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2021/09/09 14:29

編集2021/09/09 15:41

わからないこと

supervisorでReactのアプリケーションを起動しています。
これまでは管理対象のReactアプリケーションはsupervisord内でcommandを以下のように書いて起動していました。(command以外についてはセンシティブな情報になるため詳細は伏せています。)

[program:hoge] directory=/home/hoge command=npm start autostart=false

その後Reactのアプリケーションの起動方法を、buildしてserveというnpmモジュールを使用して立てたサーバーにデプロイする方法に変更したのに伴い、supervisordのconfの内容を以下のように変更しました。(command以外はnpm startのものと変更ありません)

[program:hoge] directory=/home/hoge command=serve -d build -l 3000 autostart=false

この新しい起動方法でプロセスを起動しようとすると

$ supervisorctl update $ supervisorctl reread $ supervisorctl reload $ supervisorctl start [プロセス名] xxxx: ERROR (no such file)

というエラーが吐かれ、プロセスの起動ができません。
このエラーについて調べてみてもあまり情報がなかったので、エラーの意味や原因、解決方法などをご存じの方がいらっしゃったら教えていただきたいです。
よろしくお願いします。
(serve自体はインストールできており、Reactアプリケーションのディレクトリ内で直接serveコマンドを叩きデプロイすることは可能でした)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/09/09 21:19

環境変数の問題かと。ちなみにこれはデプロイ環境ですか?
gnuuu_07

2021/09/10 00:07

はい、こちらはデプロイ環境です。 環境変数の問題というのは具体的にどのような問題でしょうか。
hoshi-takanori

2021/09/10 00:17

supervisor から起動されるプロセスは最低限の環境変数しか設定されないため、例えば serve や node にパスが通ってなかったりするのではないかと。 また、デプロイ環境であれば、そもそも React 用の Web サーバープロセスを起動する必要はないのでは? (React のコードはビルドすると一つの .js ファイルになるので、apache や nginx などが動いてれば、直接ドキュメントルート配下に配置すれば良いので。)
gnuuu_07

2021/09/10 00:25

確かにデプロイ環境ではあるのですが、環境の問題でどうしてもReact用のWebサーバーを起動する必要がありまして、、 supervisorのconfに新たにserveのパスを通せば起動できるようになる可能性があるという認識で合ってますかね、、?
hoshi-takanori

2021/09/10 01:31

supervisor の conf にも環境変数を書けるようですが、たぶんシェルスクリプトにした方が楽かと…。
gnuuu_07

2021/09/10 01:51

serveのパスが通っていないということだったので、serveのインストール先をsupervisorから起動できるpathに変更したことで起動できるようになりました。 色々ご教授いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問