nginx(二) 同个服务器如何反向代理多个ip

前言
思考
在一个lunix服务器上可不可以有多个ip,多个ip怎么去设置?
如何用Nginx代理同个服务器上不同的ip地址?
基础知识点
Linux操作系统允许添加IP别名,就是在一块物理网卡上绑定多个lP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。

应用场景
一台服务器绑定两个ip:192.168.0.45、192.168.0.66,访问不同的ip请求不同的html目录,即:

访问http://192.168.0.45将访问html1目录下的html网页
访问http://192.168.0.66将访问html2目录下的html网页
1 绑定多个ip
cd /etc/sysconfig/network-scripts
# 修改ifcfg-eno1 不同的版本该名称不同修改成如下内容
1
2
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eno1
UUID=93d81a87-27ef-4551-b4be-800df9ace077
DEVICE=eno1
ONBOOT=yes
IPADDR=192.168.0.45
PREFIX=16
GATEWAY=192.168.0.1
DNS1=192.168.0.1
IPV6_PRIVACY=no

#添加如下ip地址即可
IPADDR1=192.168.0.66
PREFIX1=17

使之生效,重启网络配置

systemctl restart network
1
2 Nginx更改配置
假设自己安装Nginx的根目录为opt/nginx

cd /opt/nginx/conf
vim nginx.conf
# 修改如下

#user nobody;
worker_processes 1;

#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;

#pid logs/nginx.pid;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

sendfile on;

keepalive_timeout 65;

#配置虚拟主机192.168.78.132
server {
#监听的ip和端口,配置192.168.78.132:80
listen 80;
#虚拟主机名称这里配置ip地址

server_name 192.168.0.45;

#所有的请求都以/开始,所有的请求都可以匹配此location
location / {
root /opt/nginx/default/html1;
#指定欢迎页面,按从左到右顺序查找
index index.html index.htm;
}
}

server {
listen 80;
server_name 192.168.0.66;
location / {
root /opt/nginx/default/html1;
index index.html index.htm;
}
}
}

3 准备测试的静态页面
cd /opt/nginx
cp -r html html1
cp -r html html2

4 重启Nginx
cd /opt/nginx/sbin
./nginx -s quit
./nginx

5 测试
访问http://192.168.0.45将访问html1目录下的html网页
访问http://192.168.0.66将访问html2目录下的html网页
————————————————
版权声明:本文为CSDN博主「t18092838767」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/t18092838767/article/details/109453972

posted @ 2023-08-30 16:40  CNHK19  阅读(1461)  评论(0编辑  收藏  举报