Nginx (Engine X) 是一款高性能的 HTTP/反向代理 服务器及电子邮件(IMAP/POP3/SMTP)代理服务器。
核心特性
高性能架构:采用模块化、事件驱动、异步、单线程及非阻塞架构。
资源极低:在高并发下保持极低的内存消耗和 CPU 占用。
多路复用:大量采用
epoll(Linux)等事件通知机制。发展历程:由 Igor Sysoev 开发,2004 年发布首个版本。截至 2023 年 6 月,稳定版已更迭至 1.25.0。
方案一:源码编译安装(以 v1.25.0 为例)
适用于需要极致性能优化、自定义模块(如 headers-more)的生产环境。
1. 快速执行命令
建议以 root 权限执行以下命令,确保依赖库下载完整:
cd /opt
# 1. 下载依赖包(zlib, pcre, openssl)
wget -c http://iso.sqlfans.cn/linux/zlib-1.2.11.tar.gz
wget -c http://iso.sqlfans.cn/linux/pcre-8.44.tar.gz
wget -c http://iso.sqlfans.cn/linux/openssl-1.1.1g.tar.gz
wget -c http://iso.sqlfans.cn/linux/nginx-1.25.0.tar.gz
wget -c http://iso.sqlfans.cn/linux/nginx_openssl_conf.conf
# 2. 获取并运行安装脚本
rm -f install_nginx_1.25.0.sh && wget -c http://iso.sqlfans.cn/linux/install_nginx_1.25.0.sh
chmod +x install_nginx_1.25.0.sh
sh ./install_nginx_1.25.0.sh
2. 彻底卸载
# 停止服务
/usr/local/nginx/sbin/nginx -s stop 2>/dev/null
# 清理安装目录与系统用户
rm -rf /usr/local/nginx
userdel -r nginx 2>/dev/null
# 移除开机自启项
sed -i '/nginx/d' /etc/rc.local
方案二:Docker 容器化安装
适用于微服务架构、快速交付以及需要保持宿主机环境洁净的场景。
1. 快速部署流程
# 1. 获取官方镜像
docker pull nginx:1.23.1
# 2. 准备宿主机目录(持久化配置与静态资源)
mkdir -p /data/docker/nginx/www
wget -c http://iso.sqlfans.cn/docker/yml/nginx.conf -O /data/docker/nginx/nginx.conf
# 3. 运行容器
# -p 映射端口,-v 挂载路径,--restart 保证开机自启
docker run -idt \
--name nginx \
-p 8009:8009 \
-v /data/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /data/docker/nginx/www:/data \
--restart always \
nginx:1.23.1
# 4. 验证版本
docker exec -it nginx nginx -v
2. 彻底卸载
docker stop nginx && docker rm nginx
# 删除相关镜像
docker rmi -f $(docker images | grep nginx | awk '{print $3}')
# 清理持久化数据目录
rm -rf /data/docker/nginx