首页 > 系统相关 >nginx 绑定多个域名

nginx 绑定多个域名

时间:2023-08-29 16:24:12浏览次数:41  
标签:Nginx 绑定 端口 server nginx 域名 docker 80

1、服务器环境

阿里云CentOS7.9系统、Docker环境

Nginx已部署,端口是8080(因为这个是我自己的测试服务器,没舍得用80端口,如果是实际环境,Nginx需要监听80端口)

docker运行了两个应用,端口分别是8004和8003(两个测试应用),如果为了直观可以使用两个不同的应用,我为了快捷,是同一个应用部署了2次。

2、配置

2.1 DNS解析

因为我这个域名是在腾讯云上买的,所以要去腾讯云上做DNS解析,将域名解析地址指向应用所在的服务器。

添加了3条记录,其中@符,指的是xxxxxx.cn,即顶级域名,其余两条是二级域名。

2.2 nginx.conf文件修改

我这边服务器上的Nginx配置文件是挂载在宿主机上,所以直接修改宿主机上的就行,如果没挂载就需要进入docker里面修改。

worker_processes  1;


events {
    worker_connections  1024;
}


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



    sendfile        on;


    keepalive_timeout  65;
    # 静态文件映射
    server {
        listen       80;#端口
        server_name  localhost;#访问地址、域名
               
        
        location / {     #匹配访问url规则
            root   /usr/share/nginx/html/html/;       #指向路径   实际访问路径为 D:/t2/html/myhtml/  两个拼接的
        }
    }
    
    
    # 配置 server
    server {
        listen 80;
        server_name xxxxxxxx.cn test1.xxxxxxxx.cn; # 支持 www 和 non-www 两种访问方式
        location / {
            proxy_pass http://172.00.000.000:8003; # 将其转发到内网 8003 端口
        }
    }
 
    # 配置另一个 server
    server {
        listen 80;
        server_name test2.xxxxxxxx.cn;
        location / {
            proxy_pass http://172.00.000.000:8004; # 将其转发到内网 8004 端口
        }
    }

}

这个配置文件,关注最下面两个server就行了,第一个是静态文件访问测试的配置与域名绑定没关系。

其中proxy_pass要注意下,大家可能会写http://localhost,如果是docker环境那就不行,因为docker内是访问不了这个地址的,在Nginx的docker看来localhost是指自己容器内部,docker内部需要访问云服务器的内网地址。

修改完毕以后,运行下 docker restart 380f 重启下Nginx容器。

3、测试

经过测试,域名绑定没有问题,虽然我这个是用的二级域名,但是和顶级域名没有区别。

 

 

参考:https://blog.csdn.net/AlbenXie/article/details/131951285

标签:Nginx,绑定,端口,server,nginx,域名,docker,80
From: https://www.cnblogs.com/PrintY/p/17665155.html

相关文章

  • 【7.0】Docker部署nginx
    【一】拉取Nginx镜像:dockerpullnginx该命令将从DockerHub上获取最新的Nginx镜像,并将其下载到本地。【二】运行Nginx容器:dockerrun-id--namenginx-p80:80nginx这条命令将在后台启动一个名为"nginx"的容器,并将容器内部的Nginx服务的80端口映射到主机的80端口。......
  • nginx同步脚本
    检测nginx进程是否存在异常`#!/bin/bash收集nginx进程pidpid=$(ps-ef|grepnginx|grepworker|awk'{print$2}')收集第一个nginx进程的pid,打上时间戳pid0=$(ps-ef|grepnginx|grepworker|awk'{print$2}'|head-n1)starttime0=$(ps-olstart=-p$pid0)startti......
  • linux(ubuntu)能ping ip,不能ping域名。无法解析域名DNS指向127.0.0.53问题处理
    故障现象:无法上网。ping互联网ip地址能通信,ping域名无法解析。用nslookupwww.qq.com返回127.0.0.53无法解析的问题。重启无法解决。编辑/etc/resolved.conf配置文件dns写的127.0.0.53.直接添加新的dns,果reboot重启之后,还是原来的内容不变首先修改/etc/systemd/resolved.conf文件......
  • Karmada 结合 coreDNS 插件实现跨集群统一域名访问
    本文分享自华为云社区《Karmada结合coreDNS插件实现跨集群统一域名访问》,作者:云容器大未来。在多云与混合云越来越成为企业标配的今天,服务的部署和访问往往不在一个K8s集群中。如何做到服务访问与集群无关,成为了各个云服务提供商必须要面对的问题。本文基于Karmadav1.6.1版......
  • 深入剖析Nginx反向代理与负载均衡策略
    在现代网络架构中,Nginx作为一款高性能的Web服务器和反向代理服务器,扮演着重要角色。本篇博客将深入探讨Nginx的反向代理功能以及不同的负载均衡策略,帮助你更好地理解和应用这一技术。Nginx反向代理反向代理是一种服务器配置,它将客户端请求转发到后端服务器,并将后端服务器的响应返回......
  • 问题排查:nginx能跑,但是只能跑一会,不能跑多了
    背景上周都是查测试环境的问题,比如,我上一篇写的问题排查:nginx的反向代理感觉失效了一样,就是说这个事的。在文章里,最终查到是nginx的全连接队列满了(每个监听端口有个队列,完成三次握手的请求会进入这个监听端口的全连接队列,队列大小是只有128,比较小),我当时的解决方式,是把队列大小调......
  • 【转载】如何解决 nginx proxy_pass 使用变量 $arg 404 ?
    为什么location/auth0/{proxy_passhttps://cdn.eu.auth0.com/;}这样就可以但是location/auth0/{proxy_passhttps://$arg_host/;}就404$arg_host===cdn.eu.auth0.com  proxy_pass是用了变量的话,nginx就不会自动添加path到host后面例如......
  • docker部署nginx
    因为需要挂着卷,先部署一个临时的容器:dockerrun--namenginx-p80:80-dnginx:latest然后拷贝文件夹到宿主机:dockercpnginx:/etc/nginx/nginx.conf/publish/nginx/conf/nginx.confdockercpnginx:/etc/nginx/conf.d/publish/nginxdockercpnginx:/usr/share/n......
  • 剖析网卡绑定模式
    目前网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6常用的有三种:mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定......
  • 使用Python对HTTPS域名证书管理与验证
    随着业务的发展,很多域名都需要使用HTTPS。这就带来了一个新的问题:如何监控HTTPS域名证书的有效性。虽然证书不是一刹那过期的,但是也需要对其进行监控。了解其有效时间,并在过期前进行报警监控。要完成这些功能,所限就是要对证书进行解析。对证书解析可以使用python的OpenSSL库,以下为......