前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx配置文件功能注释

Nginx配置文件功能注释

作者头像
joshua317
发布2018-04-16 12:12:03
1.3K0
发布2018-04-16 12:12:03
举报
文章被收录于专栏:技术博文技术博文

最近在学配置Nginx做均衡负载,首先最重要的是Nginx的配置文件,参考网上查到的资料,并结合实践,

将该配置文件的详细功能注释在这里做下笔记,方便今后查阅。

官方的Nginx Wiki(英文)   http://wiki.nginx.org/Configuration

环境:FreeBSD8.0+Nginx1.0.10_1

配置文件位置:   /usr/local/etc/nginx(所有配置文件都在此文件夹)

可执行文件位置: /usr/local/sbin/nginx

服务所在位置:   /usr/local/etc/rc.d/nginx

启动:     /usr/local/etc/rc.d/nginx start

停止:     /usr/local/etc/rc.d/nginx stop

重启:     /usr/local/etc/rc.d/nginx restart

测试配置: /usr/local/etc/rc.d/nginx configtest

重载配置: /usr/local/etc/rc.d/nginx reload

服务状态: /usr/local/etc/rc.d/nginx status

主配置文件nginx.conf注释:

#运行服务的用户及用户组 

user www www;

#服务开启的进程数 

worker_processes 5;

#全局错误日志及PID文件 

error_log logs/error.log notice; 

pid logs/nginx.pid;

#限定允许打开的文件的文件描述符长度,包括配置文件、日志文件等,如不指定,则使用操作系统默认值worker_rlimit_nofile 8192; 

#工作模式及连接数上限 

events { 

#工作模式有:

select(标准模式),

poll(标准模式),

kqueue(高效模式,适用FreeBSD 4.1+, OpenBSD 2.9+, NetBSD 2.0 and MacOS X), epoll(高效模式,适用Linux 2.6+,SuSE 8.2,), 

        /dev/poll(高效模式,适用Solaris 7 11/99+,HP/UX 11.22+)

eventport(IRIX 6.5.15+ 和 Tru64 UNIX 5.1A+) 

 use epoll;

 #单个进程允许的最大连接数,总连接数为:worker_processes*worker_connections 

 worker_connections 1024; }

#设定http服务器,利用它的反向代理功能提供负载均衡支持 

http { 

 #设定配置文件位置,这里的conf是指nginx.conf所在的目录,也可以用绝对路径指定其他地方的配置文件 

 include conf/mime.types; 

 include conf/fastcgi.conf; 

 #默认类型-8进制文件流 

 default_type application/octet-stream;

 #全局首页类型 

 index index.html index.htm index.php 

 #设定日志格式 

 log_format main '$remote_addr - $remote_user [$time_local] ' 

         '"$request" $status $bytes_sent ' 

         '"$http_referer" "$http_user_agent" ' 

 '"$gzip_ratio"'; 

 log_format download '$remote_addr - $remote_user [$time_local] ' 

 '"$request" $status $bytes_sent ' 

 '"$http_referer" "$http_user_agent" ' 

 '"$http_range" "$sent_http_content_range"';

 #是否激活sendfile()函数,比默认模式更有效率 

 sendfile on;

 #将HTTP响应头压缩到一个包中发送,仅在sendfile开启时才能配合使用 

 tcp_nopush on;

 #指定保存服务器名称的hash表的大小,存在多个域名或虚拟主机时指定

 server_names_hash_bucket_size 128;

 #设定用户请求header缓冲区大小 

 client_header_buffer_size 10k; 

 large_client_header_buffers 4 4k;

 #开启gzip模块,要求安装gzip 在运行./config时要指定 

 gzip on; 

 gzip_min_length 1100; 

 gzip_buffers 4 8k; 

 gzip_types text/plain; 

 output_buffers 1 32k; 

 postpone_output 1460;

 #设定访问日志 

 access_log logs/access.log main; 

 client_header_timeout 3m; 

 client_body_timeout 3m; 

 send_timeout 3m; 

 sendfile on; 

 tcp_nopush on; 

 tcp_nodelay on; 

 keepalive_timeout 65;

 #设定负载均衡的服务器列表 

 upstream backserver { 

#weigth参数表示权值,权值越高被分配到的几率越大 

#本例是指在同一台服务器,多台服务器改变ip即可 

server 127.0.0.1:8081 weight=5; 

server 127.0.0.1:8082; 

server 127.0.0.1:8083;

 } 

 #设定虚拟主机,默认为监听80端口 

 server { 

 listen 80; 

 server_name test.com www.test.com

 charset utf8; 

 #设定本虚拟主机的访问日志 

 access_log logs/test.com.log main;

 #如果访问 /images/*, /js/*, /css/* 资源,则直接取本地文件,不用转发。

 #但如果文件较多效果不是太好。 

 location ~ ^/(images|js|css)/ { 

 root /usr/local/testweb; 

 expires 30m; 

 }

 #对 "/" 启用负载均衡 

 location / { 

 proxy_pass http://backserver

 proxy_redirect off; 

 proxy_set_header Host $host; 

 proxy_set_header X-Real-IP $remote_addr; 

 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;   client_max_body_size 10m; 

 client_body_buffer_size 128k; 

 proxy_connect_timeout 90; 

 proxy_send_timeout 90; 

 proxy_read_timeout 90; 

 proxy_buffer_size 4k; 

 proxy_buffers 4 32k; 

 proxy_busy_buffers_size 64k; 

 proxy_temp_file_write_size 64k; 

 }

 #设定查看Nginx状态的地址,在运行./config 要指定,默认是不安装的。 

 location /NginxStatus { 

 stub_status on; 

 access_log on; 

 auth_basic "NginxStatus"; 

 #是否要通过用户名和密码访问,测试时可以不加上。

 #conf/htpasswd 文件的内容用apache提供的htpasswd工具来产生即可 

 #auth_basic_user_file conf/htpasswd; 

 } 

}

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-02-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档