文章目录

  • 前言
  • 一、性能优势/运行原理/应用场景
  • 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日志分割升级版!无需考虑脚本存放路径!


六、结语

  • 心得:配置文件只有自己改了,才能加深印象