使用 nginx 设置代理

Setting up a proxy with nginx

不确定这是否真的称为代理 这是我拥有的:

server {
        listen 80;
        listen mckelvey.me:1122
        server_name mckelvey.me
        location / {
                /personal-website
        }
}

我的网站位于 mckelvey.me:1122 我希望我的网站位于 mckelvey.me。 我不知道该怎么做。 IP 是 104.131.153.117,节点应用程序位于 /home/deploy,我有一个名为 deploy.tar 的文件,其中包含该网站。它在 mckelvey.me:1122

完美运行

这是我用来部署网站的 bash 脚本:

#! /usr/bin/env bash
set -e

remote_deploy_dir=/srv/personal_website

remote_host=mckelvey.me
remote_user=deploy
remote_port=22

echo
echo Compressing codebase for push
tar c -f deploy.tar --exclude deploy.tar .

echo
echo Uploading codebase
scp -P $remote_port deploy.tar $remote_user@$remote_host:.
rm deploy.tar

ssh -T -p $remote_port $remote_user@$remote_host <<END_SSH_COMMANDS
  set -o xtrace
  echo
  echo Creating $remote_deploy_dir
  sudo mkdir -p $remote_deploy_dir
  cd $remote_deploy_dir

  echo
  echo Stopping old site instace
  forever stop index.js || echo no old instance found

  echo
  echo Extracting codebase
  sudo tar xf ~/deploy.tar -C .

  echo
  echo Starting new site instance
  forever start index.js
END_SSH_COMMANDS

这里是您应该拥有的 Nginx 配置,以便为您的 Nodejs 应用程序设置反向代理:

server {
    listen 80;
    server_name mckelvey.me;
    location / {
        proxy_pass http://104.131.153.117:1122;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}