all repos — wp-ffpc @ 525fc33839060789e4cde4c1053112ce5a5c7793

wp-ffpc-nginx-sample.conf (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
http {

	# memcached servers, generated according to wp-ffpc config
	upstream memcached-servers {
MEMCACHED_SERVERS
	}

	# PHP-FPM upstream; change it accordingly to your local config!
	upstream php-fpm {
		server 127.0.0.1:9000;
	}

	server {
		## Listen ports
		listen 80;
		listen [::]:80;

		# use _ if you want to accept everything, or replace _ with domain
		server_name _;

		# root of WordPress
		root SERVERROOT;

		# set up logging
		access_log /var/log/nginx/SERVERLOG.access.log;
		error_log /var/log/nginx/SERVERLOG.error.log;

		## PHP5-FPM
		location ~ (\.php) {
			# these settings are usually in fastcgi_params

			fastcgi_index                           index.php;
			fastcgi_connect_timeout                 10;
			fastcgi_send_timeout                    180;
			fastcgi_read_timeout                    180;
			fastcgi_buffer_size                     512k;
			fastcgi_buffers                         4       256k;
			fastcgi_busy_buffers_size               512k;
			fastcgi_temp_file_write_size            512k;
			fastcgi_intercept_errors                on;
			fastcgi_split_path_info ^(.+\.php)(/.*)$;
			fastcgi_keep_conn			on;

			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_FILENAME			$document_root$fastcgi_script_name;
			fastcgi_param	SCRIPT_NAME				$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_param	PATH_INFO				$fastcgi_path_info;
			fastcgi_param	PATH_TRANSLATED			$document_root$fastcgi_path_info;
			fastcgi_param	REDIRECT_STATUS			200;

			# uncomment these for HTTPS usage
			#fastcgi_param	HTTPS					$https if_not_empty;
			#fastcgi_param	SSL_PROTOCOL			$ssl_protocol if_not_empty;
			#fastcgi_param	SSL_CIPHER				$ssl_cipher if_not_empty;
			#fastcgi_param	SSL_SESSION_ID			$ssl_session_id if_not_empty;
			#fastcgi_param	SSL_CLIENT_VERIFY		$ssl_client_verify if_not_empty;

			default_type text/html;
			set $memcached_raw_key data-$scheme://$host$request_uri;
			set_sha1 $memcached_key $memcached_raw_key;
			set $memcached_request 1;

			if ($request_method = POST ) {
				set $memcached_request 0;
			}

			if ( $uri ~ "/wp-" ) {
				set $memcached_request 0;
			}

			if ( $args ) {
				set $memcached_request 0;
			}

			LOGGEDIN_EXCEPTION

			COOKIES_EXCEPTION

			if ( $memcached_request = 1) {
				RESPONSE_HEADER
				memcached_pass memcached-servers;
				error_page 404 = @nocache;
				break;
			}

			fastcgi_pass unix:/var/run/php5-fpm.sock;
		}

		location @nocache {
			add_header X-Cache-Engine "not cached";
			fastcgi_pass unix:/var/run/php5-fpm.sock;
		}

		location / {
			try_files $uri $uri/ /index.php;
		}

	}
}