gcloud computeVMに手作業でputtyして実行すると、うまく動作するノードアプリケーションがあります。ここでgcloudのdeploy.shファイルを使わずにnode.jsアプリケーション用にポート80を開くには?
は(UNIXへのすべてのrealted)合併症である:
1)私は、ドメイン名を持っています。そこで、上記のVMを指すようにdnsゾーンレコードを追加しました。
2)計算VMが応答するために、我々はhttps://cloud.google.com/nodejs/getting-started/run-on-compute-engine#download_appに従えば、それは上でアプリケーションを実行するように指定する80
3)上で待機プロセスがあるはず8080
4)ポート< 1024の場合、ポートを開くにはroot権限が必要です。私のアプリインスタンスsupervisord:nodeappはsudo:なし
5.)だから、NPM開始から、私はそれが次のエラーを与えた)
6.「を起動sudoのNPM」を使用するには、起動スクリプトを変更しましたttyが存在し、askpassプログラムが指定されていない
7.)「sudo visudo」を毎回実行し、展開後にインスタンスを再起動するたびに「username ALL = NOPASSWD:」を追加する必要があります。今上記の計算VMへの私のGoogleドメインポイント:
# Install app dependencies
cd /myrepo/opt/app/servers
sudo npm install
# Create a nodeapp user. The application will run as this user.
useradd -m -d /home/nodeapp nodeapp
chown -R nodeapp:nodeapp /myrepo/opt/app/servers
# Configure supervisor to run the node app.
cat >/etc/supervisor/conf.d/node-app.conf << EOF
[program:nodeapp]
directory=/myrepo/opt/app/servers
command=sudo npm start
autostart=true
autorestart=true
user=nodeapp
environment=HOME="/home/nodeapp",USER="nodeapp",NODE_ENV="production"
stdout_logfile=syslog
stderr_logfile=syslog
EOF
A.)私の要件は単純です:
私は、関連する詳細はstratupスクリプトの一部が含まれています。ユーザーがwww.domainname.comを入力するたびに、URLにポート番号のないウェブサイトに移動する必要があります。起動スクリプトを簡単に変更してポート80を開く方法(推奨)?
B.)また、チュートリアルで指定したdeploy.shを使用する必要がある場合は、自動的に実行されますか?あるいは、私がそれを自動的に実行しなければならない場合、その手順は何ですか?
注:私はUNIXの専門家ではありません。どんな助けもありがとう。
私はnginxを有効にしました。私はconfファイルをアップロードすることができます。だから私の前のコメントを削除する!リバースプロキシをチェックしようとしています。 –
nginxリバースプロキシが動作しました。 :)...他のサーバー上で8080にルーティングされたドメイン名:)。しかし、それはnginxが支払われるように見えます。今私は無料試用中です。そして、私は彼らがクラウド上で "nginx plus"だけを許可すると思う。 –
プレミアムな「nginx」がありますが、LinuxのGoogle Compute Engine VMで無料のオープンソース版をセットアップできるはずです。たとえば、[このチュートリアル](https://cloud.google.com/solutions/https-load-balancing-nginx)を参照してください(ここでは正確には行いませんが、 Nginxの無料版)。 –