<div class="blogStats">
</div><!--end: blogStats -->
</div><!--end: navigator 博客导航栏 -->
nginx虚拟主机配置
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 ~^wwwd+.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虚拟主机的配置
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 ~^wwwd+.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;
允许所以访问
【最佳实践】filezilla软件用bat自动化ftp传输文件
Windows定时任务定时执行bat文件标准输出默认位置
安装mysql odbc5.3.13
如何查看windows server是否有web发布?
C#串口通讯
asp.net中通过post的方式导出文件操作。
C#USB口通讯
jquery UI的Widet
asp.net中的常规认证方式枚举(涵盖mvc)(一)
- 最新文章
-
【数据结构】前缀(波兰表达式)、中缀、后缀表达式(逆波兰表达式)
【数据结构】栈
【Java多线程】Java中的并发工具类(十八)
【设计模式】代理模式
【Java多线程】重入锁(ReentrantLock)(十七)
【Java多线程】ArrayBlockingQueue阻塞队列原理分析(十六)
【Java多线程】Java中的阻塞队列(十五)
【Java多线程】自定义同步组件
【Java多线程】LockSupport 工具 、Condition接口(十三)
【Python基础编程230 ● 面向对象 ● 类属性】
- 热门文章
-
【Python基础编程229 ● 面向对象 ● 类对象】
【Python基础编程228 ● 面向对象 ● 实例对象、实例属性和实例方法】
【Python基础编程227 ● 面向对象 ● 同时继承多个类,调用父类中指定的方法 】
【Python基础编程226 ● 面向对象 ● 同时继承多个类 】
【Python基础编程225 ● 面向对象 ● 多层继承 】
【Python基础编程224 ● 面向对象 ● 子类中定义了__init__()方法,子类如何继承父类中的属性 】
【Python基础编程223 ● 面向对象 ● 如何在子类中访问父类的私有属性和私有方法 】
【最佳实践】bat运行时如何不弹出黑框?
sql server日志传送报警,该文件被占用
sql server链接mysql
Copyright © 2011-2022 走看看
