Nginx part2.2

目录

如何用Nginx搭建多网址服务器?

基于ip地址的虚拟主机

 1. 先建立存储网页的目录

2.进行子配置

3.编写.conf文件

基于端口号的虚拟主机

基于域名的虚拟主机

如何用Nginx搭建多网址服务器?

有些网站,ip不同,域名不同,网页内容也不一样,可能会以为背后是在访问多个主机,实则是一个,因为现在的电脑都可以安装虚拟机,用MacBook的人就知道,有时候想打游戏,结果游戏不支持Mac,支持Windows,此时要做的就是下个虚拟机,将游戏放在虚拟机上运行,虽然Mac会烫,但你打游戏的心可不会凉,同理,虚拟机也可以有IP地址,跟本主机的ip地址不一样,所以要用到虚拟主机功能,用户就可以用不同的ip、端口、域名来进行访问

基于ip地址的虚拟主机

多个网站在一个机子上,则需要多个ip,指的是一个主机对眼多个ip,但一个ip不能对应多个主机:主机一对多,IP一对一

原理:一个服务器有着多个IP地址,而且每个IP地址与服务器上部署的网站一一对应,当用户请求的IP地址不同,则会访问到不同的网页,且每个网站都有一个独立的IP地址        

PS⚠️:主机必须有多个IP地址

如何添加多个ip则需要用到nmcli指令

先用ip a进行查看自己的网卡以及现有的ip地址

得到网卡的名字后使用nmcli命令:

nmcli c modify enp0s5 +ipv4.addresses 10.211.55.20/24
c指的是创建,emp0s5是我的网卡名,+ipv4.address是指添加ip地址,只需要在最后把ip地址填上即可,并在ip地址的后面加上子网掩码
通用格式:nmcli c modify 网卡名 +ipv4.addresses 所添加的ip地址/子网掩码

设置完后,因为我们已经在此时动了nginx的文件,需要将其重新加载,只需运用:

重新加载:
nmcli c reload
将网卡重新加载:
nmcli c up enp0s5(通用格式下末尾的网卡填自己的)

进行完后,即可测试添加的ip是否正常启动

正常后,若要将其设置成网站,即可按照之前那样进行

 1. 先建立存储网页的目录

第一个
mkdir -p /www/zy
第二个
mkdir -p /www/wy

若要将其与前面的分开,则需要将两个html文件分开放置,所以建立的目录也得是不一样的名字,因为此时是要搭建两个网站,所以两个网站就要有两个server,此时用子配置来进行设置

2.进行子配置

进入nginx的主配置文件里,用 ’vim /nginx/nginx.conf‘ 找到有个代码是:include开头的server上面那个

该代码的作用是如果在/etc/nginx/conf.d文件下的子配置文件有东西就会自动加载到这个位置,相当于就是,一个网站一个文件,分开管理,此时就是该在/etc/nginx/目录下建立一个以.conf为结尾的文件(此处原本路径里的*表示任一)并且在文件里写入主机的server配置,有几个主机就写几个

3.编写.conf文件

cd到/etc/nginx/conf.d下后,直接编写因为直接编写也会包含创建文件:

vim pdhost.conf
此处我用pdhost写作文件名,是因为虚拟机为苹果的’Parallels Desktop‘-pd为其简写,host中文意思为主机,这样写有利于后期管理
进入编辑模式后,按下i后开始编辑,并写入:
server {
        listen        80;                    端口号
        server_name   10.211.55.10;          网站所要搭建在的IP地址
        root          /www/wy;               html文件所在的路径
       }
                                            (为第一个网站的设置)

server {
        listen        80;
        server_name   10.211.55.20;
        root          /www/zy
       }

写完后就可以退出编辑模式,切记!⚠️是wq保存退出,然后可以使用nginx -t检查命令是否有错误,没错后即可,因为动了配置后,只需要重启nginx服务就好了,然后两个网站就搭建好了

例子:由Mac搭建,因为还不会用pd传文件,所以就搭建了两个目录网站

切记!如果是要搭建目录网站,必须将autoindex        on给打开,不然就会出现403报错

(10.211.55.10)

(10.211.55.20)

基于端口号的虚拟主机

原理:基于端口号的主机,可以让用户通过一个ip地址的不同端口号来访问不同的网站

首先先建立两个文件夹,用于储存文件

mkdir -p /www/port{5111,5222}
一口气创建两个文件夹,到“{”前填写一样的,“{”后写不一样的,就像文件名,
所以此时创建了叫port5111和port222的两个文件夹

然后修改主配置文件,直接打开nginx的conf文件,直接vim /etc/nginx/nginx.conf

找到server后,将第一个listen后面的80端口进行更改,改为刚刚设置的5111端口,下面一个listen是ipv6可以将其删除,然后html文件,第一个的路径就不进行修改

然后将整个server进行复制粘贴一遍,第二个server就做成一个,目录网站,将autoindex打开,选择一个目录,将root路径进行更改,以及最重要的是更改其端口为5222,以及ipv6删除后,退出vim,重启服务

最后进行访问时,记得在ip地址的后面加上修改后的每个网站的端口号

基于域名的虚拟主机

原理:当服务器无法给每个网站都分配一个独立的IP地址时,可以通过用户请求的域名不同实现传输不同的网页数据

域名:就是一个电话薄,上面记的是电话号码(IP地址),只需找到名字(域名)即可

linux的本地域名解析在etc下的hosts,由于域名被国家监管,域名无法申请,所以只能模拟域名,在本地,也就是自己的电脑进行域名解析

首先Mac我找不到本地的域名解析文件,Windows找得到,就是在c盘里Windows,system32,drivers,etc里的hosts文档,用记事本打开

打开后直接在最下面添加要加的ip地址和域名:“ 10.211.55.10 www.wy.com  ”然后保存退出

进入Linux后,直接编辑Linux里的域名解析文件:“vim /etc/hosts” 进入文件后也是直接在下面添加要加的ip地址和域名:“ 10.211.55.10 www.wy.com  ”,然后保存退出

最后进入nginx的主配置文件,找到server,将server_name 进行更改

最后保存退出即可,但由于是修改了nginx的主配置文件,即需要将其重启一遍

(如果是搭建两个或多个网站,然后要用到域名解析,则在添加IP地址后,将每个IP地址对应的域名写入到电脑本身的hosts里,以及linux里的域名解析文件,最后也是最重要的,在nginx的主配置文件里需要将,每个域名都对应不同的server和html文件路径,则就需要将server复制粘贴并进行修改,此处以www.pewpew.com做个目录文件/var为例

端口号注意不能变,最后也是保存退出,重启nginx即可)

  • 29
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值