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:WindowsSystem32driversetchosts

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 

 

原文地址:https://www.cnblogs.com/loaderman/p/11654846.html