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;
允许所以访问
- Spring Cloud Eureka 增加权限认证
- Spring Cloud Eureka 初探
- 房价网是怎么使用分布式作业框架elastic-job
- Spring Cloud Sleuth Zipkin 展示追踪数据
- Spring cloud Zuul Filter 使用小经验
- Spring Cloud Eureka REST 接口
- Spring Cloud Eureka 控制台快速查看Swagger API文档
- Spring Cloud Feign 启动UnsatisfiedDependencyException
- Spring Cloud Zuul结合Smconf配置中心动态进行IP黑名单限制
- 高性能NIO框架Netty入门篇
- Spring Boot Web 静态文件缓存处理
- hbuilder 开发APP填坑经验
- hbuilder APP 定位提示苹果审核不通过
- hbuilder 开发5+ APP采坑记录
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 可视化pytorch 模型中不同BN层的running mean曲线实例
- python如何删除文件、目录
- pytorch实现查看当前学习率
- python3.x中安装web.py步骤方法
- pytorch 网络参数 weight bias 初始化详解
- PHP中单例模式的使用场景与使用方法讲解
- pytorch查看模型weight与grad方式
- php+ajax 文件上传代码实例
- PHP将整数数字转换为罗马数字实例分享
- PHP如何通过表单直接提交大文件详解
- PHP基于openssl实现的非对称加密操作示例
- python图片验证码识别最新模块muggle_ocr的示例代码
- virtualenv介绍及简明教程
- Keras 数据增强ImageDataGenerator多输入多输出实例
- TensorFlow中如何确定张量的形状实例