浏览 4508 次
锁定老帖子 主题:关于nginx的启动权限
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-08-29
刚碰到的一个问题,在启动nginx时碰到这个错误:
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/nginx/conf/nginx.conf:
显然是执行这个二进制文件的权限问题,我们都知道nginx的master process 需要用root权限来启动,子进程则可以用其他用户来运行。
用ll命令查看,发现nginx这个二进制文件没有SUID权限了。因为我的nginx文件是属于admin用户的,当我用个人账户nigelzeng来sudo启动这个文件时,只相当于用admin权限来启动nginx主进程,这当然是permission deny了。。。。
因此需要把这个nginx文件用chmod设置为root用户所属,然后加上SUID权限: chown root nginx chmod +s nginx
设置完成之后,会看到类似的: -rwsr-sr-x 1 root admin 1326768 Aug 29 16:40 nginx-proxy
那么当我sudo执行这个文件的时候,就会拿到root权限,从而顺利启动nginx。
更多关于SUID和GUID的内容可以点击下面的链接: 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-08-31
好像是你的nginx.conf中使用了user的配置吧, 把这个配置去掉.
当时我配置的时候也出现这个问题 |
|
返回顶楼 | |
发表时间:2012-09-01
greatwqs 写道 好像是你的nginx.conf中使用了user的配置吧, 把这个配置去掉.
当时我配置的时候也出现这个问题 去掉的话 nginx会默认使用configure时的--user和--group的 |
|
返回顶楼 | |