Nginx 配置 for Magento

应群众要求,把nginx配置晒出来了,适用于magento程序。主要请看server这段,其他的要针对自己服务器和用途配置。

user  nobody;
worker_processes  1;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
        include       mime.types;
        default_type  application/octet-stream;
 
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
 
        #access_log off;
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 300m;
 
        sendfile on;
        tcp_nopush     on;
 
        keepalive_timeout 360000;
 
        tcp_nodelay on;
 
        client_body_buffer_size  512k;
        proxy_connect_timeout    5;
        proxy_read_timeout       60;
        proxy_send_timeout       5;
        proxy_buffer_size        16k;
        proxy_buffers            4 64k;
        proxy_busy_buffers_size 128k;
        proxy_temp_file_write_size 128k;
 
        fastcgi_connect_timeout 3600;
        fastcgi_send_timeout 3600;
        fastcgi_read_timeout 3600;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 128k;
 
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.0;
        gzip_comp_level 2;
        gzip_types       text/plain application/x-javascript text/css application/xml;
        gzip_vary on;
 
        proxy_cache_path  /app/nginx/proxy_cache levels=2:2 keys_zone=one:200m inactive=1d max_size=30g;
        proxy_temp_path /app/nginx/proxy_temp;
 
        fastcgi_cache_path   /app/nginx/fastcgi_cache levels=2:2 keys_zone=two:200m inactive=1d max_size=30g;
 
        server {
                listen          80;
                server_name     www.demo.cn;
                root            /app/projects/demo;
 
                #设置索引文件和URL重写
                location / {
                        index index.html index.php; ## Allow a static html file to be shown first
                        try_files $uri $uri/ @handler; ## If missing pass the URI to Magento's front handler
                        expires 30d; ## Assume all files are cachable
                }
 
				#屏蔽一些目录,防止被外部访问
                ## These locations would be hidden by .htaccess normally
                location /app/                  { deny all; }
                location /includes/             { deny all; }
                location /lib/                  { deny all; }
                location /media/downloadable/   { deny all; }
                location /pkginfo/              { deny all; }
                location /report/config.xml     { deny all; }
                location /var/                  { deny all; }
 
				#将错误报告加个密码保护
                location /var/export/ { ## Allow admins only to view export folder
                                auth_basic                                   "Restricted"; ## Message shown in login window
                                auth_basic_user_file htpasswd; ## See /etc/nginx/htpassword
                                autoindex                                                on;
                }
				#禁止访问.htaccess文件
                location  /. { ## Disable .htaccess and other hidden files
                        return 404;
                }
				#用来进行URL重写
                location @handler { ## Magento uses a common front handler
                        rewrite / /index.php;
                }
				#转发.php文件的请求
                location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
                        rewrite ^(.*.php)/ $1 last;
                }
				#将php请求传递到后端php-fpm CGI程序,端口是9000
                location ~ .php$ { ## Execute PHP scripts
                        if (!-e $request_filename) { rewrite / /index.php last; } ## Catch 404s that try_files miss
 
                        expires         off; ## Do not cache dynamic content
                        fastcgi_pass    127.0.0.1:9000;
                        #fastcgi_param  HTTPS $fastcgi_https;
                        fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                        fastcgi_param   MAGE_RUN_CODE default; ## Store code is defined in administration > Configuration > Manage Stores
                        fastcgi_param   MAGE_RUN_TYPE store;
                        include                                fastcgi_params; ## See /etc/nginx/fastcgi_params
                }
				#这里是禁止访问SVN信息的配置
                location ~ ^(.*)\/\.svn\/{
                        deny all;
                }
        }
}
  1. 漂亮。。。

  1. 还没有引用通告。