-
2021-11-16 14:45:50
1,一个ip地址绑定几个域名?
1.1 为什么会出现这样的需求?-客户端如何区别同一个服务器的不同网站?
因为在一台服务器中,可能会部署多个项目,这个时候如果想一台客户机能够访问到多个网站,就必须要一个ip地址绑定多个域名,
如果服务器使用Apache,那么在Apache的配置文件中加入VirtualHost即可新增虚拟主机:
<VirtualHost 10.0.0.1>
ServerAdmin admin@admin
DocumentRoot “D:/website1”
ServerName http://myhost1.com
DirectoryIndex index.php
<VirtualHost 10.0.0.1>
ServerAdmin admin@admin
DocumentRoot “D:/website2”
ServerName http://myhost2.com
DirectoryIndex
index.php
以上就定义了两个域名http://myhost1.com和http://myhost2.com,分别在不同的根目录,通过这样的配置Apache如果收到http://myhost1.com的请求,那么就到d:/website1里寻找对应的页面,如果是http://myhost2.com的请求,那么就到d:/website2里寻找对应的页面。通常Apache还有一个默认网站,这个网站是可以使用IP地址访问的,如果将这个网站设置为无效,那么这个主机就无法通过IP地址直接访问HTTP资源。
如果服务器没设置默认网站,那么IP地址也无法直接访问主机。所以,如果你直接通过IP地址访问网站,会遇到两种情况:1、服务器设置了默认网站,或者使用IP作为主机名去匹配请求的Host字段,那么你通过IP访问的就是这个网站;2、服务器没有设置默认网站,或者默认网站被禁止,那么你通过IP无法打开任何东,通常遇到的是404错误(找不到页面),在我使用过的几个虚拟主机服务商那,遇到的都是类似的错误。另外,不管是IIS或者Apache或者其它类型的网站服务器软件,不仅仅支持多域名,也支持多IP,也就是一个服务器同时有多个域名和多个IP,互相之间是互不干扰的。
1.2 一台主机能有多个ip地址吗?
一台主机的可以有多个ip地址,但是前提条件是安装了多个网卡,一个网卡对应于唯一的ip地址,路由器中为什么有多个网卡,因为路由器实际上就是一个有多块网卡的计算机,最低有两块,一个入口,一个进口,入口和进口分别处于不同的子网,只有这样路由器才能实现ip分组的接收和转发
更多相关内容 -
在一台服务器上用一个域名部署多个项目
2022-02-09 00:27:01在一台服务器上用一个域名部署多个项目 写在前面 当你学一个新的技术的时候一直听别人讲,是学不会的。 一定要每学一个东西就自己去动手做点什么。脑子里有一个自己的想法,然后不停的去百度,你在解决这个问题的...在一台服务器上用一个域名部署多个项目
写在前面
当你学一个新的技术的时候一直听别人讲,是学不会的。
一定要每学一个东西就自己去动手做点什么。脑子里有一个自己的想法,然后不停的去百度,你在解决这个问题的时候,碰踩过的坑,遇到和遇到的过程都会让你对这个知识本身理解的更加透彻。
所以一篇厉害的小作文并不能教会你什么,他只是告诉你一个方向,至于最后能不能做出来是需要你自己去不断尝试的。写好项目只有一个方法,多动手多百度。
如果对项目换自己域名不熟悉的同学可以参考:
大佬空间:
在此感谢先行者们的分享,能让我们站在巨人的肩膀上更快的解决问题
需要准备的东西
硬件
- 云服务器一台
- 域名一个(已经完成备案的)
软件
- docker
- nginx
最好全程在root用户下完成
下载docker
y总讲过,这里不写
下载nginx
为了加速下载,还可以配置阿里云容器镜像加速,方法:
自己百度
apt-get update apt-get install nginx
为什么要用nginx
是因为你购买域名之后,会发现:DNS无法解析
IP地址加端口号
这一格式的地址。计算机或者服务器的每一个服务或者进程都是对应一个端口号的。我们在一个服务器想部署多个项目,**本质上就是把不同的服务运行在不同的端口,然后用域名的不同二级域名去解析每一个项目。**但是DNS无法直接做到这一点,那么就需要一个,帮你把不同网址发来的请求去转发到不同端口上的一层代理。他就是
nginx
其实
nginx
的主要作用是把实现负载均衡把一个项目分布到不同服务器上,来降低服务器的负载压力。这里用它来部署多个项目,其实是杀鸡用牛刀
。用nginx部署y总项目前的一个天坑
这个坑当时困扰了我好几周,大家一定要认真阅读
首先
nginx
是默认运行在80端口的。但是回想y总的容器会发现,y总把80端口映射在了80端口,443端口,443端口映射在了443端口,那么会导致一个问题,如果你想在你服务器上配置一个
nginx
那么80端口已经被y总容器内的nginx
占用。你在你的服务器上nginx
就无法运行。解决方法1
当然我一开始没有想到一个好的解决办法,只能退而求其次。就是将y总容器内部的
nginx
作为控制所有项目的大脑
。即用容器内部的去转发所有的请求,配置你服务器上的多个项目。但这又带来了一个新的问题,就是其他项目的容器和y总项目的容器耦合性太高。一旦y总项目的容器重启或者停止,那么y总容器里的
nginx
服务也停止,这样你的其他的所有项目就都无法正确解析。本来这个问题就这样以一个将就的方式解决了。但是在之前的课设中,我需要同时展示y总的项目和我的Java项目和docker的作用,这就要求我
必须
将所有项目的容器解耦
,于是我再次直面了这个问题。在看完的b站3个nginx的教程,和大量百度后。我开始研究如何改动y总项目内部nginx
的配置文件解决方法二:将所有nginx配置写在一个nginx中
这个方法也比较合理,但坏处就是你需要对每个项目的nginx配置文件进行大修改,同时项目也不方便迁移
解决方法3:两层nginx代理
实际上,每一个项目都有自己独立的nginx配置,想要做到真正解耦,方法3显然是更合理的
改造y总容器
如果对项目换自己域名不熟悉的同学可以参考:
大佬空间:
在此感谢先行者们的分享,能让我们站在巨人的肩膀上更快的解决问题
下面所有操作建议在服务器的root用户下运行
1.解除容器对80端口的占用
因为nginx是默认运行在80端口,不同的两个
nginx
服务不能同时监听80端口。所以要将容器内的nginx
的80端口映射到主机的其他端口上。443端口同理。因为这里我并没有准备给所有的项目配置SSL。所以我只解除了80端口的占用,没有改443的。docker不删除容器改端口号的方法
-
先用
docker ps -a
查看并记住你要改容器的id -
停止docker服务
systemctl stop docker
-
编辑
/var/lib/docker/containers/容器id/hostconfig.json
,在里面就能修改端口映射这里的容器id就是以你第一步记住的id开头的一个长字符串
-
启动docker服务
systemctl start docker
-
启动
所有
docker容器docker start `docker ps -aq`
改完端口映射后一定要检查是否已经修改成功!
2.进入y总容器,修改配置文件
nginx.conf
1.先进入y总容器,并切换为root用户
2.修改配置文件
vim /etc/nginx/nginx.conf
如何修改
我把一个详细的案例单独写在了下面这篇文章中
nginx快速配置多个项目上手(含一个详细案例) - AcWing
修改的关键
现在思考2个问题:
- nginx的作用是什么
- 对于每个项目中的nginx(第二层的nginx)来说,第一层的nginx的
地址
是什么?
nginx是一个
请求代理服务
,它会监听和拦截某个端口的所有请求,实现控制转发和重定向对所有第二层的nginx来说,第一层nginx的地址是
localhost
!!!明白了关键道理,一切就变的容易起来!!
修改配置文件
nginx.conf
改完以后要记得重新加载配置文件
sudo nginx -s reload
就是这么简单!!
配置服务器上的第一层nginx
nginx快速配置多个项目上手(含一个详细案例) - AcWing
看完案例,这一步就太简单了
1.先在服务器的root用户下下载nginx
为了加速下载,还可以配置阿里云容器镜像加速,方法:
自己百度
apt-get update apt-get install nginx
2.配置
nginx.conf
进入nginx配置文件
vim /etc/nginx/nginx.conf
添加的配置
要添加配置,其实就是添加2个
server
server { listen 80; server_name appxxx.acapp.acwing.com.cn #或者是你自己的域名 location / { #这里的127.0.0.1指本机ip地址 proxy_pass http://127.0.0.1:8000; #要代理转发的端口号 } } #项目二 server { listen 80; server_name yyy.xxx.com; #你的第二个二级域名 location / { proxy_pass http://127.0.0.1:8080; } }
就是这么简单
第一层完整的
nginx.conf
user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf; events { worker_connections 768; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; server { listen 80; server_name appxxx.acapp.acwing.com.cn #或者是你自己的域名 location / { #这里的127.0.0.1指本机ip地址 proxy_pass http://127.0.0.1:8000; #要代理转发的端口号 } } #项目二 server { listen 80; server_name yyy.xxx.com; #你的第二个二级域名 location / { proxy_pass http://127.0.0.1:8080; } } }
改完以后要记得重新加载配置文件
sudo nginx -s reload
创作不宜,如要转载,请私聊作者个人空间 - AcWing
完结撒花~
{
listen 80;
server_name yyy.xxx.com; #你的第二个二级域名
location / {
proxy_pass http://127.0.0.1:8080;
}}
}
改完以后要记得重新加载配置文件 ```bash sudo nginx -s reload
创作不宜,如要转载,请私聊作者个人空间 - AcWing
完结撒花~
-
如何查询一台服务器上绑定了多少个域名
2021-08-04 02:26:57但如果你使用的是虚拟主机,你可能会有兴趣知道你这台服务器上绑定了多少个域名。因为如果用户数过多,主机的性能可能有所降低。这里介绍一个提供IP反查网站服务的网站:You Get Signal。如下图所示,在表单里输入要...知道域名查询IP是很容易的,但反过来呢?如何查询一个IP上有哪些域名?如果你使用的是独立IP,你不会为你的IP绑定了多少个域名而烦恼。但如果你使用的是虚拟主机,你可能会有兴趣知道你这台服务器上绑定了多少个域名。因为如果用户数过多,主机的性能可能有所降低。这里介绍一个提供IP反查网站服务的网站:You Get Signal。
如下图所示,在表单里输入要查询的域名或IP,即可反查域名。
另外一个同类的服务My IP Neighbors稍微麻烦一点,因为需要输入验证码。
You Get Signal反查后给出的域名都是以直接链接的形式给出的,很方便点击查看这些网站,而My IP Neighbors是通过js在原页面打开的。显然前者更好一些。
另外,You Get Signal还会将可能会被搜索引擎认为是spam的域名以红色标记出来。
如下图,在My IP Neighbors上查询kenengba.com能查到292个域名, 而在You Get Signal能查询到271个域名。
为什么两者的数据不一样呢?
因为这两个服务的原理是:一个一个地从搜索引擎收集域名的IP数据,然后通过IP进行分类存储域名信息,最后在查询时调用这些可能已经过时的数据。
因此,你可能在查询结果里看到一些已经不在此主机上的域名,同时可能不能看到一些新绑定的域名。因此IP反查域名的数据不是完全准确的。
另外需要注意的问题是,并不是说查询到多少域名,服务器上就有多少个用户,因为每个用户可绑定的域名可能不止一个。
这样的服务有什么用呢?
1、可以看到自己的IP邻居。例如我可以通过他们查询到CPH上其它博客。
2、如果你准备购买虚拟主机,主机商说每人只能绑定2个域名,一台服务器最多放100个用户,而你反查能查到300个域名,这时你就应该好好思考一下了。
-
个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?
2016-07-31 15:36:14但是在域名服务商那里,你可以把服务器群里面的多个提供相同服务的服务器IP设置一个域名可以轮询。但是同一时刻,一个域名只能解析出一个IP供你使用。这些IP可以轮流着被解析。 这些IP其实对应的服务器提供的是同一...1、也就是说通常情况下一个域名同一时刻只能对应一个IP地址。 但是在域名服务商那里,你可以把服务器群里面的多个提供相同服务的服务器IP设置一个域名可以轮询。但是同一时刻,一个域名只能解析出一个IP供你使用。这些IP可以轮流着被解析。 这些IP其实对应的服务器提供的是同一种的服务。 2、一个IP可以绑定无数个域名,这个没有限制。
Tcp/Ip有3次握手:第一次握手:客户端向服务器端发送SYN包(syn=j),进入SYN_SEND状态,等待服务器确认。第二次握手:服务器收到SYN包,确认SYN,此时syn=j+1,同时发送一个SYN包(syn=k)即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到SYN+ACK包,向服务器发送ACK确认包,此时客户端和服务器端均进入ESTABLISHED状态。其中有一个半连接状态:服务器维护一个半连接队列,该队列卫每个客户端SYN包开设一个条目,标明服务器已经接到SYN包,并向客户端发出确认,这些条目表示的连接处于SYN_RECV状态,得到客户端的确认后进入ESTABLISHED状态。 -
一台服务器支持多个域名和站点
2018-03-28 15:04:01最近数次遇到这种情况:硬件资源有限,但有些开发配置要求比较...需求只有一台服务器,一个IP;服务器上有多个应用运行在不同的端口。例如:127.0.0.1:4000 运行着一个node.js写的博客应用127.0.0.1:3009 运行着一... -
一个服务器可以有多少个ip地址
2021-08-11 12:29:17一个服务器可以有多少个ip地址 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。会话保持,指... -
一台物理机器部署多个docker
2021-08-02 02:01:57部署多个docker有两种方式,一种是让容器映射端口到宿主机,然后可以直接从外部访问到该端口,一种是利用nginx做转发,容器端口不对外暴露。端口映射方式image.png这种是容器在建立的时候,使用-p参数来将容器的端口... -
多个域名共享同一台服务器80端口:纯IIS服务器篇
2022-04-04 09:08:21用图示方式简单教你如何多个域名共用同一个IP地址的80端口。 -
域名解析,一个域名可以对应多个IP地址(基于DNS的负载均衡)
2021-08-09 11:52:04域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。 IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。 域名解析就是域名到IP地址的... -
如何将多个域名指向一个网址
2020-09-03 16:11:08如何将多个域名指向同一个域名地址呢?无论访问B.com,还是C.com,都是A.com的内容。 正文 步骤一、修改CNAME 登陆公司的域名管理后台(如果不清楚可以问网管或者服务器运维相关人员),将B.com和C.com的cname... -
多活主备选择性DNS解析(一个域名对应多个IP)
2022-04-21 19:30:49后续流程不涉及)DNS一对多域名的解析随机性DNS 域名解析负载均衡缺点:可能方案方案一、dns解析层面控制DNS解析结果1.1 通过内置DNS服务器控制IP解析(伪造DNS)1.2、让备机nginx的状态能够影响DNS服务器解析方案二... -
如何实现同一个IP绑定多个域名
2019-07-30 14:52:27我们可以利用Apache实现:同一个IP绑定多个域名。假设你云服务器IP地址为 :12.34.56.78;假设你需要使用的多个域名为 :www.example.com;www.test.com;www.test.cn;about.test.cn。那在将四个域名同时指向12.34.... -
一台服务器如何部署多个网站或多个Web系统?
2021-04-26 20:23:55现在不论是个人还是企业,只要在网上开展业务都需要有自己的网站或者APP客户端。而现在随着虚拟主机被淘汰,独立...影响网站访问速度的一个重要因素是服务器节点所在地域。也就是说如果服务器节点地域选的离你目标客户 -
域名注册需要多少钱?注册一个域名一般要多少钱?贵吗?
2021-01-14 15:30:59如果是普通的域名,要几十块钱,但是想要一个好的域名,就有很多钱了。没有底,一般有几百万,几千万。域名注册讲究域名外观,自然贵,价格也不固定。而一般的域名服务商定价是固定的,大概几十块钱,主要是被人炒作... -
Nginx同一个域名下代理后端项目跟多个vue项目
2022-04-13 10:00:25constantRouterMap }) public inde.html 里面 head加上 vue.config.js 里面的 publicPath: ‘/admin/’ nginx里面配置 需要注意的是一般情况下:try_files 我们只配置 $uri $uri/ /index.html这几个但是同一个域名下... -
一个虚拟主机实现多域名多网站的方法---实测可行
2016-09-18 17:09:36虚拟主机空间1G,博客用不了那么多空间,而自己又屯有几个域名,所以就有了一个虚拟主机上搭建多个网站的想法。查阅资料历经种种失败,终于折腾出来了还是。下面把最后的可以实现的方法记录下来。其他方案不做介绍,... -
2个域名2个网站共用一个空间的方法
2016-09-02 22:06:38很多空间支持多域名绑定,但是不支持子目录绑定,可以考虑如下几种方法来实现一个空间放多个域名站点的方法,只是其他站点都需要在一个目录下大开。 方法一:用js跳转 在空间上分别绑定www.aaa.com和... -
DNS域名解析实现一个域名对应多个IP地址DNS以及优缺点
2021-01-18 12:07:20在DNS系统中有一个比较重要的的资源类型叫做主机记录也称为A记录,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。如果你有一个自己的域名,那么要想别人能访问到你的网站,你需要到... -
dns 解析,一个域名解析到多个ip地址
2020-05-20 15:50:24域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。 IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换... -
四台电脑自动获取ip,Client可通过域名访问http服务器。
2021-12-07 20:34:05先搭好所需设备(一台路由器,俩个交换机和4台电脑外加一个Client和俩个服务器)并开机 因为图中有俩个广播域,所以接下来对其进行IP地址规划 左边为192.168.1.0/24 右边为192.168.2.0/24 第二步 双击路由器... -
域名服务器可以划分为哪四种
2021-08-04 09:07:19域名服务器可以划分为主域名服务器、辅助域名服务器、缓存域名服务器和转发域名服务器四种。主域名服务器的数据可以修改,辅助域名服务器的数据不可以修改,缓存域名服务器提供的信息都是间接信息,转发域名服务器... -
IP、主机名和域名
2016-09-21 10:13:32在网络通信中,每个IP可唯一标识一台主机,在多网卡或者路由器等的情况下,每个主机可以有多个IP,通过哪个IP都可以找到该主机;但是IP地址是一个32位的数字,为了便于记忆,我们通常把按每字节划分,然后用10进制... -
厘清几个概念:互联网/WWW/Web 、URI/URL、主机名/域名
2017-08-14 11:12:15互联网、Internet、因特网、国际互联网是同一个概念,指的是由那些使用共用语言互相通信的计算机连接而成的全球网络(百度百科)。 WWW是World Wide Web的简写,可以简称为Web,是互联网(Internet)上的一项常用... -
实现一个域名对应多个IP地址和DNS优缺点详解!
2018-10-05 19:03:18实现一个域名对应多个IP地址和DNS优缺点详解! 1.DNS定义: DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。 2.DNS作用: (1... -
如何利用自己的电脑或者本地服务器搭建一个固定访问地址(没有固定的公网Ip)可以配置域名以及https,超级简单
2020-10-04 10:56:39问题需求: 公司有两台闲置的ThinkPadStation P910 , 一直在角落里面放着 , 都落灰了 , 正好最近有很多大的文件需要上传 , 阿里云 , 七牛云什么的存储什么的都需要花钱 , 两台服务器又个个都是... 3: 一个动态的DN... -
终于有人把域名和DNS服务器给写明白了
2020-05-10 16:39:17终于有人把域名和DNS服务器给写明白了 -
【历史上的今天】3 月 15 日:世界上第一个互联网注册域名;Adobe 并购 Aldus;Skype 取代 MSN
2022-03-15 01:01:403 月 15 日,历史上的今天,格状编码调制的发明者 Gottfried Ungerboeck 出生;第一个互联网注册域名诞生;Adobe 并购 Aldus;微软停止使用 Messenger,转而使用 Skype。 -
配置ssl安全证书相关:一个域名能用多个ca证书吗
2019-02-20 14:27:19很多购买过的ssl证书的朋友想问,我一个域名可以用多个ssl证书吗?其实这是可以的,比如说一个企业类型的网站,需要增加访客对企业的信任程度,他们购买了一个EV型的证书,这样用户访问时,浏览器的地址栏会变成绿色... -
DNS协议及域名解析过程(每个域名服务器都负责管理下一级域名服务器,保证域名的唯一性)
2020-05-13 08:43:29我们都知道,TCP/IP中使用的是IP地址和端口号来确定网络上某一台主机上的某一个程序,不免有人有疑问,为什么不用域名来直接进行通信呢? 因为IP地址是固定长度的,IPv4是32位,IPv6是128位,而域名是变长的,不...