GCEにsocket.ioを利用したNode.jsアプリケーションをデプロイする


socket.io(websocket)を利用するため今回はGoogle Compute Engineにデプロイします。

デプロイするアプリケーション

Node.jsのインストール

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs

Gitのインストール

sudo apt install -y git

Nginxのインストール

sudo apt install nginx -y

Gitリポジトリのクローン

git clone https://github.com/takm-reason/websocket-server-node

Nginxの設定ファイルを配置

/etc/nginx/conf.d/nodejs.conf
server {
    listen 80;
    server_name _;
    client_max_body_size 10M;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://localhost:3000/;
    }
}

デフォルトのvhostを削除

rm -rf /etc/nginx/sites-enabled/*

Nginx起動

sudo service nginx start

アプリケーション起動

npm install && npm start