nginx权限配置及模块添加

一、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,否则就是覆盖安装

然后将刚刚编译好的nginx覆盖掉原有的nginx

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

你可能感兴趣的:(nginx,nginx,运维)