文章目录
- 前言
- 一、性能优势/运行原理/应用场景
- 2.1 优势
- 2.2 原理
- 2.3 应用
- 三、LNMP部署教程
- 四、LNMP优化
- 4.1 配置优化
- 4.1.1 版本号隐藏
- 4.1.2 增加并发量/绑核
- 4.1.3 添加缓存
- 4.1.4 设置防盗链(rewrite)
- 4.1.5 日志分割(脚本)
- 六、结语
前言
本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。
一、性能优势/运行原理/应用场景
2.1 优势
- 量级轻、配置简单
- 成本低廉且开源
- 内存消耗低、10个Nginx约消耗150M
- 稳定性搞、宕机概率小
- 非阻塞、能处理高并发,约2-3w
- 有自我检查功能、可停用宕机服务器
2.2 原理
- 读取Nginx主配置文件:nginx.conf
- 调用fork函数创建子进程
- 子进程竞争accept链接
- 根据时间处理函数进行数据交换
- 主动/被动关闭链接
2.3 应用
- http静态页面处理服务器
- 虚拟主机:可基于端口、域名、IP三种形式创建虚拟主机
- 反向代理:通过反向代理做到负载均衡的效果
- 安全管理
三、LNMP部署教程
轻松便捷,自动化部署LNMP!
四、LNMP优化
4.1 配置优化
4.1.1 版本号隐藏
http{
server_tokens off;
#http配置中添加tokens模块,可选择关闭版本号显示,也可选择修改显示的版本
}
4.1.2 增加并发量/绑核
cat /proc/cpuinfo | grep -c "physical id"
#查看cpu核数
ps aux | grep nginx
#查看nginx主进程中有几个子进程
worker_processes 2;
#修改nginx.conf中分配给nginx的cpu线程数,一般与cpu线程总数相同或者2倍
worker_cpu_affinity 01 10;
#绑核,防止产生cpu惊醒现象,此时为2核的配置,若是4核则绑核的配置为 0001 0010 0100 1000;
worker_connections 1024;
#设置每个线程数所能处理的最大连接数
修改系统最大打开文件数的限制(Linux内核)
4.1.3 添加缓存
server{
location ~ \.(gif|jpg|png) {
expires 1d;
#调用expires模块,将匹配的内容缓存1天
}
}
4.1.4 设置防盗链(rewrite)
location/rewrite规则详解
4.1.5 日志分割(脚本)
nginx日志分割升级版!无需考虑脚本存放路径!
六、结语
- 心得:配置文件只有自己改了,才能加深印象