`

nginx配置五(server虚拟主机配置)

阅读更多




server:http核心模块

语法:server {...} 
默认值:no 
使用字段:http 
server字段包含虚拟主机的配置。
没有明确的机制来分开基于域名(请求中的主机头)和基于IP的虚拟主机。
可以通过listen指令来指定必须连接到这个server块的所有地址和端口,并且在server_name指令中可以指定所有的域名。

 

server_name:http核心模块

语法:server_name name [... ] 
默认值:server_name hostname 
使用字段:server 
这个指令有两个作用:
·将HTTP请求的主机头与在nginx配置文件中的server{...}字段中指定的参数进行匹配,并且找出第一个匹配结果。这就是如何定义虚拟主机的方法,域名遵循下述优先级规则:
1、完整匹配的名称。
2、名称开始于一个文件通配符:*.example.com。
3、名称结束于一个文件通配符:www.example.*。
4、使用正则表达式的名称。

(略过没有匹配到的情况)

 

listen:http核心模块

语法(0.7.x):listen address:port [ default [ backlog=num | rcvbuf=size | sndbuf=size | accept_filter=filter | deferred | bind | ssl ] ] 
语法(0.8.x):listen address:port [ default_server [ backlog=num | rcvbuf=size | sndbuf=size | accept_filter=filter | deferred | bind | ssl ] ] 
默认值:listen 80 
使用字段:server 
listen指令指定了server{...}字段中可以被访问到的ip地址及端口号,可以只指定一个ip,一个端口,或者一个可解析的服务器名。

如果只有ip地址指定,则默认端口为80。
如果指令有default参数,那么这个server块将是通过“地址:端口”来进行访问的默认服务器,这对于你想为那些不匹配server_name指令中的主机名指定默认server块的虚拟主机(基于域名)非常有用,如果没有指令带有default参数,那么默认服务器将使用第一个server块。
listen允许一些不同的参数,即系统调用listen(2)和bind(2)中指定的参数,这些参数必须用在default参数之后:
backlog=num -- 指定调用listen(2)时backlog的值,默认为-1。
rcvbuf=size -- 为正在监听的端口指定SO_RCVBUF。
sndbuf=size -- 为正在监听的端口指定SO_SNDBUF。
accept_filter=filter -- 指定accept-filter。

 

index:默认主页设置模块

语法:index file-path [file-path [ ... ] ]; 
默认值:no 
使用字段:server, location 

 

root:http核心模块

语法:root path 
默认值:root html 
使用字段:http, server, location ,location中的if字段
请求到达后的文件根目录,可以是相对路径,也可以是绝对路径。

 

charset:字符集设置模块

语法:charset encoding|off 
默认值:charset off 
使用字段:http, server, location, location中的if字段 
这个指令使应答头中的"Content-Type"字段使用指定的编码集,如果这个字符集与source_charset指令设置的字符集不相同,将重新编码字符集,参数off表明不在应答头中添加"Content-Type"信息。

 

access_log:日志模块

语法:access_log path [format [buffer=size | off]] 
默认值:access_log log/access.log combined 
使用字段:http, server, location 
参数为连接日志指定了路径,格式和缓冲区大小。使用“off”将在当前的字段中清除access_log的所有参数,如果没有指定日志格式,默认为“combined”。缓冲区大小不能超过写入磁盘文件的最小大小。
日志文件路径可以包含变量(0.7.4以上版本),但是有一些限制:

1)nginx指定的用户必须有创建日志文件的权限。
2)缓冲区不会工作
3)每个到来的连接,日志文件将被打开并且在记录日志后迅速关闭,然而,频繁使用的文件描述符将被保存到open_log_file_cache中,关于日志的轮询记录,必须记住随着时间的过去(使用open_log_file_cache的valid参数设置),日志仍然在旧的文件中记录。

 

open_log_file_cache:日志模块

语法:open_log_file_cache max=N [inactive=time] [min_uses=N] [valid=time] | off 
默认值:open_log_file_cache off 
使用字段:http server location 
这个指令为频繁使用的日志文件描述符所在的路径变量设置缓存。
指令选项:

·max - 缓存中存储的最大文件描述符数。
·inactive - 设置缓存中在某个时间段内没有使用的文件描述符将被移除,默认为10秒。
·min_uses - 在一定时间内(inactive指定),一个文件描述符最少使用多少次后被放入缓存,默认为1。
·valid - 设置检查同名文件存在的时间,默认是60秒。
·off - 关闭缓存。

  • 大小: 11.2 KB
1
2
分享到:
评论

相关推荐

    计算机后端-PHP视频教程. Nginx-0105 server段配置虚拟主机_布尔教育.wmv

    计算机后端-PHP视频教程. Nginx-0105 server段配置虚拟主机_布尔教育.wmv

    nginx配置多个虚拟主机vhost的方法示例

    在nginx下配置虚拟主机vhost非常方便。主要在nginx的配置文件nginx.conf中添加一个server即可 比如我想配置两个虚拟主机,通过域名linux.com和linux2.com访问,分别对应的目录是/usr/htdocs/linux 和/usr/htdocs/...

    详解Nginx虚拟主机配置中server_name的具体写法

    server_name指令可以设置基于域名的虚拟主机,根据请求头部的内容,一个ip的服务器可以配置多个域名。下面这些server_name的参数是有效的: server_name jb51.net; server_name jb51.net www.jb51.net; server_name ...

    与DNS配置有关的nginx服务器配置

    要求 Nginx可以通过域名构建虚拟主机的方式同时对外提供 http://www.example.com, http://erp.example.com, http://oa.example.com 三个网站的访问。 访问 http://www.example.com 网站返回的HTML代码“<h1> ...

    Web服务器三剑客运维配置实战 Nginx+JVM+Tomcat+HTTP协议.zip

    ├─2.01 Nginx进阶常见配置-虚拟主机+PHP-FPM.mp4 ├─2.02 Nginx进阶-常见配置-反向代理.mp4 ├─2.03 Nginx进阶基础-常见配置-反向代理.mp4 ├─2.04 Nginx进阶基础-upstream.mp4 ├─2.05 Nginx进阶基础-常用...

    Nginx虚拟主机多server_name的顺序问题

    后来,通过查看源代码发现MediaWiki是根据$_SERVER[‘SERVER_NAME’]做的跳转,顺藤摸瓜,发现了下列问题: 在一个Nginx虚拟主机中,可以绑定多个server_name,例如: 而server_name的先后顺序的不同,对PHP程序中...

    Nginx安装配置、Resin安装配置说明文档

    f)多虚拟主机: - 16 - g)多端口设置: - 17 - (3) Resin与Eclipse整合 - 17 - 2. Linux - 18 - (1) 环境变量设置 - 18 - (2) Nginx安装与配置 - 18 - 1) Nginx安装 - 18 - 2) Nginx配置 - 19 - (3) Resin安装与配置...

    一台nginx服务器多域名配置的方法

    Nginx中的server_name指令主要用于配置基于名称虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1、准确的server_name匹配,例如: server { listen 80; server_name ssdr.info www.ssdr.info; ... } 2...

    nginx视频教程.txt

    P1818_Nginx视频教程_Nginx实现虚拟主机 P1919_Nginx视频教程_Keepalived简介 P2020_Nginx视频教程_nginx yum命令安装 P2121_Nginx视频教程_Keepalived安装 P2222_Nginx视频教程_keepalived+Nginx高可用集群配置...

    阿里云Linux系统Nginx配置多个域名的方法详解

    2. 在Nginx配置文件conf目录下创建一个专门存放虚拟主机配置的目录,命名为vhosts,可以把虚拟目录的配置全部放在这里。如本例创建名为vhosts_A.conf和vhosts_B.conf文件并打开,在里面写下相关的配置文件。 配置...

    浅谈Nginx七层反向代理和负载均衡

    1.介绍 1.1 Nginx不仅是一个出色的web软件,其七层代理和负载...然后在serverr模块中定义虚拟主机,但是这个虚拟主机不指定自己的web目录站点,它将使用location匹配url然后转发到上面定义好的web池子中,最后根据调度

    nginx.conf

    #server表示虚拟主机可以理解为一个站点,可以配置多个server节点搭建多个站点 #每一个请求进来确定使用哪个server由server_name确定 #location用来匹配同一域名下多个URI的访问规则 #比如动态资源如何跳转,...

    nginx虚拟主机配置实例详解

    nginx虚拟主机配置 server { listen 80; server_name localhost; location / { root html; index index.html index.htm; } error_page 404 /404.html; # redirect server error pages to the static page /...

    nginx配置多个站点共用80端口的解决方法

    只用改一个地方,在http模块里面加入你要引用的虚拟主机配置文件目录即可: 例如:include /usr/local/nginx/default.d/*.conf; http { log_format main '$remote_addr - $remote_user [$time_local] $request ' ...

    Nginx版UPUPW PHP绿色服务器平台

    UPUPW已配置Nginx的虚拟主机支持伪静态文件,示例包含discuz,phpwind,WordPress和ThinkPHP伪静态规则; UPUPW已配置Nginx的虚拟主机支持Pathinfo路径功能; 支持Nginx和PHPfpm服务的单独开启、关闭与重启; 支持...

    关闭nginx空主机头 防止nginx空主机头及恶意域名指向

    nginx的默认配置中的虚拟主机允许用户通过IP访问,或者通过未设置的域名访问(比如有人恶意把他自己的域名指向了你的ip) 这是因为默认配置中的server区域里有这一行: listen 80 default; 后面的default参数表示这...

    详解Nginx服务器中的nginx.conf配置文件

    Nginx 配置文件主要分成四部分:main(全局设置)、http(HTTP 的通用设置)、server(虚拟主机设置)、location(匹配 URL 路径)。还有一些其他的配置段,如 event,upstream 等。 通用设置  user nginx  指定...

    为nginx设置默认虚拟主机(空主机头,默认主机头)

    后面的default参数表示这个是默认虚拟主机。 这个设置非常有用。 比如别人通过ip或者未知域名访问你的网站的时候,你希望禁止显示任何有效内容,可以给他返回500. 目前国内很多机房都要求网站主关闭空主机头,防止...

Global site tag (gtag.js) - Google Analytics