nginx-代理多个服务

这篇具有很好参考价值的文章主要介绍了nginx-代理多个服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.主机多Ip

1.1单网卡多ip主机配置

1.2修改default.conf

1.3server1.conf

1.3server2.conf

1.4测试文件

1.4重启测试

2.主机多端口

2.1server1.conf

2.2server2.conf

3.多域名代理

3.1server1.conf

3.2server2.conf


1.主机多Ip

1.1单网卡多ip主机配置

# 查看网络信息 1: lo: 本地  2: enp0s3:添加ip的网卡位置,名字可能不一样 
# inet 192.168.1.124 虚拟机ip
[root@localhost html]# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:8a:00:a7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.124/24 brd 192.168.1.255 scope global noprefixroute dynamic enp0s3
       valid_lft 988sec preferred_lft 988sec
    inet6 fe80::e09e:e70e:87c8:45f2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
# 对于 enp0s3 添加另外的ip/掩码,添加的ip在局域网内不能被使用的,不确定可以使用ping命令
ip a add 192.168.1.125/24  dev enp0s3



# ip a 可以看到多了一个地址
[root@localhost html]# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:8a:00:a7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.124/24 brd 192.168.1.255 scope global noprefixroute dynamic enp0s3
       valid_lft 6895sec preferred_lft 6895sec
    inet 192.168.1.125/24 scope global secondary enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::e09e:e70e:87c8:45f2/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

1.2修改default.conf

cd /etc/nginx/conf.d/
# 备份
cp default.conf  /opt/backup/default.conf
# 重命名default名称
mv default.conf server1.conf
# 复制一份
cp server1.conf server2.conf
vi /etc/nginx/conf.d/server1.conf
vi /etc/nginx/conf.d/server2.conf

1.3server1.conf

server {
    listen      192.168.1.124:80;
    server_name  localhost;
    location / {
        root   /opt/app/server1;
        index  server2.html;
    }
    error_page   500 502 503 504 /50x.html;
    error_page   404 /404x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location = /404x.html {
        root  /usr/share/nginx/html;
    }
}

1.3server2.conf

server {
    listen      192.168.1.125:80;
    server_name  localhost;
    location / {
        root   /opt/app/server2;
        index  server2.html;
    }
    error_page   500 502 503 504 /50x.html;
    error_page   404 /404x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location = /404x.html {
        root  /usr/share/nginx/html;
    }
}

1.4测试文件

mkdir /opt/app/server1
vi  /opt/app/server1/server1.html

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>service1</h1>
</body>
</html>
​
mkdir /opt/app/server2
vi  /opt/app/server2/server2.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>service2</h1>
</body>
</html>

1.4重启测试

systemctl restart nginx.service
http://192.168.1.125/
http://192.168.1.124/

nginx-代理多个服务

 

2.主机多端口

# 文件在下面
vi /etc/nginx/conf.d/server1.conf
vi /etc/nginx/conf.d/server2.conf
​
firewall-cmd --zone=public --add-port=81/tcp --permanent 
firewall-cmd --zone=public --add-port=82/tcp --permanent 
firewall-cmd --reload
# 检查配置文件语法是否正确
nginx -tc /etc/nginx/nginx.conf
# 重启nginx
sudo systemctl restart nginx.service
​
http://192.168.1.124:81
http://192.168.1.124:82
​
# 查看再用的端口
ss -luntp
​
cp   LISTEN     0      128                                                                 *:81                                                                              *:*                   users:(("nginx",pid=1700,fd=6),("nginx",pid=1699,fd=6))
tcp   LISTEN     0      128                                                                 *:82     

nginx-代理多个服务

 

2.1server1.conf

server {
    listen      81;
    server_name  localhost;
    location / {
        root   /opt/app/server1;
        index  server2.html;
    }
    error_page   500 502 503 504 /50x.html;
    error_page   404 /404x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location = /404x.html {
        root  /usr/share/nginx/html;
    }
}

2.2server2.conf

server {
    listen      82;
    server_name  localhost;
    location / {
        root   /opt/app/server2;
        index  server2.html;
    }
    error_page   500 502 503 504 /50x.html;
    error_page   404 /404x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location = /404x.html {
        root  /usr/share/nginx/html;
    }
}

3.多域名代理

# 修改主机host文件
192.168.1.124 1.nginx.cn
192.168.1.124 2.nginx.cn
​
# Win+R->C:\windows\System32\drivers\etc
# 记事本管理员权限,编辑hosts文件粘贴在最下面即可,或者复制到桌面然后在复制进去即可
​
# 文件在下面
vi /etc/nginx/conf.d/server1.conf
vi /etc/nginx/conf.d/server2.conf
​
# 检查配置文件语法是否正确
[root@localhost ~]# nginx -tc /etc/nginx/nginx.conf
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
​
# 重启nginx
sudo systemctl restart nginx.service
​
1.nginx.cn
2.nginx.cn

nginx-代理多个服务

3.1server1.conf

 

server {
    listen      80;
    server_name  1.nginx.cn;
    location / {
        root   /opt/app/server1;
        index  server2.html;
    }
    error_page   500 502 503 504 /50x.html;
    error_page   404 /404x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location = /404x.html {
        root  /usr/share/nginx/html;
    }
}

