[英]How to deploy Node.js express server on GCP whithout `gcloud app deploy`?
我不想使用命令gcloud app deploy
來部署我的 Node.js Express 服務器。
理想情況下,我想:
npm install
npm start
這將在端口 5000 啟動節點服務器。這種配置的防火牆規則是什么? 我會使用 VM 的外部 IP 將請求發送到我的服務器或其他東西嗎? NGINX在這里的作用是什么?
您可以在 Google 雲上配置常規的 http 和 https 端口,並使用 nginx 作為代理將數據路由到您的應用程序。
Nginx 配置示例:
server {
listen 80;
location / {
proxy_pass http://yourAppAddress:5000/;
}
}
雖然我建議使用 Docker 來部署您的應用程序。
要在 GCP 實例上安裝和運行 Node.js express sercer,請按照以下步驟操作(在 Debian9 VM 上測試):
sudo apt update
sudo su -
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt install -y nodejs
curl -L https://npmjs.org/install.sh | sudo sh
npm install -g express-generator
logout
express myproj1
cd myproj1
npm install
npm start
之后你應該看到
> m1@0.0.0 start /home/wbogacz/m1
> node ./bin/www
關於防火牆 - 添加規則以允許端口 3000 上的 TCP 流量到這台機器; 見下面的例子;
gcloud compute --project=myproject firewall-rules create express_rule --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:3000 --source-ranges=0.0.0.0/0 --target-tags=myvm
這假設您的實例具有標簽myvm
。
之后,您應該能夠將 go 連接到 VM 的外部 IP 並在瀏覽器頁面中看到Welcome to Express
消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.