Nginx + Lua 搭建网站WAF防火墙 (2)

在线安装的包都可以通过:rpm -ql xxx查看安装到哪些目录

安装目录详解(点我展开) ```shell [root@localhost dnt]# rpm -ql nginx # Nginx使用用logrotate服务对日志进行切割的配置文件(eg:按天切割) /etc/logrotate.d/nginx # Nginx的核心目录 /etc/nginx # 主要配置文件,Nginx启动的时候会读取 /etc/nginx/nginx.conf /etc/nginx/conf.d # nginx.conf没变更久读default.conf(默认Server加载的文件) /etc/nginx/conf.d/default.conf # Nginx对Python的wsgi配置 /etc/nginx/uwsgi_params # fastcgi配置 /etc/nginx/fastcgi_params # scgi配置 /etc/nginx/scgi_params # Nginx缓存目录 /var/cache/nginx # Nginx日志目录 /var/log/nginx # Nginx默认网站存放的路径 /usr/share/nginx/html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html # 设置http的Content-Type与扩展名对应关系的配置文件 /etc/nginx/mime.types # Nginx模块所在目录 /usr/lib64/nginx/modules /etc/nginx/modules # 二进制执行文件 /usr/sbin/nginx /usr/sbin/nginx-debug # 编码转换的映射文件 /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/win-utf # 配置CentOS守护进程对Nginx的管理方式 /usr/lib/systemd/system/nginx-debug.service /usr/lib/systemd/system/nginx.service /etc/sysconfig/nginx /etc/sysconfig/nginx-debug # Nginx的文档 /usr/share/doc/nginx-1.16.0 /usr/share/doc/nginx-1.16.0/COPYRIGHT /usr/share/man/man8/nginx.8.gz # Nginx检测更新命令 /usr/libexec/initscripts/legacy-actions/nginx /usr/libexec/initscripts/legacy-actions/nginx/check-reload /usr/libexec/initscripts/legacy-actions/nginx/upgrade ``` 2.3.默认配置

配置语法检查:nginx -t -c /etc/nginx/nginx.conf

PS:不重启的方式加载配置:Nginx -s reload -c /etc/nginx/nginx.conf

全局以及服务级别的配置:

参数 说明
user   使用用户来运行nginx  
worker_processes   工作进程数  
error_log   nginx的错误日记  
pid   nginx启动时的pid  

events相关配置:

参数 说明
worker_connections   每个进程的最大连接数  
use   工作进程数  

常用中间件配置:

http { ...... server { listen 80; # 端口号 server_name localhost; # 域名 # 路径访问控制(默认访问路径,eg:/ ==> 根目录) location / { root /usr/share/nginx/html; # 网站根目录 index index.html index.htm index.py; # 首页配置 } error_page 500 502 503 504 /50x.html; # 错误页面(可以自定义添404页面,error_page 404 /404.html;...) # 访问xxx/50x.html的时候去指定目录找 location = /50x.html { root /usr/share/nginx/html; # 错误页面所在路径 } } # 一个server配置一个虚拟 or 独立的站点(通过listen和server_name来区别多个server) server { ...... } } 2.4.systemctl配置

nginx:(等会编译安装的时候可以参考)

[root@localhost dnt]# cat /usr/lib/systemd/system/nginx.service [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=http://www.likecs.com/var/run/nginx.pid ExecStart=http://www.likecs.com/usr/sbin/nginx -c /etc/nginx/nginx.conf ExecReload=http://www.likecs.com/bin/kill -s HUP $MAINPID ExecStop=http://www.likecs.com/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target

nginx-debug:

[root@localhost dnt]# cat /usr/lib/systemd/system/nginx-debug.service [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=http://www.likecs.com/var/run/nginx.pid ExecStart=http://www.likecs.com/usr/sbin/nginx-debug -c /etc/nginx/nginx.conf ExecReload=http://www.likecs.com/bin/kill -s HUP $MAINPID ExecStop=http://www.likecs.com/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target 3.编译安装 3.1.安装编译环境

一步到位:yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

一步到位

简单拆分解析一下:

Nginx使用C/C++编写的,安装一下依赖:yum install gcc-c++ -y

Nginx需要使用PCRE来进行正则解析:yum install pcre pcre-devel -y

现在服务器和浏览器一般都是使用gzip:yum install -y zlib zlib-devel -y

让Nginx支持https:yum install openssl openssl-devel -y

3.2.Nginx编译安装 3.2.1.下载解压

先编译安装一下,后面说lua模块的时候再重新编译下就行了

下载:curl -o nginx.tar.gz

解压:tar -zxvf nginx.tar.gz

3.2.2.配置编译参数

参考前面说的在线版Nginx来设置编译参数的配置:

PS:nginx -V

切换到nginx的解压目录:cd nginx-1.16.0 然后执行下面命令

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzdpj.html