文章来源地址https://www.toymoban.com/news/detail-412157.html

3.2server2.conf

server {
    listen      80;
    server_name  2.nginx.cn;
    location / {
        root   /opt/app/server2;
        index  server2.html;
    }
    error_page   500 502 503 504 /50x.html;
    error_page   404 /404x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location = /404x.html {
        root  /usr/share/nginx/html;
    }
}

到了这里,关于nginx-代理多个服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于Nginx代理目录出现乱码问题的解决

    使用Nginx做目录代理的时候,中文命名的文件在前端出现乱码问题。 我的nginx代理配置如下: 保存配置重启Nginx,然后访问服务器的3370端口,包含中文命名的文件在前端页面显示乱码,如下: 初步推测是编码方式出现问题。 手动指定nginx在该server下的字符编码格式即可。 即

    2024年02月15日
    浏览(39)
  • Nginx采用虚拟目录的方式代理IIS站点

    由于IIS出现了某种不可知的问题,H5APP的部署从IIS改为Nginx。 H5APP的Nginx的部署比较简单,直接修改官方的实例即可 但是之前H5站点中有一个虚拟目录用于客户单点登录认证,所以需要在Nginx中添加对应的虚拟目录,但是单点认证是ASP.Net程序,Nginx无法启动,所以只能部署到I

    2024年02月03日
    浏览(37)
  • Nginx分端口部署两个或多个项目(包含反向代理配置)

    Author:think 一、部署Nginx 若读者没有部署安装Nginx,则可以参考下面这篇文章进行安装。 CentOS 7非编译安装Nginx_think_mzs的博客-CSDN博客 二、分析Nginx配置文件 通过上面的方法安装的Nginx,其配置文件在 /etc/nginx/ 目录下,如下图所示。 其中 nginx.conf 为Nginx的主要配置文件,在 co

    2024年02月05日
    浏览(46)
  • 多个网卡,nacos注册的服务ip有误,导致服务无法访问

    首先出现这种情况可能是电脑中有多个网卡,并且网卡都启动了,比如打开了移动热点   那么这个时候注册到nacos中的可能就是使用的无线网卡的ip地址,导致服务无法访问; 解决方法有两种: 1. 在启动服务前修改application文件,添加如下配置 spring.cloud.inetutils.preferred-netwo

    2024年02月11日
    浏览(43)
  • Docker中的Nginx配置代理实现不同url访问多个vue项目

    本篇文章接上回Docker中的Nginx配置代理实现不同url访问vue和springboot项目-CSDN博客 在上篇已经实现可以访问http://ip/qianduan   到我们的vue项目,但是有个问题就是如果多个vue项目在/assets/ 的静态资源文件夹就无法设置, 我试过在nginx里面使用if,try_files,map等使其根据不同请求的

    2024年03月16日
    浏览(60)
  • nacos注册服务时网卡ip有误导致[网关异常处理]finishConnect(..) failed: 没有到主机的路由:

    今天本地机器测试微服务时,连接的是服务器的nacos注册本地服务,调试时报 登nacos服务台看了一下服务地址居然与ip不一致  后来看了下,原来nacos注册服务时机器如果有多个网卡,会随机使用一个网卡的ip,由于我电脑装了vmware,导致nacos注册了VMware Network Adapter VMnet1 的ip地

    2024年02月06日
    浏览(41)
  • 在Eureka中注册多个服务(根据本地主机端口号区分)

    这篇文章主要介绍如何在Eureka注册中心内注册多个EurekaServer服务端 创建一个Maven项目,在里面创建三个小的Maven空项目,具体结构如下。 EurekaServer3 ,即外面的大模块,为了清楚的观察项目结构,我将其src文件夹删除了,因为这个没有用。 因为里面的Eureka1-3是同一级别的在

    2024年02月01日
    浏览(30)
  • 银河麒麟V10服务器操作系统同一块网卡添加多个ip地址

    操作系统:Linux version 3.10.0-862.9.1.ns7_4.37.mips64el,麒麟V10服务器操作系统 因为需要,现在要向enp5s0f3所在网卡添加多个ip地址。 最后执行 /etc/init.d/network restart 即可。 这样也行。

    2024年02月12日
    浏览(138)
  • linux 15day apache apache服务安装 httpd服务器 安装虚拟主机系统 一个主机 多个域名如何绑定

    1.apache目录介绍 1.准备测试页面 2.访问控制测试 可以直接编辑apache主配置文件 修改默认网站发布目录 配置域名解析: 测试访问 基于端口 访问:www.soso666.com 访问: test.soso666.com:81 可以配置域名解析,也可以不用配域名解析

    2024年02月04日
    浏览(49)
  • Nginx网络服务——虚拟主机设置

    相比较Apache的虚拟主机设置,Nginx的设置是十分简便的只需要修改主配置中的相关配置就能实现虚拟主机的效果 echo \\\"192.168.190.40 www.gundam.com www.noelle.com\\\" /etc/hosts   ifconfig ens33:0 192.168.190.42 netmask 255.255.255.0  

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包