Ok, so I am using Arch Linux instead of Ubuntu to follow the tutorial over at http://rtcamp.com/tutorials/wordpress-nginx-w3-total-cache/. 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 mydomain.com/index.html, the file loads perfectly).
However, the issue arises after I download and extract wordpress into the directory and then try to open mydomain.com/index.php 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/nginx.pid;
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;
server_name 198.199.69.47;
#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 {
server_name rescuechurchmiami.com www.rescuechurchmiami.com;
access_log /var/log/nginx/rescuechurchmiami.access.log;
error_log /var/log/nginx/rescuechurchmiami.error.log debug;
root /srv/http/rescuechurchmiami.com/html;
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