nginx虚拟主机配置

 
虚拟主机的概念

虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,每一个虚拟主机都可以有独立的域名和独立的目录

nginx虚拟主机的配置

nginx的虚拟主机就是通过nginx.conf中server节点指定的,想要设置多个虚拟主机,配置多个server节点即可

先看一个最简单的虚拟主机配置示例

server { 
listen 80; 
server_name a.test.com; 

location / { 
index index.html; 
root /home/www/host_a/; 

}

listen 80; 

指定这个虚拟主机监听的是80端口

server_name a.test.com; 

指定这个虚拟主机名为a.test.com,当用户访问a.test.com时,就有这个虚机主机进行处理

虚拟主机名可以有4种格式:

(1)准确的名字,例如此例中的a.test.com

(2)*号开头的,例如 *.test.com

(3)*号结尾的,例如 mail.*

(4)正则表达式形式,例如 

server_name ~^www\d+\.test\.com$; 

注意,使用正则表达式形式时,必须以'~'开头

server_name也可以同时指定多个,例如:

server_name test.com www.test.com *.test.com;

这时优先级为:

(1)确切的名字

(2)最长的以*起始的通配符名字

(3)最长的以*结束的通配符名字

(4)第一个匹配的正则表达式名字

location / 

因为所有请求都是/开头的,所以这行表示匹配所有请求

index index.html; 

指定此虚拟主机的默认首页为index.html

root /home/www/host_a/;

指定此虚拟主机的物理根目录为/home/www/host_a/

案例

(1)对两个域名配置相应的虚拟主机,指定不同的目录

a.test.com -> /home/www/a

b.test.com -> /home/www/b

配置

server { 
listen 80; 
server_name a.test.com; 

#开启网站目录文件列表功能,访问目录时列出其中的文件列表,默认不开启
autoindex on; 

index index.html; 
root /home/www/a/; 
}

server { 
listen 80; 
server_name b.test.com; 

index index.html; 
root /home/www/b/; 

#禁止对self目录的访问
location /(self)/ { 
deny all; 

}

(2)对不同访问目录指定不同物理目录

server {
listen 80;

#使用正则格式,这里表示接受任何ip
server_name ~^\d+\.\d+\.\d+\.\d+$;

index index.html index.htm;
root /home/lg/www/;

location /share {
root /home/lg/Downloads;
}

location ^~ /Videos {
root /home/lg/;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
allow all;
}

location ^~ /html5 {
root /home/lg/workspace/nodejs/;
index index.html index.htm;
}

location = /404.html {
root /usr/share/nginx/html;
}
}

autoindex_exact_size
默认为on,显示出文件的确切大小,单位是bytes
改为off后,显示出文件的大概大小,单位是kB或者MB或者GB

autoindex_localtime
默认为off,显示的文件时间为GMT时间。
改为on后,显示的文件时间为文件的服务器时间

allow all;
允许所以访问

nginx虚拟主机配置的更多相关文章

  1. Nginx高性能服务器安装、配置、运维 (5) —— Nginx虚拟主机配置

    六.Nginx虚拟主机配置 建立基于域名的虚拟主机: (1)建立基于域名的虚拟主机配置文件(以abc.com为例): (2)更改虚拟主机配置文件: 更改配置如下(更改部分即可): server { l ...

  2. Nginx教程(二) Nginx虚拟主机配置

    Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主 ...

  3. Nginx网络架构实战学习笔记(一):Nginx简介、安装、信号控制、nginx虚拟主机配置、日志管理、location 语法、Rewrite语法详解

    文章目录 nginx简介 nginx安装 nginx信号控制 nginx虚拟主机配置 日志管理 location 语法 精准匹配的一般匹配 正则匹配 总结 Rewrite语法详解 nginx简介 Ng ...

  4. Nginx教程(二) Nginx虚拟主机配置 (转)

    Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主 ...

  5. Nginx虚拟主机配置(20200202)

    一台机器上跑多个站点,即多个域名 curl -xIP:port 域名    用来指定访问的域名在哪个IP的哪个端口上 Nginx默认虚拟主机 不管什么域名解析到该服务器,都会访问到默认虚拟主机 ngi ...

  6. Nginx虚拟主机配置教程

    说明:配置之前先把域名解析到服务器IP地址上 站点1:bbs.osyunwei.com  程序所在目录/data/osyunwei/bbs 站点2:sns.osyunwei.com  程序所在目录/d ...

  7. nginx虚拟主机配置实践

    1.配置基于域名的虚拟主机 [root@web01 html]# egrep -v "#|^$" /application/nginx/conf/nginx.conf.defaul ...

  8. Nginx虚拟主机配置--配置Nginx的主配置文件

    单台Nginx WEB服务器同时会配置N个网站,也可称之为配置N个虚拟域名的主机,即多个域名对应同一个80端 口. 每个虚拟主机可以是一个独立网站.可以具有独立域名,同一台物理机上面的虚拟主机相互之间 ...

  9. nginx 虚拟主机配置

    user nginx; #代表使用的用户 worker_processes auto; #工作衍生进程数,一般代表系统cpu核数一到两倍最好 error_log /var/log/nginx/erro ...

随机推荐

  1. loadrunner generators (controller in windows)

    http://my.oschina.net/u/2391658/blog/735690 http://blog.csdn.net/xu1314/article/details/7455114 http ...

  2. jquery中.attr('value')和.val()的区别

    .val() 能够取到 针对text,hidden可输入的文本框的value值. 而 .attr('value') 可以取到html元素中所设置的属性 value的值,不能获取动态的如input ty ...

  3. ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式

    方式一: 数据存储模型Model:此方式未用到数据存储模型Model,仅简单的字符串string型数据传递 前台接收显示数据视图View: <div style="height:300 ...

  4. NSString(或者说是UILabel)加入 “行间距” 之后的 “高度”计算

    一.首先,写一个工具类(NSString的分类,增加两个功能,计算高度宽度) #import "NSString+Extension.h" @implementation NSSt ...

  5. 简单理解php的socket编程

    php的socket编程算是比较难以理解的东西吧,不过,我们只要理解socket几个函数之间的关系,以及它们所扮演的角色,那么理解起来应该不是很难了,在笔者看来,socket编程,其实就是建立一个网络 ...

  6. MVC 区域功能

    因为MVC项目是要求都放在固定的文件夹,所以,当项目大的时候,会很不方便管理,所以微软引入的区域的功能 使用方法: 在项目上右击--添加--区域 就会出现Areas的文件夹,里面就是子MVC 渲染: ...

  7. C# 中的多线程(转载)

    关于多线程的系列,翻译自国外大牛的文章,值得推荐 原文地址:https://blog.gkarch.com/topic/threading.html

  8. eclipse闪退

    svn提交我的项目时,由于网络故障,提交不上去,一直checking.......,然后我强制关闭eclipse后重启,发现启动不了了,一点击,尝试打开的状态就突然没了,试了几次都这样,重启电脑打开还 ...

  9. ReentrantLock的实现语义与使用场景

    简介 ReentrantLock(重入锁)就是支持可重进入的锁,它表示该锁能支持一个线程对资源的重复加锁.另外还支持获取锁的公平和非公平选择ReentrantLock的实现不仅可以替代隐式的synch ...

  10. js实现发送短信验证码后的倒计时功能(无视页面刷新)

    [1].[代码] 这是页面上的发送验证码按钮 跳至 [1] [2] [3]<input id="second" type="button" value=& ...