Sorry that I have not been on the forums much of late. As my development team moves to use ProcessWire as our main cms tool for clients. We have needed to make sure that ProcessWire works on nginx platform. We use both apache and nginx, we found as many already have that nginx is faster and easier to configure. It scales well and when you really need speed it is a great solution.
Anyways with all that being said ProcessWire was surprisingly easy to configure for nginx and did not require adding or modifying any code. Using the same "try_files" directives used for Wordpress and Dupral I was able to run it under nginx, here is a sample config:
upstream php {
server unix:/tmp/php-cgi.socket;
server 127.0.0.1:9000;
}
server
{
listen 80;
server_name hostname;
root /websites/path/to/processwire;
index index.php;
try_files $uri $uri/ /index.php?it=$uri&$args;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi.conf;
fastcgi_intercept_errors on;
fastcgi_pass php;
}
}
There are a few things that still need to be done like protecting the wire and certain directories like assets but so far everything looks to be working correctly.
If ProcessWire has a test suite, I could run it against this server to see if everything is functioning properly. I think that advertising the fact that ProcessWire works under nginx would greatly help to attract more eyes to the project(not that it isn't doing great already) and to give options to hosting and scalability. If you would like help working on this for official support of the platform, perhaps with adding detection algorithms to the install or anything else that is needed, I would be glad to help. Anyways I hope someone finds this post useful.













