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. 001_从原理上搞定编码-- Base64编码

    开发者对 Base64编码肯定很熟悉,是否对它有很清晰的认识就不一定了.实际 上Base64已经简单到不能再简单了,如果对它的理解还是模棱两可实在不应该.大概介绍一下Base64的相关内容,花几分钟时 ...

  2. ThinkPHP的缓存技术

    原文:ThinkPHP的缓存技术 如果没有缓存的网站是百万级或者千万级的访问量,会给数据库或者服务器造成很大的压力,通过缓存,大幅减少服务器和数据库的负荷.假如我们 把读取数据的过程分为三个层,第一个 ...

  3. Python中的函数修饰符@

    首先,什么是函数修饰符?函数修饰符就是对原有函数做一层包装.比如有以下两个函数: 复制代码 def func1(): print 'I am function func1' def func2(): ...

  4. maven记录

    1. 跳过测试 mvn  -Dmaven.test.skip=true 2. 依赖树 mvn dependency:tree 3. 生成UTF-8的eclipse工程 构成目录中的.settings文 ...

  5. DHCP中继

    DHCP中继 要求: 假设公司现在有两个部门分别为 销售部门,生产部门 对这两个部门分配不同网段, 销售部门 192.168.1.0/24 生产部门 192.168.2.0/24 为了节约使用LINU ...

  6. http://blog.csdn.net/ClementAD/article/category/6217187/2

    http://blog.csdn.net/ClementAD/article/category/6217187/2

  7. WebViewClient shouldOverrideUrlLoading 常见错误用法

    需求描述 在使用 WebView 的项目中,一个常见的需求是将页面内的链接跳转限制在 WebView 内,而不是使用外部浏览器打开,但 WebView 的默认行为是将链接点击事件作为 Intent 发 ...

  8. 单用户模式下连接被占用定位spid

    报错The database is in single-user mode, and a user is currently connected to it. 通过 select * from sys ...

  9. 挂羊头卖狗肉蓄意欺骗读者——谭浩强《C程序设计(第四版)》中所谓的“按照C99”(二)

    挂羊头卖狗肉蓄意欺骗读者——谭浩强<C程序设计(第四版)>中所谓的“按照C99”(二) 在<谭C>p4:“本书的叙述以C99标准为依据”,下面从C89到C99的主要变化方面来看 ...

  10. 开源.net 混淆器ConfuserEx介绍

    今天给大家介绍一个开源.net混淆器——ConfuserEx http://yck1509.github.io/ConfuserEx/ 由于项目中要用到.net 混淆器,网上搜寻了很多款,比如Dotf ...