User Tools

Site Tools


wordpress-nginx

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wordpress-nginx [2017/11/28 10:33] – created luke7858wordpress-nginx [2024/05/23 07:26] (current) – external edit 127.0.0.1
Line 1: Line 1:
 https://codex.wordpress.org/Nginx https://codex.wordpress.org/Nginx
 +\\
 +<code>
 + include global/restrictions.conf;
 + include global/wordpress.conf;
 +</code>
 +\\
 +=== global/restrictions.conf ===
 +<code>
 +# Global restrictions configuration file.
 +# Designed to be included in any server {} block.
 +location = /favicon.ico {
 + log_not_found off;
 + access_log off;
 +}
 +
 +location = /robots.txt {
 + allow all;
 + log_not_found off;
 + access_log off;
 +}
 +
 +# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
 +# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
 +location ~ /\. {
 + deny all;
 +}
 +
 +# Deny access to any files with a .php extension in the uploads directory
 +# Works in sub-directory installs and also in multisite network
 +# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
 +location ~* /(?:uploads|files)/.*\.php$ {
 + deny all;
 +}
 +</code>
 +\\
 +\\
 +=== global/wordpress.conf ===
 +<code>
 +# WordPress single site rules.
 +# Designed to be included in any server {} block.
 +# Upstream to abstract backend connection(s) for php
 +upstream php {
 +        server unix:/tmp/php-cgi.socket;
 +        server 127.0.0.1:9000;
 +}
 +
 +server {
 +        ## Your website name goes here.
 +        server_name domain.tld;
 +        ## Your only path reference.
 +        root /var/www/wordpress;
 +        ## This should be in your http block and if it is, it's not needed here.
 +        index index.php;
 +
 +        location = /favicon.ico {
 +                log_not_found off;
 +                access_log off;
 +        }
 +
 +        location = /robots.txt {
 +                allow all;
 +                log_not_found off;
 +                access_log off;
 +        }
 +
 +        location / {
 +                # This is cool because no php is touched for static content.
 +                # include the "?$args" part so non-default permalinks doesn't break when using query string
 +                try_files $uri $uri/ /index.php?$args;
 +        }
 +
 +        location ~ \.php$ {
 +                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
 +                include fastcgi.conf;
 +                fastcgi_intercept_errors on;
 +                fastcgi_pass php;
 +                fastcgi_buffers 16 16k;
 +                fastcgi_buffer_size 32k;
 +        }
 +
 +        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
 +                expires max;
 +                log_not_found off;
 +        }
 +}
 +</code>
wordpress-nginx.1511865234.txt.gz · Last modified: 2024/05/23 07:26 (external edit)

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki