以nginx用户执行 ./nginx 出现下面报错
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /home/nginx/nginx_dev/conf/nginx.conf:2
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
非root 用户不可以使用1024以下的端口.
解决办法
1.修改配置文件,将端口设置为1024以上的
2.修改用户权限
所有用户都可以运行(因为是755权限,文件所有者:root,组所有者:root)
chown root.root nginx
chmod 755 nginx
chmod u+s nginx
此方式,不修改nginx端口号,无法运行.
3.在sbin目录下 sudo ./nginx
这种方式可能出现下述错误.
nginx 不在 sudoers 文件中。此事将被报告。
sudo命令可以让你以root身份执行命令,来完成一些我们这个帐号完成不了的任务。
其实并非所有用户都能够执行sudo,因为有权限的用户都在/etc/sudoers中呢。
我们可以通过编辑器来打开/etc/sudoers,或者直接使用命令visudo来搞定这件事情。
打开sudoers后,像如下那样加上自己的帐号保存后就可以了。
root ALL=(ALL:ALL) ALL
nginx ALL=(ALL:ALL) ALL
sudoers的权限是0440,即只有root才能读。在你用root或sudo后强行保存(wq!)即可。
来源:CSDN
作者:我是十二
链接:https://blog.csdn.net/weixin_43199103/article/details/104315444