For a long time, XML-RPC and all plugins that require that, such as Jetpack, refused to work unless I was using Apache. I finally managed to get XML-RPC working, so I’ll share my debugging steps:

Jetpack Debug

The easiest way to debug is to go to, and check if you get an error. If you do, click on the little red rectangle that tells you about the error, and an array or JSON or whatever it is will pop up, which contains everything you could possible need to debug. The most helpful is the error code and message the server returned. If this is 404, check you rewrite rules, and hopefully when you refresh your problems are fixed, if not, continue.

Reinstall/Install the xml-rpc extension

I’m using Ubuntu server, so the command would be:

sudo apt install --reinstall php-xmlrpc
sudo service php7.0-fpm restart

And after a webserver restart, check again. This will likely fix your problem, if not, purge all PHP modules:

sudo apt purge php*

Then, copy your configs over to a new folder:

sudo mv /etc/php /etc/php.old

And reinstall:

sudo apt install php7.0-fpm php-mysql php-xml php-xmlrpc

restart your webserver, and this is what fixed it for me. Now, check your old configs and start to add all your changes again until something breaks, and you’ve found the cause :)


At the time of writing, I’m still using and liking lighttpd. It’s light, it’s fast, and it does everything I need while using < 10MB of RAM. It also uses just one process, while NGINX uses 2 after I set it to use one worker. Anyways, I wouldn’t say its worth switching to from NGINX, but if you’re on Apache and your website is growing, I’d highly recommend switching to Lighttpd, unless you need to proxy to a https backend :)