nginx设置虚拟服务器

Nginx设置虚拟主机

虚拟主机是指在一台物理主机服务器上划分出多个磁盘空间,每个磁盘空间都是一个虚拟主机,每台虚拟主机都可以对外提供Web服务,并且互不干扰。在外界看来,虚拟主机就是一台独立的服务器主机,这意味着用户能够利用虚拟主机把多个不同域名的网站部署在同一台服务器上,而不必再为简单一个网站单独购买一台服务器,既解决了维护服务器技术的难题,同时又极大地节省了服务器硬件成本和相关的维护费用。

  • 配置虚拟主机可以基于端口号、基于IP和基于域名,这节课我们先学习基于端口号来设置虚拟主机。

基于端口号来配置虚拟主机

这是Nginx中最简单的一种方式了。原理就是Nginx监听多个端口,根据不同的端口号,来区分不同的网站。

我们可以直接配置在主文件里etc/nginx/nginx.conf文件里,也可以配置在子配置文件里etc/nginx/conf.d/default.conf。

这里为了配置方便,就配置在子文件里了。当然你也可以再新建一个文件,只要在conf.d文件夹下就可以了。

修改配置文件中的server选项,这时候就会有两个server。

server{
        listen 8001;
        server_name localhost;
        root /usr/share/nginx/html/html8001;
        index index1.html;
}

编辑在usr/share/nginx/html/html8001/目录下的index.html文件并查看结果。

浏览器中输入  localhost:8001

启用了两个服务 配置不同的端口 这样输入不同的端口就可以打到不同的页面或者地址

基于IP的虚拟主机

基于IP和基于端口的配置几乎一样,只是把server_name选项,配置成IP就可以了。

server{
        listen 80;
        server_name 112.75.165.255;
        root /usr/share/nginx/html/html8001;
        index index.html;
}

相当于每个服务的服务名不同   在输入不同的ip后会显示相应的配置的文件或者页面
当前显示的是html8001


使用域名设置虚拟主机

如果你还没有域名,我希望你也能注册一个,你可以注册一个以你名字全拼的域名,这类域名资源还是比较丰富的。一年才几十元钱,这不仅仅是为了学习这篇课程,更重要是有一个域名会对你的职业发展有很多好处。比如你自己作的程序想展示给别人看,你自己要建立一个博客,或者是你要进行一个程序测试,这些都需要域名的支持。所以如果你是一名程序员,我强烈建议你能申请一个自己的域名。

先要对域名进行解析,这样域名才能正确定位到你需要的IP上。 我这里新建了两个解析,分别是:

nginx.baidu.com :这个域名映射到默认的Nginx首页位置。
nginx2.baidu.com : 这个域名映射到原来的8001端口的位置。

配置以域名为划分的虚拟主机

我们修改etc/nginx/conf.d目录下的default.conf 文件,把原来的80端口虚拟主机改为以域名划分的虚拟主机。

    server {
        listen       80;
        server_name  nginx.baidu.com;
        
    
    }

我们再把同目录下的8001.conf文件进行修改,改成如下:

server{
        listen 80;
        server_name nginx2.baidu.com;
        location / {
                root /usr/share/nginx/html/html8001;
                index index.html index.htm;
        }
}

现在是两个.conf 一个默认default.conf 一个是新建的8001.conf

然后我们用平滑重启的方式,进行重启,这时候我们在浏览器中访问这两个网页。

你可能感兴趣的:(nginx设置虚拟服务器)