Nginx 配置参数中文详细说明:
- # 定义 Nginx 运行的用户和用户组
- user www www;
- #
- #nginx 进程数, 建议设置为等于 CPU 总核心数.
- worker_processes 8;
- #
- # 全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
- error_log /var/log/nginx/error.log info;
- #
- # 进程文件
- pid /var/run/nginx.pid;
- #
- # 一个 nginx 进程打开的最多文件描述符数目, 理论值应该是最多打开文件数 (系统的值 ulimit -n) 与 nginx 进程数相除, 但是 nginx 分配请求并不均匀, 所以建议与 ulimit -n 的值保持一致.
- worker_rlimit_nofile 65535;
- #
- # 工作模式与连接数上限
- events
- {
- #参考事件模型, use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll 模型是 Linux 2.6 以上版本内核中的高性能网络 I/O 模型, 如果跑在 FreeBSD 上面, 就用 kqueue 模型.
- use epoll;
- #单个进程最大连接数(最大连接数 = 连接数 * 进程数)
- worker_connections 65535;
- }
- #
- # 设定 http 服务器
- http
- {
- include mime.types; #文件扩展名与文件类型映射表
- default_type application/octet-stream; #默认文件类型
- #charset utf-8; #默认编码
- server_names_hash_bucket_size 128; #服务器名字的 hash 表大小
- client_header_buffer_size 32k; #上传文件大小限制
- large_client_header_buffers 4 64k; #设定请求缓
- client_max_body_size 8m; #设定请求缓
- # 开启目录列表访问, 合适下载服务器, 默认关闭.
- autoindex on; # 显示目录
- autoindex_exact_size on; # 显示文件大小 默认为 on, 显示出文件的确切大小, 单位是 bytes 改为 off 后, 显示出文件的大概大小, 单位是 kB 或者 MB 或者 GB
- autoindex_localtime on; # 显示文件时间 默认为 off, 显示的文件时间为 GMT 时间 改为 on 后, 显示的文件时间为文件的服务器时间
- sendfile on; # 开启高效文件传输模式, sendfile 指令指定 nginx 是否调用 sendfile 函数来输出文件, 对于普通应用设为 on, 如果用来进行下载等应用磁盘 IO 重负载应用, 可设置为 off, 以平衡磁盘与网络 I/O 处理速度, 降低系统的负载. 注意: 如果图片显示不正常把这个改成 off.
- tcp_nopush on; # 防止网络阻塞
- tcp_nodelay on; # 防止网络阻塞
- keepalive_timeout 120; # (单位 s)设置客户端连接保持活动的超时时间, 在超过这个时间后服务器会关闭该链接
- # FastCGI 相关参数是为了改善网站的性能: 减少资源占用, 提高访问速度. 下面参数看字面意思都能理解.
- fastcgi_connect_timeout 300;
- fastcgi_send_timeout 300;
- fastcgi_read_timeout 300;
- fastcgi_buffer_size 64k;
- fastcgi_buffers 4 64k;
- fastcgi_busy_buffers_size 128k;
- fastcgi_temp_file_write_size 128k;
- # gzip 模块设置
- gzip on; #开启 gzip 压缩输出
- gzip_min_length 1k; #允许压缩的页面的最小字节数, 页面字节数从 header 偷得 content-length 中获取. 默认是 0, 不管页面多大都进行压缩. 建议设置成大于 1k 的字节数, 小于 1k 可能会越压越大
- gzip_buffers 4 16k; #表示申请 4 个单位为 16k 的内存作为压缩结果流缓存, 默认值是申请与原始数据大小相同的内存空间来存储 gzip 压缩结果
- gzip_http_version 1.1; #压缩版本(默认 1.1, 目前大部分浏览器已经支持 gzip 解压. 前端如果是 squid2.5 请使用 1.0)
- gzip_comp_level 2; #压缩等级. 1 压缩比最小, 处理速度快. 9 压缩比最大, 比较消耗 CPU 资源, 处理速度最慢, 但是因为压缩比最大, 所以包最小, 传输速度快
- gzip_types text/plain application/x-JavaScript text/CSS application/xml;
- #压缩类型, 默认就已经包含 text/html, 所以下面就不用再写了, 写上去也不会有问题, 但是会有一个 warn.
- gzip_vary on;# 选项可以让前端的缓存服务器缓存经过 gzip 压缩的页面. 例如: 用 squid 缓存经过 nginx 压缩的数据
- #开启限制 IP 连接数的时候需要使用
- #limit_zone crawler $binary_remote_addr 10m;
- ##upstream 的负载均衡, 四种调度算法(下例主讲)##
- #虚拟主机的配置
- server
- {
- # 监听端口
- listen 80;
- # 域名可以有多个, 用空格隔开
- server_name ably.com;
- # HTTP 自动跳转 HTTPS
- rewrite ^(.*) https://$server_name$1 permanent;
- }
- server
- {
- # 监听端口 HTTPS
- listen 443 ssl;
- server_name ably.com;
- # 配置域名证书
- ssl_certificate C:\webServer\Certs\certificate.crt;
- ssl_certificate_key C:\WebServer\Certs\private.key;
- ssl_session_cache shared:SSL:1m;
- ssl_session_timeout 5m;
- ssl_protocols SSLv2 SSLv3 TLSv1;
- ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
- ssl_prefer_server_ciphers on;
- index index.HTML index.htm index.PHP;
- root /data/www/;
- location ~ .*\.(PHP|php5)?$
- {
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.PHP;
- include fastcgi.conf;
- }
- # 配置地址拦截转发, 解决跨域验证问题
- location /OAuth/{
- proxy_pass https://localhost:13580/OAuth/;
- proxy_set_header HOST $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- }
- # 图片缓存时间设置
- location ~ .*\.(gif|jpg|jpeg|PNG|bmp|swf)$ {
- expires 10d;
- }
- # JS 和 CSS 缓存时间设置
- location ~ .*\.(JS|CSS)?$ {
- expires 1h;
- }
- # 日志格式设定
- log_format access '$remote_addr - $remote_user [$time_local]"$request" '
- '$status $body_bytes_sent"$http_referer" '
- '"$http_user_agent" $http_x_forwarded_for';
- # 定义本虚拟主机的访问日志
- access_log /var/log/nginx/access.log access;
- # 设定查看 Nginx 状态的地址. StubStatus 模块能够获取 Nginx 自上次启动以来的工作状态, 此模块非核心模块, 需要在 Nginx 编译安装时手工指定才能使用
- location /NginxStatus {
- stub_status on;
- access_log on;
- auth_basic "NginxStatus";
- auth_basic_user_file conf/htpasswd;
- #htpasswd 文件的内容可以用 apache 提供的 htpasswd 工具来产生.
- }
- }
- }
我不生成代码, 我只是代码的搬运工.
来源: http://www.bubuko.com/infodetail-3296342.html