nginx生产环境配置
配置文件与说明通用配置
[*]usernginx;
[*]worker_processes16;#根据cpu核数确定
[*]
[*]error_log/web/log/nginx-error.log;
[*]pid logs/nginx.pid;
[*]
[*]
[*]events {
[*] use epoll; #使用epoll方式
[*] worker_connections8192;
[*]}
[*]
[*]
[*]http {
[*] #通用配置选项
[*] include mime.types;
[*] default_typeapplication/octet-stream;
[*]
[*] server_names_hash_bucket_size 128;
[*] client_header_buffer_size 32k;
[*] large_client_header_buffers 4 32k;
[*] client_max_body_size 8m;
[*]
[*] #性能优化选项
[*] sendfile on;
[*] tcp_nopush on;
[*] keepalive_timeout 60;
[*] tcp_nodelay on;
[*]
[*] #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_min_length1k;
[*] gzip_buffers 4 16k;
[*] gzip_comp_level 6;
[*] gzip_types text/plain application/x-javascript text/css application/xml;
[*] gzip_vary on;
[*]
[*] #日志格式
[*] log_format main
[*] '$remote_addr - $remote_user [$time_local] "$request" '
[*] '$status $body_bytes_sent "$http_referer" '
[*] '"$http_user_agent" "$http_x_forwarded_for"';
[*]
[*] #默认server
[*] server {
[*] listen 80 default;
[*] root /dev/null;
[*] location / {
[*] return 404;
[*] access_log off;
[*] }
[*] }
[*]
[*] #包含其他配置文件的路径,此处是相对主程序路径
[*] include conf.d/*.conf;
[*]
[*]}
详细配置
[*]server {
[*] listen 80 ;
[*] server_name.........;
[*] index index.html index.php;
[*] root/web/wwwroot/snapB/app/webroot;
[*]
[*] include block.conf;#关键词过滤配置文件
[*] #rewrite规则,前两条是为了访问二级域名时跳转到三级域名,后面几条是因为搜索引擎收录了我们错误的url
[*] if ($host = '......') {
[*] rewrite^/(.*)$http://....../$1permanent;
[*] }
[*]
[*] if ($host = '.......') {
[*] rewrite^/(.*)$http://......./$1permanent;
[*] }
[*]
[*] #根据user-agent阻止恶意流量
[*] if ($http_user_agent ~* ".*(Huaweisymantecspider|huaweisymantecspider|Wget|wget|robot|spideri|MJ12bot|HTTrack|crawl|Python|python|Java|java|Perl|perl|PHP|php).*") {
[*] set $var_bad_user_agent '1';
[*] }
[*] if ($http_user_agent ~ "^$") {
[*] set $var_bad_user_agnet '1';
[*] }
[*] if ($http_user_agent ~* ".*(BaiDu|Sougou|Google).*") {
[*] set $var_bad_user_agent '0';
[*] }
[*] if ($var_bad_user_agent ~ '1') {
[*] return 403;
[*] }
[*]
[*] location / {
[*] # For bbpress
[*] if ($uri ~ ^/forum){
[*] break;
[*] }
[*]
[*] #cakephp配置
[*] if (-f $request_filename) {
[*] break;
[*] }
[*] if (!-f $request_filename) {
[*] rewrite ^/(.+)$ /index.php?url=$1 last;
[*] break;
[*] }
[*]
[*] }
[*]
[*] #forum虚拟目录和rewrite规则
[*] location/forum {
[*] alias /web/wwwroot/snapB/app/forum;
[*] index index.php;
[*] if (!-e $request_filename) {
[*] rewrite ^/forum/topic/(.*)$ /forum/topic.php?q=$1 last;
[*] rewrite ^/forum/forum/(.*)$ /forum/forum.php?q=$1 last;
[*] rewrite ^/forum/profile/(.*)$ /forum/profile.php?q=$1 last;
[*] rewrite ^/forum/view/(.*)$ /forum/view.php?q=$1 last;
[*] rewrite ^/forum/tags/(.*)$ /forum/tags.php?q=$1 last;
[*] rewrite ^/forum/rss/(.*)$ /forum/rss.php?q=$1 last;
[*] rewrite ^/forum/bb-admin/ /forum/bb-admin/index.php last;
[*] rewrite ^/forum/ /forum/index.php last;
[*] break;
[*] }
[*] }
[*] #客户端缓存javascript配置
[*] location /js {
[*] expires max;
[*] }
[*] location /css {
[*] expires max;
[*] }
[*] location /img {
[*] expires max;
[*] }
[*] #php-fpm配置
[*] location ~ .*\.(php|php5)?$ {
[*] # For bbpress
[*] if ($uri ~ ^/forum){
[*] root /web/wwwroot/snapB/app/;
[*] }
[*] fastcgi_passunix:/dev/shm/php-fpm.sock;
[*] fastcgi_index index.php;
[*] include fcgi.conf;
[*] }
[*] access_log/web/log/........log main;
[*]}
ps:"........."请用域名代替
页:
[1]