Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Accepted Answer
*** SOLVED ***
I discovered (belatedly) that the pages were actually loading, just unable to render. Found Content-Security-Policy errors and traced it back to this line in my nginx config for this site.
add_header Content-Security-Policy "default-src 'self' http: https: data: blob: 'unsafe-inline'" always;
Removing this line fixes everything.
I would love to know if this should just be eliminated completely or if it should be modified to accommodate WP in a way that is still more secure. 🙏.
FWIW this was part of a larger block of security policies I originally setup here using this tool hosted by DO.
https://www.digitalocean.com/community/tools/nginx
I didn’t plan on hosting a WP site at the time, but it seems like the security policy for content headers you would have generated is exactly the same even when you do ✅ WordPress.
Something to be aware of if things are mostly working but failing to render in the last mile!
Also, check your browsers dev tools. 🙄 By making an early assumption about where the errors would be (php or nginx logs) I missed early and obvious clues that would eventually point me in the right direction within a matter of seconds.
I included the wrong block – this is the one I wanted to include. I have it a few lines up from the PHP block disclosed above.
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?$args;
}
Some other clues…
The wp-config could not be written by WP, I had to edit it manually.
“WordPress Events and News” widget doesn’t load, thinks the network is down
Site health similarly hangs, never starts or completes.
All previously mentioned functions with Gutenberg, editing or creating a new page fail in a similar way.
And yet the site works! PHP is working.
And I have double-checked all permissions on files are as they should be. I even did this when WP couldn’t write the wp-config…and it still couldn’t write it. Very strange.