nginx 目录结构

image.png
利用logrotate自动切割日志配置方法
/etc/logrotate.conf --- 主配置文件
hourly/daily/weekly/monthly --- 切割日志的周期
rotate 4 --- 保存备份多少个切割后的日志
create --- 切割前的文件创建出来
dateext --- 设置角标信息(设置一个切割后文件的扩展名称信息)
include /etc/logrotate.d --- 加载扩展切割日志配置文件
minsize 1M --- 切割日志大小条件(最小)
maxsize 100M --- 切割日志最大条件
nginx 配置文件
nginx配置文件分为主配置文件和扩展配置文件
主配置文件配置各项具体参数
主配置文件: nginx.conf
配置文件路径: /etc/nginx/nginx.conf
只看有内容行: grep -v "^$" /etc/nginx/nginx.conf
worker_processes 4; 指定worker进程数量 进程数越多并发处理能力越强
建议设置数值=CPU核数 在高并发下建议临时设置数值=2*CPU核数
error_log /var/log/nginx/error.log warn; 配置错误日志保存路径
pid /var/run/nginx.pid; 配置程序pid文件保存路径
#以上信息: nginx主区域配置信息
#以下信息: nginx事件区域配置信息
events { 定义worker区域
worker_connections 1024; 定义一个worker进程最大连接数
(建议小于系统打开文件连接数)
ulimit -a查看系统打开文件最大数值
}
定义HTTP服务区域
http {
include /etc/nginx/mime.types; --- 包含其他配置文件信息 (定义能够处理的媒体资源类型)
default_type application/octet-stream; --- 资源信息没有扩展名,默认识别成什么资源类型
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 设置日志信息格式
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; # 配置日志保存路径
sendfile on;
#tcp_nopush on;
keepalive_timeout 65; 是否开启长链接功能(数值为0 就是开启短链接功能)
#gzip on; 是否压缩传输数据
include /etc/nginx/conf.d/*.conf; 加载扩展配置文件路径
}
扩展配置文件基础配置
扩展文件配置信息:
/etc/nginx/conf.d/default.conf
[root@web02 conf.d]# cat default.conf
server {
listen 80; --- 指定服务监听端口号 默认是80
server_name www.xxx.com; --- 配置网站域名信息
location / {
root /html/; --- 站点目录信息
index index.html index.html; --- 指定首页文件 首页文件不存在,访问网站会报403错误
error_page 404 500 502 503 504 /xxx.jpg; --- 优雅显示错误页面配置
}
}
补充说明:
(1) nginx进程信息
master进程: 控制nginx服务运行状态
worker进程: 处理用户访问网站请求
(2) nginx配置文件语法规范
a 指令信息结尾必须有分号
b 括号信息必须成对出现
(3) nginx配置区域说明:
a) 主区域配置 配置错误日志 进程信息 worker进程用户
b) 事件区域配置 配置worker进程连接数信息
c) HTTP 区域 配置功能参数 优化有关系
d) server 区域 配置网站功能参数
e) if 区域 判断区域 ???
f) locatio 区域 可以把不同方式的请求,定位到不同的处理方式上.( location 的匹配顺序是“先匹配正则,再匹配普通”)
location ~* /js/.*/\.js
以 = 开头,表示精确匹配;如只匹配根目录结尾的请求,后面不能带任何字符串。
以^~ 开头,表示uri以某个常规字符串开头,不是正则匹配
以~ 开头,表示区分大小写的正则匹配;
以~* 开头,表示不区分大小写的正则匹配
以/ 开头,通用匹配, 如果没有其它匹配,任何请求都会匹配到
系统打开文件数
程序运行起来,程序会打开相应文件 每打开一个便计做一个文件数
ulimit -a 查看最大文件数
如果打开系统文件数不足 会导致有些服务不能够运行
修改文件打开数最大值
echo '* - nofile 65535' >>/etc/security/limits.conf