Jin's Blog
HOME WEEKLY ARCHIVE ABOUT RSS

使用 Nginx 进行端口转发

当我们让域名解析指向服务器的 IP 地址时,如果想访问非 80 端口上的服务时,就需要加上 :port,很显然这样很丑,所以我们就可以通过使用 Nginx 来监听 80 端口,判断发起请求的 URL,然后转发到不同的端口上。

安装 Nginx

首先我们需要给服务器安装 Nginx。

在 CentOS 7 中,直接使用 yum 安装 Nginx 会提示无下载源。因此,需要添加 Nginx 的下载源到 yum:

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

指定了下载源后,就可以使用 yum 命令来安装 Nginx 了:

sudo yum install -y nginx

安装完成的 Nginx 并不会立刻启动,需要我们手动执行命令来开启它:

sudo systemctl start nginx.service

还可以输入以下命令,让 Nginx 可以随系统自动启动:

sudo systemctl enable nginx

相关命令补充:

# 开启 Nginx
service nginx start
# 停止 Nginx
service nginx stop
# 重启 Nginx
service nginx restart
# 查看 Nginx 状态
service nginx status

Nginx 的默认站点根目录为:

/usr/share/nginx/html/

默认站点配置在:

/etc/nginx/conf.d/default.conf

Nginx 主配置如下(当修改配置文件后需要运行 service nginx restart 重新启动使配置剩下,在修改前注意备份!)

/etc/nginx/nginx.conf

配置

接着我们就需要来修改配置文件:

  1. 首先使用 vim 打开配置文件
vim /etc/nginx/nginx.conf
  1. 修改配置文件
# ... 省略
http {
// 当通过 your-url-namem:80 端口访问这个服务器时
// 该请求会被转发到 127.0.0.1:9992
server {
listen 80;
server_name your-url-name.com;
// 通过访问的路径来处理转发 ...
location / {
// 也不一定是内网 127.0.0.1 ,也可以是另外一个服务器的某个端口等 ...
proxy_pass http://127.0.0.1:9992;
}
}
# ... 省略
}
# ... 省略
  1. 保存配置文件之后
# 重启 Nginx 使得配置生效
service nginx restart

最后

成功之后我还没高兴 1 分钟就发现了一个让人蛋疼的事情

真的是!!!好气啊!算了算了备案去了。

参考资料:

  1. Nginx 反向代理之端口转发
  2. CentOS 7 用 yum 安装 Nginx
PREVIOUS

重新开始写博客

NEXT

春招结束

ALL TAGS