nginx配置虚拟主机
虚拟主机
虚拟主机是网络服务器上分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能。所谓虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW、FTP、E-mail等)功能。
nginx可以轻易地支持虚拟主机的配置,其搭建好像是从一个nginx服务器中向外发布了多个网站,如下图所示:
当我们的客户访问www.hehe.com的时候,其实www.hehe.com是我们的nginx服务器上的一个虚拟主机,这样的做法可以极大的节约成本,对于访问量较小的网站就可以采用虚拟主机的方式。
接下来我们学习如何在nginx服务器上进行虚拟主机的配置。
nginx服务器上进行虚拟主机的配置
我们创建出三个虚拟主机:
www.hehe.com
www.haha.com
www.test.com
*其实它们都是在192.168.3.245
创建/usr/local/lnmp/nginx/vhost目录,该目录是上述三个虚拟主机的配置文件所在目录:
[root@server5 nginx]# mkdir /usr/local/lnmp/nginx/conf/vhost
在vhost目录中创建配置文件:
[root@server5 vhost]# vim www.haha.com.conf
[root@server5 vhost]# vim www.hehe.com.conf
[root@server5 vhost]# vim www.test.com.conf
上面的三个配置文件是针对三个虚拟主机的,我们需要把这三个配置文件内容包含到nginx主配置文件中,在nginx.conf的http模块部分include它们即可:
注意:*.conf是代表vhost目录下的所有以conf作为扩展名的文件
接下来我们需要创建默认发布目录,由虚拟主机的配置文件可知,在nginx的根目录下,我们创建了www目录,关于www目录里的文件关系如下图所示:
分别创建了www.haha.com、www.hehe.com、www.test.com的目录及其包含的默认发布文件,index.html文件中的内容为了以示区分我们分别写入三个虚拟主机的名称。
完成上述配置后,检测nginx的配置文件是否成功,如果是启动nginx服务:
检测:
[root@server5 conf]# nginx -t
nginx: the configuration file /usr/local/lnmp/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/lnmp/nginx/conf/nginx.conf test is successful
开启服务:
[root@server5 conf]# nginx
注意:如果服务已经开启,则进行服务的重进加载。
[root@server5 conf]# nginx -s reload
完成配置后,在拥有浏览器的节点上分别对三个虚拟主机进行解析,编辑文件/etc/hosts:
……
……
打开firefox分别对三个虚拟主机进行访问:
访问www.test.com:
访问www.haha.com:
访问www.hehe.com:
至此我们可以看到nginx支持以上三个虚拟主机的发布。
小结:
关于nginx的基础配置如上所示,关于nginx更深入的配置我们将会继续进行总结。
敬请期待!