Nginx 超全整理笔记(纠错+补全+源码部署流程+架构说明)
一、常见服务协议基础(运维必考)
-
DHCP:动态主机配置协议,自动给主机分配 IP、网关、DNS
-
DNS:域名解析协议,域名 ↔ IP 相互解析
-
FTP:文件传输协议,用于文件上传下载
-
NFS:网络文件共享,Linux 跨机器共享目录
-
SSH:远程安全连接协议,加密远程管理服务器
二、Nginx 基础介绍(修正原笔记错误)
1. Nginx 开发语言
Nginx 是 C语言开发的高性能 Web 服务软件
优势:执行效率极高、占用资源极低、并发能力极强
2. Nginx 三大核心功能(考试标准答案)
-
Web 静态资源服务(处理图片、html、js、css)
-
反向代理(核心功能)
-
负载均衡(多节点流量分发)
-
静态缓存(补充:前端缓存、加速访问、减轻后端压力)
3. Nginx 国内衍生版本
Tengine:淘宝基于 Nginx 二次开发的国产增强版 Nginx
三、计算机语言分类(修正你笔记不完整)
1. 系统级语言(底层、性能极高)
C、C++ —— 开发 Nginx、内核、底层软件
2. 应用级语言(开发业务系统)
Java、Go、C++
3. 脚本语言(解释型、无需编译)
Shell、Python、PHP、Perl
四、反向代理 标准定义(纠正模糊描述)
反向代理:代理服务器代替用户,向后端真实业务节点发起请求。
特点:
-
用户只访问 Nginx,看不到后端真实服务器
-
隐藏后端节点、保护后端、实现负载均衡
五、Nginx 核心优点(面试必背)
-
基于 C 语言开发:性能高、内存占用小
-
epoll 事件模型:Linux 最高效 IO 多路复用模型,支持高并发
-
超高并发能力:默认 3万+ 并发,优化后支持 10万+ 并发连接
-
模块化设计:功能按需开启、灵活扩展
-
稳定、可靠、宕机概率极低
六、主流 Web 服务软件区分(必考)
1. 静态资源处理(html/css/js/图片)
Nginx、Apache(httpd)
2. 动态资源处理(运行代码、业务逻辑)
-
Tomcat:专门运行 Java 程序(JSP)
-
PHP:运行 PHP 动态程序
-
IIS:Windows 网页服务
-
Weblogic:大型企业 Java 商用服务
七、主流网站架构 LNMP / LAMP / LNMT 完整释义(纠正你笔记)
1. LNMP 架构(PHP 业务主流)
-
L:Linux 系统
-
N:Nginx 反向代理+静态服务
-
M:MySQL 数据库
-
P:PHP 动态解析
2. LAMP 架构(老版本)
Linux + Apache + MySQL + PHP
3. LNMT 架构(Java 业务主流)
-
L:Linux
-
N:Nginx
-
M:MySQL
-
T:Tomcat(解析Java代码)
八、Nginx 源码编译完整部署流程(标准化、可直接考试默写)
1. 安装编译依赖
yum -y install gcc gcc-c++ make zlib zlib-devel openssl openssl-devel pcre-devel
作用:C编译器、解压依赖、ssl加密依赖、正则匹配依赖
2. 下载 Nginx 源码包
wget https://nginx.org/download/nginx-1.24.0.tar.gz
3. 解压到系统源码目录
tar xf nginx-1.24.0.tar.gz -C /usr/src/
4. 创建Nginx运行用户(安全规范,关键步骤)
useradd -s /sbin/nologin -M www
命令参数释义:
-
-s /sbin/nologin:指定用户禁止登录系统,保障服务器安全 -
-M:不自动创建用户家目录,极简部署、减少权限漏洞
作用:Nginx 以普通普通www用户运行,不使用root超级权限,防止权限溢出风险,生产环境强制规范。
5. 进入源码目录
cd /usr/src/nginx-1.24.0
cd /usr/src/nginx-1.24.0
5. 预编译配置(核心)
./configure \ --prefix=/usr/local/nginx \ --user=www \ --group=www \ --with-http_ssl_module \ --with-http_stub_status_module
参数解释:
-
--prefix:指定安装路径 -
--user --group:指定运行用户,提升安全 -
--with-http_ssl_module:开启HTTPS加密模块 -
--with-http_stub_status_module:开启状态监控模块
检测是否配置成功:
echo $?
返回0 成功,非0 失败
6. 编译 & 安装
make echo $? make install echo $?
7. 配置全局环境变量(任意目录可执行 nginx)
vi /etc/profile
末尾添加:
export PATH=$PATH:/usr/local/nginx/sbin
生效配置:
source /etc/profile
九、Nginx 重载、重启、终止命令(重点纠错)
1. 平滑重启(不中断用户业务)
kill -1 nginx进程ID kill -HUP nginx进程ID
作用:磁盘配置文件加载到运行进程,不停机
2. 强制杀死进程(生产禁止随便用)
kill -9 进程ID
作用:强制终止,会中断用户访问
十、Nginx systemd 开机自启文件(标准完整版)
路径:/usr/lib/systemd/system/nginx.service
[Unit] Description=Nginx web server daemon After=network.target sshd-keygen.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
生效自启命令
systemctl daemon-reload systemctl enable nginx systemctl start nginx
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)