Arch Linux: WordPress not working - Blank Pages

Ok, so I am using Arch Linux instead of Ubuntu to follow the tutorial over at Everything works fine (sort of). I say this because restarting nginx gives no errors, and when I point my browser over to the my domain, it gives me a 403 forbidden error. Which is fine because the directory is EMPTY at this point. So that also means that the wordpress.conf file I have in sites-enabled is properly pointing to the correct directory on the server. (Also, if I place an index.html file in there and point my broswer to, the file loads perfectly).

However, the issue arises after I download and extract wordpress into the directory and then try to open to begin the wordpress install. I am guessing this is some kind of php issue, right? CAN SOMEONE PLEASEEEEE HELP ME OUT?

My nginx.conf file is as follows:

user http;  
worker_processes  1;  

#pid        logs/;  

events {  
    worker_connections  1024;  

http {  
    include       mime.types;  
    default_type  application/octet-stream;  
    access_log  logs/access.log  main;  

    sendfile        on;  
    #tcp_nopush     on;  

    #keepalive_timeout  0;  
    keepalive_timeout  65;  
    server_names_hash_bucket_size 64;  
    gzip  on;  

    server {  
        listen       80;  

        #charset koi8-r;  

        #access_log  logs/host.access.log  main;  

        location / {  
            root   /srv/http/root.server/html;  
            index  index.html index.htm;  

        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root  /srv/http/root.server/html;  

        location ~ \.php$ {  
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;  
        fastcgi_index  index.php;  
        root   /srv/http/root.server/html;  
        include        fastcgi.conf;  

        include /etc/nginx/sites-enabled/*.conf;  

And my sites-enabled/wordpress.conf file is as follows:


server {  

    access_log   /var/log/nginx/rescuechurchmiami.access.log;  
    error_log    /var/log/nginx/rescuechurchmiami.error.log debug;  

    root /srv/http/;  
    index index.php index.html;  

    set $cache_uri $request_uri;  

    # POST requests and urls with a query string should always go to PHP  
    if ($request_method = POST) {  
        set $cache_uri 'null cache';  
    if ($query_string != "") {  
        set $cache_uri 'null cache';  

    # Don't cache uris containing the following segments  
    if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|/feed/|index.php|wp-comments-popup.php|wp-links-opml.php|wp-locations.php|sitemap(_index)?.xml|[a-z0-9_-]+-sitemap([0-9]+)?.xml)") {  
        set $cache_uri 'null cache';  

    # Don't use the cache for logged in users or recent commenters  
    if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_logged_in") {  
        set $cache_uri 'null cache';  

    # Use cached or actual file if they exists, otherwise pass request to WordPress  
    location / {  
        try_files /wp-content/cache/page_enhanced/${host}${cache_uri}_index.html $uri $uri/ /index.php?$args ;  

        location ~ ^/wp-content/cache/minify/[^/]+/(.*)$ {  
                try_files $uri /wp-content/plugins/w3-total-cache/pub/minify.php?file=$1;  

    location = /favicon.ico { log_not_found off; access_log off; }  
    location = /robots.txt  { log_not_found off; access_log off; }  

    location ~ .php$ {  
        try_files $uri /index.php;   
        include fastcgi_params;  
                fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;  

    # Cache static files for as long as possible  
    location ~* .(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {  
               expires max; log_not_found off; access_log off;  

The only changes I had to make to that file from the tutorial was changing the servername, of course, and to change the php-fpm socket location to match the one in Arch Linux.

Thank you, AJ

Can you paste content of /var/log/nginx/rescuechurchmiami.error.log?

I see you have debug logging enabled for nginx error_log.

Just flush content of error log, open index.php and if you see error, just paste generated debug log here.


I am marking this as solved as we did not get reply from long time. I hope you are having good time with Nginx. :slight_smile: