很多公司要求nginx不能用root用户启动,而普通用户不能监听80端口,所以要进行配置后才能正常运行nginx,以tq普通用户为例。 其中redhat和ubuntu系统通过命令修改内核实现 suse系统通过iptables端口转发实现
1.编辑nignx配置文件
vi /etc/nginx/nginx.conf worker_processes 1; user nginx tq; # 指定Nginx服务的用户 events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server_tokens off; server { listen 80; server_name www.abc.com; location / { root html/www; index index.html index.htm; } } }2.给nginx启动脚本权限
#sudo chown tq:tq /usr/sbin/nginx #sudo chmod a+s /usr/sbin/nginx3.执行语句让nginx启动脚本非root也可以启动1024以下端口
sudo setcap 'cap_net_bind_service=+ep' /usr/sbin/nginx4.启动Nginx
sudo nginx -c /etc/nginx/nginx.conf 或 systemctl start nginx5.查看nginx日志是否报错
less /var/log/nginx/error.log