nginx.conf配置文件
include main.conf; #指定nginx的进程主配置文件
http {
include control.conf;
# include /alidata1/app/aegis_waf_ii/conf/waf.conf;
server_tag off;
server_info off;
server_tokens off;
include vhost/*.outer;
}
main.conf配置文件
user nginx; #进程的工作用户
worker_processes 4; #工作进程数 一般设置为CPU个数,也可以使用auto自动获取
error_log /alidata1/logs/nginx/error.log; #错误日志存放
events {
use epoll; #指定nginx的工作模型 [请见](http://blog.51cto.com/gavin0/2125645) [epoll|rtsig|select|poll]
worker_connections 20480; #指定单个进程相应的最大连接数 nginx服务器相应的最大连接数为 worker_processes * worker_connections
}
control.conf配置文件
include mime.types;
log_format UPSTREAM '$time_iso8601 $request_time $upstream_response_time $request_method $request_uri $query_string $proxy_add_x_forwarded_for $upstream_addr $status $http_user_agent $http_range;$sent_http_content_length;$body_bytes_sent $http_referer $host [$http_accept_encoding]';
log_format W3SVC '$time_iso8601 $proxy_add_x_forwarded_for $request_method $request_uri $query_string $upstream_addr [$http_user_agent] $http_referer $status';
log_format CACHE '$time_iso8601 $proxy_add_x_forwarded_for $request_method $request_uri $query_string $upstream_cache_status $status';
log_format METRICS '$msec $host $request_uri $status $upstream_addr $proxy_add_x_forwarded_for $upstream_response_time';
log_format YWEB '$time_iso8601 "$request_uri" "$request_body" "$proxy_add_x_forwarded_for" $upstream_addr $status $request_time $sent_http_content_length;$body_bytes_sent "$http_user_agent" $host';
log_format ZAWEB '$time_iso8601\t$request_uri\t$request_body\t$proxy_add_x_forwarded_for\t$upstream_addr\t$status\t$request_time\t$http_user_agent\t$host\t$request\t$http_referer\t$remote_addr\t$request_length\t$body_bytes_sent|=|$http_cookie';
open_file_cache max=1000 inactive=20s; #开发缓存的同时也指定了缓存文件的最大数量,20s如果文件没有请求则删除缓存
open_file_cache_valid 30s; #指多长时间检查一次缓存的有效信息
open_file_cache_min_uses 2;#文件缓存最小的访问次数,只有访问超过2次的才会被缓存
open_file_cache_errors on; #指定了当搜索一个文件时是否缓存错误信息,也包括再次给配置中添加文件。我们也包括了服务器模块,这些是在不同文件中定义的。如果你的服务器模块不在这些位置,你就得修改这一行来指定正确的位置。
limit_req_zone $binary_remote_addr zone=one:20m rate=200r/s; #limit_req_zone指令进行限流访问,防止用户恶意×××刷爆服务器。说明:区域名称为one(自定义) 占用空间大小为20m,平均处理的请求频率不能超出每秒200次
limit_req_log_level error;设置你所希望的日志级别,当服务器因为频率过高拒绝或者延迟处理请求时可以记下相应级别的日志。[ info | notice | warn | error]
sendfile on; #优化磁盘IO设置,指定nginx是否调用sendfile函数来输出文件,普通应用设为on,下载等磁盘IO高的应用,可设为off
gzip_types application/javascript text/plain text/xml text/css application/x-javascript application/xml text/javascript application/x-httpd-php image/jpeg image/gif #设置需要压缩的MIME类型,非设置值不进行压缩 image/png;
gzip_vary on; #加vary给代理服务器使用,针对有的浏览器支持压缩,有个不支持,根据客户端的HTTP头来判断是否需要压缩
gzip_comp_level 9; #设置数据压缩等级,1-9之间,9最慢压缩比最大
client_max_body_size 100m; #此指令设置用于请求主体的缓冲区大小。 如果主体超过缓冲区大小,则完整主体或其一部分将写入临时文件。 如果NGINX配置为使用文件而不是内存缓冲区,则该指令会被忽略。 默认情况下,该指令为32位系统设置一个8k缓冲区,为64位系统设置一个16k缓冲区
add_header X-Frame-Options SAMEORIGIN;
proxy_set_header X-Http-Scheme $scheme;
proxy_next_upstream error timeout http_500 http_502 http_503 http_504;#反向代理upstream中设置的服务器组,出现故障时,被代理服务器返回的状态值。
#error:建立连接或向被代理的服务器发送请求或读取响应信息时服务器发生错误。
#timeout:建立连接,想被代理服务器发送请求或读取响应信息时服务器发生超时。
#invalid_header:被代理服务器返回的响应头异常。
#off:无法将请求分发给被代理的服务器。
#http_400,....:被代理服务器返回的状态码为400,500,502,等。
proxy_connect_timeout 30;#nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
proxy_read_timeout 30;#nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
large_client_header_buffers 8 128k;
proxy_buffers 8 128K;
proxy_buffer_size 128K;
fastcgi_buffers 8 128k ;
send_timeout 60;
fastcgi_next_upstream error timeout http_500 http_503;
fastcgi_connect_timeout 30;
fastcgi_read_timeout 50;
www.outer配置文件
upstream dm-m.lianbooline.com {
server 127.0.0.1:9080;
}
upstream www {
server 127.0.0.1:8080;
}
upstream mobile {
server 127.0.0.1:9080;
}
server {
listen 80;
server_name t.lianbo.com;
include vhost/t.lianbo.com.inner;
}
server {
listen 80;
server_name pc.lianbo.com;
include vhost/pc.lianbo.com.inner;
}
server {
listen 443;
server_name pc.lianbo.com;
include vhost/https.pc.lianbo.com.inner;
}
server {
listen 80;
server_name www.lianbo.com;
include vhost/www.lianbo.com.inner;
}
server {
listen 80;
server_name m.lianbo.com;
include vhost/m.lianbo.com.inner;
}
server {
listen 443 ssl http2 spdy;
server_name m.lianbo.com;
include vhost/https.m.lianbo.com.inner;
}
server {
listen 80;
server_name 10.156.245.63;
include vhost/10.156.245.63.inner;
}
server {
listen 80;
server_name xin.lianbo.com;
include vhost/xin.lianbo.com.inner;
}
server {
listen 443 ssl http2 spdy;
server_name www.lianbo.com;
include vhost/https.www.lianbo.com.inner;
}
server {
listen 80;
server_name lianbo.com;
include vhost/lianbo.com.inner;
}
server {
listen 443 ssl http2 spdy;
server_name lianbo.com;
include vhost/https.lianbo.com.inner;
}
server {
listen 80;
server_name a.lianbo.com;
rewrite ^/(.*)$ https://$host/$1 permanent;
}
server {
listen 443 ssl http2 spdy;
server_name a.lianbo.com;
include vhost/https.a.lianbo.com.inner;
}
server {
listen 80;
server_name wx.lianbo.com;
rewrite ^/(.*)$ https://$host/$1 permanent;
}
server {
listen 443 ssl http2 spdy;
server_name wx.lianbo.com;
include vhost/https.wx.lianbo.com.inner;
}
server {
listen 80;
server_name dm-m.lianbooline.com;
rewrite (.*)$ https://$host$1 permanent;
#include vhost/dm-m.lianbooline.com.inner;
}
server {
listen 443;
server_name dm-m.lianbooline.com;
include vhost/https.dm-m.lianbooline.com.inner;
}
}