nginx虚拟主机搭建

Posted Active_Code

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx虚拟主机搭建相关的知识,希望对你有一定的参考价值。

 nginx [engine x]是 Igor Sysoev 编写的一个 HTTP 和反向代理服务器,另外它也可以

作为邮件代理服务器。 它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站
包括 Yandex、Mail.Ru、VKontakte,以及 Rambler

 

据 Netcraft 统计,在 2012 年 8 月份,世界上最繁忙的网站中有 11.48%使用 Nginx 作
为其服务器或者代理服务器。目前互联网主流公司 360、百度、新浪、腾讯、阿里等都在使
用 nginx 作为自己的 web 服务器。

下面我就来为大家介绍配置虚拟主机的这两种形式。

 

基本的框架配置如下:

 

给予IP

 

nginx配置虚拟主机——端口区分

 

我们首先看一下nginx的配置文件所在的位置,如下图所示。 
这里写图片描述 
我们使用vim nginx.conf命令打开nginx.conf配置文件,如下图所示。 
这里写图片描述
接着往下看配置文件,如下图所示。 
这里写图片描述
下面我举例使用端口来区分虚拟主机,为了更加方便地操作nginx.conf文件,我们可以使用Nodepad++来连接Linux服务器并对文件进行编辑,想必有些同学还不知道,所以我特地写了一篇博客,大家可以参考淘淘商城系列——使用Nodepad++来编辑我们服务器的配置文件这篇博客进行学习哟!我们打开nginx.conf文件,复制一份server节点配置,修改端口为81,root目录指定一个新的目录html81。如下图所示(为了简洁,把注释的内容都删掉了)。 
这里写图片描述
html81在nginx目录下是没有的,所以我们复制一份html目录并命名为html81,如下图所示。 
这里写图片描述 
为了区分出我们访问的nginx首页,我们进入html81目录,修改index.html,将<h1>Welcome to nginx!</h1>修改为<h1>Welcome to nginx81!</h1>,如下图所示。 
这里写图片描述
配置文件修改了之后,又要想让其生效,应该怎么办呢?我们需要重启服务或者是重新加载配置文件,如下图所示。 
这里写图片描述 
此时,我们访问81端口就会看到如下图所示界面,可以看见访问到的是81端口的欢迎页。说明我们配置的虚拟主机起作用了。 
这里写图片描述

nginx配置虚拟主机——域名区分

 

上面学习了使用端口号来区分不同的网站,下面我们学习如何通过域名来区分不同的网址。 
我们平时访问淘宝时只需要在浏览器地址栏中输入taobao.com便可以访问淘宝首页,这个”taobao.com”便是域名,而且”taobao.com”是一级域名,我们买域名买的便是一级域名,而”www.taobao.com”是二级域名。如果我们想在浏览器地址栏中输入域名访问我们自己的网站的话,可有两个途径,第一个途径是买一个属于自己的域名,访问这个域名需要经过DNS服务器(把域名解析为ip地址,保存的就是域名和ip之间的映射关系),DNS服务器就是为了将访问的域名对应到相应的IP上,所以最终还是通过IP实际访问网站的(使用这个途径,别的人都可以访问到你的网站)。注意,一个域名对应一个ip地址,一个ip地址可以被多个域名绑定。第二个途径是配置本地的hosts文件,hosts文件在windows系统中的目录如下图所示。 
这里写图片描述
我们可以在hosts文件当中配置IP与域名的对应关系,配置了hosts文件后,我们在浏览器地址栏中输入配置在hosts文件中的域名后将不再经过DNS服务器,而是直接访问hosts文件中配置的IP地址,比如我们把nginx所在的虚拟机的IP配置到hosts文件中并且配两个域名(端口一样,就靠域名来区分不同的网站)如下图所示。 
这里写图片描述
下面我们到nginx的配置文件中再添加两个虚拟主机的配置,如下图所示,可以看到端口号都是默认的80,只是域名不一样而已,为了区分不同的网站,我们分别新建一个html目录并命名为html-test和html-test1。 
这里写图片描述
html-test和html-test1在nginx目录下默认是没有的,我们分别复制html目录并命名为html-test和html-test1,如下图所示。 
这里写图片描述 
为了在nginx首页区分出不同的网站,我们分别进入html-test和html-test1目录下,修改index.html文件,如下图所示。 
这里写图片描述

这里写图片描述
配置文件修改了之后,又要想让其生效,应该怎么办呢?我们需要重启服务或者是重新加载配置文件,如下图所示。 
这里写图片描述 
然后,我们在浏览器地址栏中输入www.test.com,如下图所示,可以看到这时访问的是我们的nginx的首页而且是我们指定的nginx的首页。 
这里写图片描述
我们再试试在浏览器地址栏中输入www.test1.com,如下图所示,可以看到这时访问的是html-test1目录下的nginx首页。 
这里写图片描述

 
 

以上是关于nginx虚拟主机搭建的主要内容,如果未能解决你的问题,请参考以下文章

nginx配置及其虚拟主机的搭建

Nginx+PHP+MYSQL搭建指南

Redhat/CentOS7-环境虚拟机简单搭建Nginx+Tomcat负载均衡集群

搭建nginx虚拟主机——基于域名端口和IP

Nginx搭建基于域名的虚拟主机

13_搭建Nginx服务器配置网页认证基于域名的虚拟主机ssl虚拟主机