当我们启动nginx之后, 会有两个nginx进程(一个是master, 一个是worker).
master的用户身份是root, worker用户的身份是nobody. 在nginx中可以修改 worker 进程的用户身份, 默认的则是 nobody.
以上可以解释为什么之前访问网站目录下的某个文件夹中网页出现403错误了, 因为worker进程的用户身份是nobody, 而当时的文件夹的权限对于other来说没有x权限.
顺便一提, phpcgi的用户身份是root, 因为启动phpcgi的时候顺便用的sudo执行的, 我让phpcgi监听的是9000端口, 所以非root用户应该也可以, 据说是监听小于1024的端口号需要root权限.
当phpcgi进程的用户身份是root的时候, 还可以发现在php中上传的文件的所有者和所属组也是root.