<![CDATA[Teknotit Snipet Manager tarfst: Snippets: fastcgi]]>http://snipet.teknotit.com/index.php <![CDATA[Nginx exemple de configuration (php fastcgi)]]> server { # .domain.com will match both domain.com and anything.domain.com server_name .example.com; # It is best to place the root of the server block at the server level, and not the location level # any location block path will be relative to this root. root /usr/local/www/example.com; # It's always good to set logs, note however you cannot turn off the error log # setting error_log off; will simply create a file called 'off'. access_log /var/log/nginx/example.access.log; error_log /var/log/nginx/example.error.log; # This can also go in the http { } level index index.html index.htm index.php; location / { # if you're just using wordpress and don't want extra rewrites # then replace the word @rewrites with /index.php try_files $uri $uri/ @rewrites; } location @rewrites { # Can put some of your own rewrite rules in here # for example rewrite ^/~(.*)/(.*)/? /users/$1/$2 last; # If nothing matches we'll just send it to /index.php rewrite ^ /index.php last; } # This block will catch static file requests, such as images, css, js # The ?: prefix is a 'non-capturing' mark, meaning we do not require # the pattern to be captured into $1 which should help improve performance location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { # Some basic cache-control for static files to be sent to the browser expires max; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } # remove the robots line if you want to use wordpress' virtual robots.txt location = /robots.txt { access_log off; log_not_found off; } location = /favicon.ico { access_log off; log_not_found off; } # this prevents hidden files (beginning with a period) from being served location ~ /\. { access_log off; log_not_found off; deny all; } location ~ \.php { fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE nginx; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; fastcgi_pass 127.0.0.1:9000; } }]]> Fri, 17 Oct 2014 05:46:07 +0200 <![CDATA[Nginx FastCGI cache]]> user www-data www-data; worker_processes 1; lock_file /run/lock/nginx.lock; events { worker_connections 1024; } http { server_tokens off; sendfile on; tcp_nopush on; tcp_nodelay off; keepalive_timeout 5; include /etc/nginx/mime.types; default_type application/octet-stream; gzip on; gzip_static on; gzip_comp_level 2; gzip_disable "msie6"; gzip_proxied any; gzip_types application/javascript application/json application/vnd.ms-fontobject application/x-font-ttf 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 max_size=64m; 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_lock on; fastcgi_cache_use_stale error timeout invalid_header updating http_500; fastcgi_cache_valid 5m; 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 FastCGI cache exception rules set $fastcgi_skipcache 0; if ($query_string) { set $fastcgi_skipcache 1; } if ($http_x_custom_header) { set $fastcgi_skipcache 0; } if ($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 $realpath_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_bypass $fastcgi_skipcache; fastcgi_no_cache $fastcgi_skipcache; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php5/php-fpm.sock; } } }]]> Fri, 17 Oct 2014 05:31:48 +0200