yunmuq

摘要:centos中的nginx安装教程,以低权限用户启动nginx,使用防火墙转发流量解决非root用户无法使用1024以下端口问题,nologin用户执行命令的方法。
文章目录见右侧



一、安装nginx

>>参考文章<<

1.1 下载

# 如果centos服务器是最小体量安装,则先安装weget

yum install -y wget

#下载nginx,截至写稿最新是1.18.0

cd /home

wget http://nginx.org/download/nginx-1.18.0.tar.gz

tar -zxvf nginx-1.18.0.tar.gz

cd nginx-1.18.0



1.2 安装编译依赖

yum install -y pcre pcre-devel openssl openssl-devel gcc gcc gcc-c++ ncurses-devel perl



1.3 提前下载第三方依赖

编译时的模块越多越好,如果安装了以后还想加模块,就得重新编译

第三方依赖:

# more_clear_headers
wget https://github.com/openresty/headers-more-nginx-module/archive/v0.33.tar.gz
#解压
tar -zxvf v0.33.tar.gz



1.4 编译

#可选编译步骤:去掉debug,提高一点编译速度

#vim auto/cc/gcc

#在179行这样注释掉 CFLAGS="$CFLAGS -g" 使用:set nu显示行号

./configure --prefix=/usr/local/nginx --user=nobody --group=nobody --with-http_ssl_module --with-http_sub_module \
--with-http_gzip_static_module --with-http_stub_status_module --with-http_gunzip_module \
--with-stream --with-stream_ssl_module \
--add-module=/headers-more-nginx-module-0.33

ssl是支持https,sub_module和gzip、gunzip用于代理时修改报文中src的链接地址什么的

headers-more-nginx-module用于清除响应的http headers

详细信息使用./configure --help

#编译

make -j8  # 根据cpu最大线程数决定,为cpu核心的2倍,减少编译时间



1.5 安装

make install

#安装成功

#安装目录

cd /usr/local/nginx



二、配置教程

安全地配置nginx,主要是以低权限用户运行nginx,这样即使出现漏洞,攻击者也难以反弹shell



2.1 创建用户和组

groupadd nologin

useradd nginx-nologin -M -s /sbin/nologin -g nologin

#-M 不指定家目录

#-s 指定shell ,nologin代表该用户无法用于登录,但是可以指定以此用户执行命令,详情在后面

#-g 指定组

觉得麻烦直接用系统自带的 nobody 用户,本文后续使用nobody用户



2.2 获取https证书

这是可选的,如果你还没有域名,则需先购买域名,国内

分类:

技术点:

相关文章: