Да, вероятно я просто торможу с правами, но.
Что мне нужно сделать, чтобы nginx мог читать и отдавать файлы,
созданные разными юзерами в своих директориях (разные виртуальные
хосты соответственно)?
Для того, чтобы nginx мог читать читать файлы разных пользователей есть три
способа:
1) включить пользователя, под которым работает nginx, в основную группу
кадого пользователя. На самом деле, нереальный способ, например, на FreeBSD,
потому что пользователь не может входит более, чем в 16 групп.
2) сделать на все файлы всех пользователей одну группу, в которую также
входит пользователь nginx'а. Но в этом случае любой пользователь сможет
читать файлы других. Помогает chroot для каждого пользователя.
3) запускать рабочие процессы nginx'а от рута. Я бы не стал (хотя
большинство лёгких однопроцессных серверов именно так и работают).
Кроме того, возможно, nginx так и не запуститься (не проверял), но это
легко исправить.
Игорь Сысоев
http://sysoev.ru