|
user www-data www-data; |
|
worker_processes 1; |
|
|
|
pid /run/nginx.pid; |
|
lock_file /run/lock/nginx.lock; |
|
|
|
|
|
events { |
|
worker_connections 1024; |
|
} |
|
|
|
|
|
http { |
|
server_tokens off; |
|
include /etc/nginx/mime.types; |
|
default_type application/octet-stream; |
|
|
|
sendfile on; |
|
tcp_nopush on; |
|
tcp_nodelay off; |
|
|
|
keepalive_timeout 5; |
|
|
|
gzip on; |
|
gzip_static on; |
|
gzip_comp_level 2; |
|
gzip_disable "msie6"; |
|
gzip_proxied any; |
|
gzip_types application/json application/vnd.ms-fontobject application/x-font-ttf application/x-javascript image/svg+xml text/css text/plain text/xml; |
|
gzip_vary on; |
|
|
|
fastcgi_cache_path /var/cache/nginxfastcgi levels=1:2 keys_zone=fastcgicache:10m inactive=10m; |
|
fastcgi_cache_key $scheme$request_method$host$request_uri; |
|
# note: can also use HTTP headers to form the cache key, e.g. |
|
#fastcgi_cache_key $scheme$request_method$host$request_uri$http_x_custom_header; |
|
fastcgi_cache_use_stale error timeout invalid_header updating http_500; |
|
fastcgi_cache_lock on; |
|
fastcgi_ignore_headers Cache-Control Expires Set-Cookie; |
|
|
|
index index.php; |
|
|
|
|
|
server { |
|
listen 127.0.0.1:80; |
|
server_name sitename.com; |
|
|
|
|
|
root /var/www/sitename.com; |
|
access_log /var/log/nginx/access.log; |
|
error_log /var/log/nginx/error.log; |
|
|
|
# example cache exceptions/skipping |
|
set $fastcgi_skipcache 0; |
|
|
|
if ($query_string) { |
|
set $fastcgi_skipcache 1; |
|
} |
|
|
|
if ($http_x_custom_header) { |
|
set $fastcgi_skipcache 0; |
|
} |
|
|
|
if ($request_uri ~ "/path/matches/") { |
|
set $fastcgi_skipcache 1; |
|
} |
|
|
|
if ($http_cookie ~ "users_login_cookie") { |
|
set $fastcgi_skipcache 1; |
|
} |
|
|
|
include /etc/nginx/conf/phpfastcgicache; |
|
|
|
location / { |
|
try_files $uri $uri/ /index.php?$query_string; |
|
} |
|
|
|
location ~ "\.php$" { |
|
fastcgi_index index.php; |
|
if (!-f $document_root$fastcgi_script_name) { |
|
return 404; |
|
} |
|
|
|
# note: adds a HTTP response header "X-Cache" returning HIT/MISS/BYPASS/EXPIRED for cache use status |
|
add_header X-Cache $upstream_cache_status; |
|
|
|
fastcgi_cache fastcgicache; |
|
fastcgi_cache_valid 5m; |
|
fastcgi_cache_bypass $fastcgi_skipcache; |
|
fastcgi_no_cache $fastcgi_skipcache; |
|
|
|
include /etc/nginx/fastcgi_params; |
|
fastcgi_pass unix:/run/php5/php-fpm.sock; |
|
} |
|
} |
|
} |