核心/全局模块
程序用户-work进程
I/O配置(use epoll #使用epoll模型提高性能)
HTTP模块(内包含)
location
访问路径
页面
Rewrit和server模块(对应某官网)
内部的信息作用于Server模块之中,有多个server模块,代表不同的官网(网站),信息内容都服务与Server模块,整个框架包含所有信息的是Server模块
③ 三个主模块
(核心/全局模块,http模块,server模块)
每一个Server模块对应一个网站(网站数量决定Server模块数量)
在HTTP模块内
gzip #是否开启gzip压缩输出
include #映射表,匹配相对应的网站
default_type #定义文件类型
log_format main #日志格式设定
access_log #访问日志文件设置
keepalive_timeout #连接保持超时时间,单位为秒
监听80端口,并请求 / usr / local / nginx / html / index.html 文件内容
将访问信息放入nginx服务的access.log日志文件当中
① 协议TCP/IP(三次握手)
② http传输
③ 请求头
④ 请求行
⑤ 请求体
请求体由访问来源,访问路径,请求类型(GET/POST),请求报文格式长度和上层数据,message发送请求的信息组成
客户端将所有请求信息交个代理服务器
代理服务器中日志格式remote_add记录代理服务器的IP地址
日志格式$remote_add中记录的是客户端的IP地址
Server模块(决定着网站是否能正常使用)
Listen #监听地址端口
server_name #站点域名,可多个,用空格隔开
charset #默认字符集(utf-8)
root html #默认指定网站目录/usr/local/nginx/html
index #默认首页文件名
error_page #内部错误的反馈页面
访问PHP需要经过Nginx,通过proxy_pass直接寻找代理地址访问
实际工作环境,会做隐藏后端服务应用的真实版本号
命令:curl -I [IP地址]
让其服务关闭显示版本号
命令:nginx -t
命令:systemctl restart nginx
命令:curl -I [IP地址]
vim /nginx1.12
命令:./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
#修改完之后重新编译安装生效
命令:make && make install
命令:vim /usr/local/nginx/conf/nginx.conf
命令:systemctl restart nginx
命令:curl -I [IP地址]
命令:vim /usr/local/nginx/conf/nginx.conf
命令:systemctl restart nginx
命令:ps -aux | grep nginx
#!/bin/bash
#按照时间来进行分割,每天都生成一个新的日志。
#获取日期
d=$(date +%Y-%m-%d)
#找到nginx日志的存储位置
dir="/usr/local/nginx/logs"
#定义分割的源日志
logs_file='/usr/local/nginx/logs/access.log'
logs_error='/usr/local/nginx/logs/error.log'
#定义nginx的PID文件
pid_file='/usr/local/nginx/run/nginx.pid'
if [ ! -d "$dir" ]
then
mkdir -p $dir
fi
#移动日志并重命名日志文件
mv ${logs_file} ${dir}/access_${d}.log
#mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access_2023-10-12.log
mv ${logs_error} ${dir}/error_${d}.log
#发送信号给nginx主进程,让nginx重新生成一个新的日志文件
kill -USR1 $(cat ${pid_file})
#USR1 生成一个新的日志 cat /usr/local/nginx/run/nginx.pid
#日志清理 日志清理原则:业务日志一般保留30天。数据库日志,保留2年。用户信息加密,而且要永久保存。高可用。
#业务日志如果最近无重大事项,保留10天之内的也可以,但是要申请批准。
find $dir -mtime +30 -exec rm -rf {} \;命令:chmod 777 /opt/fenge.sh
#给脚本赋权
命令:crontab -e
创建定时任务
#查看定时任务
命令:vim /usr/local/nginx/conf/nginx.conf
命令:systemctl restart nginx
状态码变为200即可双击查看信息
命令:cat /proc/cpuinfo | grep -c "physical id"
命令:ps -aux | grep nginx
命令:vim /usr/local/nginx/conf/nginx.conf
命令:systemctl restart nginx
命令:nginx -t
命令:vim /usr/local/nginx/conf/nginx.conf
命令:vim /usr/local/nginx/conf/nginx.conf
命令:systemctl restart nginx