LInux中Nginx+nodejs 反向代理

Posted 码上加油站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LInux中Nginx+nodejs 反向代理相关的知识,希望对你有一定的参考价值。

一台服务器架设多个 nodejs 网站的拓扑结构

nginx 的安装

1、安装 nginx

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

2、查看 Nginx 源是否配置成功

 通过 yum search nginx 看看是否已经添加源成功。如果成功则执行下列命令安装 Nginx。 或者 npm info nginx 也可以看看 nginx 源是否添加成功

3、安装 Nginx

sudo yum install -y nginx

3、启动 Nginx 并设置开机自动运行

sudo systemctl start nginx 
sudo systemctl enable nginx

Nginx 反向代理配置

 

1、关闭 Selinux

 

vi etc/selinux/config
修改 SELINUX=enforcing 为 SELINUX=disabled 
必须重启 linux init 6

 

2、配置 firewalld 开启 80 端口

 

firewall-cmd --zone=public --list-ports

 

firewall-cmd --zone=public --add-port=80/tcp --permanent

3、配置反向代理

找到 /etc/nginx/conf.d 然后在里面新建对应网站的配置文件

 

server {
  listen 80;
  server_name www.bbb.com; location / {
  #设置主机头和客户端真实地址,以便服务器获取客户端真实 IP proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #禁用缓存
  proxy_buffering off;
  #反向代理的地址
  proxy_pass http://127.0.0.1:3001; }
}

重启 nginx

systemctl restart nginx 
nginx -t 看配置是否正确 
systemctl stop nginx 
systemctl start nginx

域名测试

window

找到 C:\\Windows\\System32\\drivers\\etc\\hosts

192.168.7.6  www.bbb.com  //写自己的IP

Mac

打开Terminal

在terminal界面中输入: sudo vi /etc/hosts   然后回车

会提示让你输入密码 XXXX.(注意输入密码时你看不到*号)

输入成功以后,在出现的界面中按e,转入编辑模式

输入你要设定的hosts内容,比如:127.0.0.1  api.f.com

输入完毕,如果要保存退出,按[esc],再输入:wq(注意:包含前面的冒号和后面的感叹号),再按[enter],hosts就保存生效了。

 

浏览器输入

 

www.aaa.com   nginx 转发到了 127.0.0.1:3001 

 

 

 

以上是关于LInux中Nginx+nodejs 反向代理的主要内容,如果未能解决你的问题,请参考以下文章

在Server2003上配置nginx反向代理nodejs。

nginx做nodejs(express等通用)反向代理

nginx 反向代理服务器是何时启动nodejs服务的

nginx 配置nodejs后台代理

使用 nginx 反向代理后面的 keycloak 保护 nodejs 中的路由

腾讯云(ubuntu)下安装 nodejs + 实现 Nginx 反向代理