一、nginx防止误操作,需要通过普通用户来管理配置
我这里已经启用的是nginx用户,不过启动用的还是root权限,原因是普通用户无法启动1024端口以下的服务
故而需要给普通用户赋予相应权限配置:
setcap cap_net_bind_service=+eip /usr/local/nginx/sbin/nginx
然后ls -l /usr/local/nginx/sbin/nginx 显示红色就说明权限扩展成功
注:当然在普通权限下你就不能在用systemctl start nginx.service,只能执行/usr/local/nginx/sbin/nginx来启动nginx 记得切换到你建的普通用户下
然后正常执行nginx -t 检测 nginx -s reload 加载配置
怎么回退呢?
使用setcap -r 那么我们的新配置信息就应该这样
然后停止/usr/local/nginx/sbin/nginx -s stop
chown -R root.root或nginx.nginx /usr/local/nginx
再systemctl start nginx.service
二、添加需要的模块
先确认自己nginx的版本,然后下载对应版本包,当然我们测试服务器基本都在/home/soft下,
停下nginx然后备份下/usr/local/nginx/sbin/nginx 这个文件,以防失败还原
到nginx已解压的包下,执行添加模块的命令
./configure --prefix=/usr/local/nginx --with-http_ssl_module
运行上面的命令即可,等配置完成后,运行命令
make
这里不要进行make install,否则就是覆盖安装
cp ./objs/nginx /usr/local/nginx/sbin/
然后启动nginx,仍可以通过命令查看是否已经加入成功
/usr/local/nginx/sbin/nginx -V
附加:有些是下载模块添加时需要对应文件目录
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/ngx_cache_purge