From 467cc15d45a68db459d8e67e6b74d8f550b649f2 Mon Sep 17 00:00:00 2001 From: Ashley Rich Date: Fri, 25 Dec 2015 20:31:53 +0000 Subject: [PATCH] Add ssl fastcgi cache example --- sites-available/.gitignore | 3 +- sites-available/ssl-fastcgi-cache.com | 79 +++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 sites-available/ssl-fastcgi-cache.com diff --git a/sites-available/.gitignore b/sites-available/.gitignore index a25c2eb..4dd7079 100644 --- a/sites-available/.gitignore +++ b/sites-available/.gitignore @@ -8,4 +8,5 @@ !multisite-subdirectory.com !multisite-subdomain.com !singlesite.com -!ssl.com \ No newline at end of file +!ssl.com +!ssl-fastcgi-cache.com \ No newline at end of file diff --git a/sites-available/ssl-fastcgi-cache.com b/sites-available/ssl-fastcgi-cache.com new file mode 100644 index 0000000..4fa520d --- /dev/null +++ b/sites-available/ssl-fastcgi-cache.com @@ -0,0 +1,79 @@ +# Define path to cache and memory zone. The memory zone should be unique. +# keys_zone=ssl-fastcgi-cache.com:100m creates the memory zone and sets the maximum size in MBs. +# inactive=60m will remove cached items that haven't been accessed for 60 minutes or more. +fastcgi_cache_path /sites/ssl-fastcgi-cache.com/cache levels=1:2 keys_zone=ssl-fastcgi-cache.com:100m inactive=60m; + +server { + # Ports to listen on, uncomment one. + listen 443 ssl; + # listen 443 ssl http2; + + # Server name to listen for + server_name ssl-fastcgi-cache.com; + + # Path to document root + root /sites/ssl-fastcgi-cache.com/public; + + # Paths to certificate files. + ssl_certificate /etc/ssl/ssl-fastcgi-cache.com.crt; + ssl_certificate_key /etc/ssl/ssl-fastcgi-cache.com.key; + + # File to be used as index + index index.php; + + # Overrides logs defined in nginx.conf, allows per site logs. + access_log /sites/ssl-fastcgi-cache.com/logs/access.log; + error_log /sites/ssl-fastcgi-cache.com/logs/error.log; + + # Default server block rules + include global/server/defaults.conf; + + # Fastcgi cache rules + include global/server/fastcgi-cache.conf; + + # SSL rules + include global/server/ssl.conf; + + location / { + try_files $uri $uri/ /index.php?$args; + } + + location ~ \.php$ { + try_files $uri =404; + include global/fastcgi-params.conf; + + # Change socket if using PHP pools + fastcgi_pass unix:/var/run/php5-fpm.sock; + + # Skip cache based on rules in global/server/fastcgi-cache.conf. + fastcgi_cache_bypass $skip_cache; + fastcgi_no_cache $skip_cache; + + # Define memory zone for caching. Should match key_zone in fastcgi_cache_path above. + fastcgi_cache ssl-fastcgi-cache.com; + + # Define caching time. + fastcgi_cache_valid 60m; + } + + # Uncomment if using the fastcgi_cache_purge module and Nginx Helper plugin (https://wordpress.org/plugins/nginx-helper/) + # location ~ /purge(/.*) { + # fastcgi_cache_purge ssl-fastcgi-cache.com "$scheme$request_method$host$1"; + # } +} + +# Redirect http to https +server { + listen 80; + server_name ssl-fastcgi-cache.com www.ssl-fastcgi-cache.com; + + return 301 https://ssl-fastcgi-cache.com$request_uri; +} + +# Redirect www to non-www +server { + listen 443; + server_name www.ssl-fastcgi-cache.com; + + return 301 https://ssl-fastcgi-cache.com$request_uri; +} \ No newline at end of file