设为首页 收藏本站
查看: 633|回复: 0

[经验分享] nginx配置五(server虚拟主机配置)

[复制链接]

尚未签到

发表于 2016-12-27 08:21:59 | 显示全部楼层 |阅读模式
  
DSC0000.png


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 - 关闭缓存。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-319912-1-1.html 上篇帖子: Nginx 引入线程池 性能提升9倍 下篇帖子: nginx 配置 https 的双向认证
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表