1.nginx介绍和nginx的三种安装方式
一、前言
本文主要介绍
1.nginx的优点
2.nginx使用的模型
3.nginx的三种安装方式
1.默认的仓库(操作系统默认的仓库)(版本低,配置不易读)(不建议)
2.nginx的官方仓库安装(建议使用)
3.编译安装(自定义指定安装目录,配置文件目录等)
二、介绍
优点
1.轻量
Nginx非常轻量
功能模块少(源代码仅保留http与核心模块代码,其余不够核心代码会作为插件来安装)
2.模块化
代码模块化 (易读,便于二次开发,对于开发人员非常友好)
3.兼容性
适合当前主流架构趋势, 微服务、云架构、中间层
4.运维成本
统一技术栈, 降低维护成本*,* 降低技术更新成本。
模型
Nginx采用Epool网络模型,Apache采用Select模型
Select:
当用户发起一次请求,select模型就会进行一次遍历扫描,从而导致性能低下。
Epool:
当用户发起请求,epool模型会直接进行处理,效率高效,并无连接限制。
处理大量的连接的读写,Apache所采用的select网络I/O模型非常低效。
用一个比喻来解释Apache采用的select模型和Nginx采用的epoll模型进行之间的区别
假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之 一,select和epoll的性能谁的性能更高,同样十分明了。
nginx和apache的区别
Nginx
1.轻量
采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源
2.抗并发
nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,
3.处理静态文件能力强
静态处理性能比 apache 高三倍以上
4.配置简洁
nginx 配置简洁,正则配置让很多事情变得简单,而且改完配置能使用 -t 测试配置有没有问题,apache 配置复杂,重启的时候发现配置出错了,会很崩溃
5.负载均衡器
nginx 作为负载均衡服务器,支持 7 层负载均衡
nginx 本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器
6.启动容易,7*24小时运行
启动特别容易, 并且几乎可以做到 7*24 不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级
apache
1.rewirte能力强
apache 的 rewrite 比 nginx 强大,在 rewrite 频繁的情况下,用 apache
2.对php支持更加简单
apache 对 PHP 支持比较简单,nginx 需要配合其他后端用
二、官网
nginx官网:
https://nginx.org/
编译安装官网:
源码下载:
https://github.com/nginx/nginx/
https://nginx.org/download/
编译参数:(.configure的全部参数说明)
https://nginx.org/en/docs/configure.html
编译 nginx 源码需要 3 个基础库
https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/#install-nginx-dependencies
三、安装部署nginx
三种安装方式:
1.默认的仓库(操作系统默认的仓库)(版本低,配置不易读)(不建议)
2.nginx的官方仓库(建议使用)
3.编译安装(自定义指定安装目录,配置文件目录等)
Nginx 三种安装方式对比总结
| 对比维度 | 1. 默认系统仓库安装 | 2. 官方仓库安装 (推荐) | 3. 源码编译安装 |
|---|---|---|---|
| 获取方式 | 使用系统自带的源 (如 yum / apt) | 添加 Nginx 官方提供的源后,使用包管理器安装 | 下载 .tar.gz 源码包,使用 ./configure 和 make 编译 |
| 安装命令示例 | yum install nginx -y | 先装官方源包,再 yum install nginx -y | ./configure --prefix=... make && make install |
| 版本新旧 | ❌ 版本极低(系统求稳,往往落后几个大版本) | ✅ 版本较新(紧跟官方稳定版或主线版) | ✅ 版本自由(想用哪个版本就下哪个) |
| 安装/配置路径 | 分散,符合系统标准(如 /etc/nginx/) | 分散,符合系统标准(如 /etc/nginx/) | 🎯 高度集中(所有文件都在指定的 --prefix 目录下,如 /usr/local/nginx) |
| 配置文件易读性 | ❌ 极差(被严重拆分、include 到处都是) | ❌ 较差(同左,找配置容易迷路) | ✅ 极好(通常只有一个主 nginx.conf 和少部分辅助文件,结构清晰) |
| 模块定制能力 | ❌ 不可定制(只能使用官方打包好的固定模块) | ❌ 不可定制(只能使用官方打包好的固定模块) | ✅ 极高(按需 --with 添加或 --without 剔除,支持第三方模块如 Lua) |
| 依赖处理 | 自动处理依赖,一条命令搞定 | 自动处理依赖,配置好源后一条命令搞定 | 需手动安装编译依赖(gcc, pcre, zlib, openssl 等) |
| 服务管理 | ✅ 自带 systemd 脚本,直接用 systemctl start nginx | ✅ 自带 systemd 脚本,直接用 systemctl start nginx | ❌ 无自带脚本,需手动写 nginx.service 或使用二进制命令管理(如 nginx -s reload) |
| 后期升级 | 极简单(yum update),但升级后版本依然受限 | 极简单(yum update),可平滑更新到最新版 | 较繁琐(需下载新源码、重新编译、替换二进制文件并重启) |
| 适用场景 | 个人测试、内部非核心系统 | 🏆 绝大多数企业生产环境 | 需要特殊架构(如网关定制模块)、有严格目录洁癖、需深度定制的环境 |
方式一、默认仓库安装(不推荐)
📚环境说明:
| 服务器地址 | 操作系统 |
|---|---|
| 10.0.0.61 | ubt22.04 |
1.准备一台服务器,安装操作系统(我的这里是以ubt为例)

🖥️步骤
1.下载安装
[root@node61 ~]# apt -y install nginx
2.验证
[root@node61 ~]# nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
[root@node61 ~]#
默认支持systemd
[root@node61 ~]# systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2026-11-09 17:25:17 CST; 1min 19s ago
Docs: man:nginx(8)
Process: 2757 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 2758 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 2857 (nginx)
Tasks: 2 (limit: 2172)
Memory: 4.4M
CPU: 88ms
CGroup: /system.slice/nginx.service
├─2857 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─2862 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" >
Nov 09 17:25:17 node61 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 09 17:25:17 node61 systemd[1]: Started A high performance web server and a reverse proxy server.
[root@node61 ~]#

3.卸载
[root@node61 nginx]# apt -y remove nginx
[root@node61 nginx]# apt autoremove
本文作者吴玉桦,转载请标注原文链接。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)