2017-10-24 6 views
0

を停止した後、PM2で始まらない私が最初に私がsudoのノードmyapp.jsでそれを実行しようとしたポート66アプリケーションが実行

に耳を傾けるように設定アプリを持っています。私は正しいURL(IP:66)でアクセスできました。それから、私はアプリを停止し(Ctrl + c)、pm2で起動しました。sudo pm2 start app.js。ステータスはオンラインです。ただし、同じURLにはアクセスできません。

pm2でアプリケーションを起動している間にsudo pm2ログを実行すると、ポート66のエラーEACCESSが表示されます。他の誰もこのアプリケーションを実行していないため、コンソールを1つしか使用せず、 pm2で。

Pm2がグローバルにインストールされました。サーバーはDebianのストレッチです。 Nodejsのバージョンは8.x

私は通常のユーザーとしてログインし、sudoを使ってアプリケーションを実行しています。

答えて

1

Linuxシステムでは、通常のユーザーは1024未満のポートを聴くことはできません。これを回避する方法はいくつかあります。

このルールを変更して、非ルートユーザーがそのようなポートを開くことができるようにすることができます。しかしこれはセキュリティ上の問題であり、推奨されていません。だから私はこのソリューションへのリンクを追加しません。

また、1024より大きいポートをリッスンして、ファイアウォールで転送ルールを使用して、ポート66を開いたポートにルーティングすることもできます。 https://www.systutorials.com/816/port-forwarding-using-iptables/

私の(そしてpm2の)推奨ソリューションは、1024より大きいポートをリッスンし、nginxのようなリバースプロキシを使用してそのサーバーで実行されているアプリケーションをルーティングすることです。 http://pm2.keymetrics.io/docs/tutorials/pm2-nginx-production-setup

+0

ありがとう、それは素晴らしい答えでした。それは私がこの質問をする唯一の人ではなかったことが判明しました(私はちょうど正しい方法でグーグルではなく、答えを見つけることができませんでした)。とにかくあなたのヒントは非常に便利です。 –

関連する問題