Para responder a minha própria pergunta, eis o que fiz para resolver o problema:
sudo chgrp -R www-data ~/public_html/
sudo chmod -R g+w ~/public_html/
Em seguida, o nginx conseguiu gravar na pasta public_html e o problema foi resolvido! Pode parecer simples (e existem inúmeros tópicos no StackOverflow referentes a essa solução em particular), mas de alguma forma eu não vi isso.