ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Nginx 虚拟主机配置

2021-03-29 10:59:04  阅读:134  来源: 互联网

标签:www 虚拟主机 nginx 配置 Nginx 域名 root localhost


Nginx虚拟主机配置实战**

5.1 虚拟主机概念和类型介绍

5.1.1 虚拟主机概念

所谓虚拟主机,在Web服务里就是一个独立的网站站点(www.baidu.org),这个站点对应独立的域名(也可能是IP或端口),具有独立的程序及资源目录,可以独立地对外提供服务供用户访问。
这个独立的站点在配置里是由一定格式的标签段标记,对于Apache软件来说,一个虚拟主机的标签段通常被包含在内,而Nginx软件则使用一个server{}标签来标示一个虚拟主机,一个Web服务里可以有多个虚拟主机标签对,即同时可以支持多个虚拟主机站点。

5.1.2 虚拟主机类型

常见的虚拟主机类型有如下几种。

基于域名的虚拟主机

所谓基于域名的虚拟主机,意思就是通过不同的域名区分不同的虚拟主机,基于域名的虚拟主机是企业应用最广的虚拟主机类型,几乎所有对外提供服务的网站都是使用基于域名的虚拟主机,例如:www.etiantian.org

基于端口的虚拟主机

同理,所谓基于端口的虚拟主机,意思就是通过不同的端口来区分不同的虚拟主机,此类虚拟主机对应的企业应用主要为公司内部的网站,例如:一些不希望直接对外提供用户访问的网站后台等,访问基于端口的虚拟主机地址里要带有端口,例如:http://www.baidu.com:80

基于IP的虚拟主机

同理,所谓基于IP的虚拟主机,意思就是通过不同的IP区分不同的虚拟主机,此类虚拟主机对应的企业应用非常少见,一般不同业务需要使用多IP的场景都会在负载均衡器上进行VIP绑定,而不是在Web上通过绑定IP区分不同的虚拟机。
三种虚拟主机类型均可独立使用,也可以互相混合一起使用,同学们应把基于域名的虚拟主机类型当作重点来学习掌握,其他的两个类型了解即可。

5.2 基于域名的虚拟主机配置实战

说明:本节内容再生产场景中是最常用到的

5.2.1 配置基于域名的nginx.conf内容

这里使用grep过滤命令来生成基础的Nginx主配置文件nginx.conf,然后根据生成的初始配置进行修改,使其成为所需的形式,具体步骤为:

[root@localhost conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf

或者干脆直接新创建配置文件nginx.conf,然后编辑,输入如下内容:

worker_processes 1;
events {
		worker_connections 1024;
}
http {
		include mime.types;
		default_type application/octet-stream;
		sendfile on;
		keepalive_timeout 65;
		server {
			listen 80;
    	server_name localhost;
			location / {
				root html/www;
				index index.html index.htm;
			}
		}
}

编辑完配置文件后,我们需要检查语法

[root@localhost conf]# /application/nginx/sbin/nginx -t

然后由于web的存放路径是相对路径,因此我们需要创建个目录,

接下来,我们再创建一个域名的网站,配置文件如下
![](https://www.icode9.com/i/ll/?i=img_convert/eb41515dfbfe9b9e1b827167cfbf3e4c.png#align=left&display=inline&height=770&margin=[object Object]&originHeight=770&originWidth=1276&status=done&style=none&width=1276)
注意:修改配置文件需要重启动nginx
给第二个网站添加网页文件

[root@localhost html]# mkdir bbs
[root@localhost html]# echo "I am bbs" > bbs/index.html

通过测试,我们发现,永远都只能看到第一个网站

这是因为通过IP地址来访问的话,nginx并不知道你想要访问哪个站点,因此,他默认你是要访问他配置文件里的第一个站点,也就是www.chensiqi.com
通过修改hosts映射我们可以访问不同的站点。

修改hosts映射文件

[root@localhost html]# echo "192.168.0.100 www.chensiqi.com bbs.chensiqi.com" >> /etc/hosts
[root@localhost html]# tail -1 /etc/hosts
192.168.0.100 www.chensiqi.com bbs.chensiqi.com

现在我们再进行访问测试

[root@localhost html]# curl www.chensiqi.com
I am www
[root@localhost html]# curl bbs.chensiqi.com
I am bbs

如上所示:基于域名的虚拟主机配置完毕。

标签:www,虚拟主机,nginx,配置,Nginx,域名,root,localhost
来源: https://blog.csdn.net/name_the_king/article/details/115237638

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有