Linux部署Nginx有两种方式:yum安装适用于CentOS/RHEL等发行版,步骤包括更新系统、安装EPEL源、安装Nginx、启动并验证服务;源码编译安装支持自定义模块与优化,需安装依赖、创建用户、下载解压源码、配置编译参数、编译安装并配置systemd服务;最后均需验证端口监听、欢迎页访问、防火墙放行、配置语法及HTTP响应。

如果您需要在Linux系统中部署Nginx作为Web服务,可选择源码编译安装或使用包管理器(如yum)进行安装。两种方式适用不同场景:编译安装便于自定义模块与优化参数,yum安装则更快速且易于维护。以下是具体操作步骤:
一、使用yum安装Nginx
yum安装依赖于系统已配置的软件仓库,适用于CentOS/RHEL 7/8及AlmaLinux/Rocky Linux等兼容发行版,安装过程自动处理依赖并完成基础配置。
1、更新系统软件包索引:
执行命令 sudo yum update -y。
2、安装EPEL扩展源(CentOS 7需执行,RHEL 8+或AlmaLinux默认已启用):
执行命令 sudo yum install epel-release -y。
3、安装Nginx主程序:
执行命令 sudo yum install nginx -y。
4、启动Nginx服务并设置开机自启:
执行命令 sudo systemctl start nginx && sudo systemctl enable nginx。
5、验证服务状态:
执行命令 sudo systemctl status nginx,确认输出中显示“active (running)”。
二、源码编译安装Nginx
源码编译安装允许指定安装路径、启用第三方模块(如nginx-rtmp-module)、关闭不需要的功能,并适配特定CPU指令集,适合对性能与功能有定制化需求的环境。
1、安装编译依赖工具与库:
执行命令 sudo yum groupinstall "Development Tools" -y。
2、安装Nginx运行所需的基础库:
执行命令 sudo yum install pcre-devel zlib-devel openssl-devel -y。
3、创建专用用户以降低安全风险:
执行命令 sudo useradd -r -s /sbin/nologin nginx。
4、下载Nginx源码包(以1.24.0版本为例):
执行命令 wget https://nginx.org/download/nginx-1.24.0.tar.gz。
5、解压并进入源码目录:
执行命令 tar -zxvf nginx-1.24.0.tar.gz && cd nginx-1.24.0。
6、配置编译参数(指定安装路径、用户、启用HTTP模块):
执行命令 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module。
7、编译并安装:
执行命令 make && sudo make install。
8、创建systemd服务单元文件以便系统管理:
执行命令 sudo tee /etc/systemd/system/nginx.service ,随后逐行输入以下内容:
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=TERM
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
EOF。
9、重载systemd配置并启动服务:
执行命令 sudo systemctl daemon-reload && sudo systemctl start nginx && sudo systemctl enable nginx。
三、验证Nginx安装结果
无论采用哪种安装方式,均需确认Nginx进程正常监听80端口,并能响应HTTP请求,确保基础Web服务能力可用。
1、检查80端口监听状态:
执行命令 sudo ss -tuln | grep :80,确认输出包含nginx进程绑定信息。
2、查看Nginx默认欢迎页是否可访问:
在本地浏览器中输入服务器IP地址,确认显示“Welcome to nginx!”页面。
3、若使用防火墙(firewalld),需放行HTTP服务:
执行命令 sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --reload。
4、检查Nginx主配置文件语法是否正确:
执行命令 sudo nginx -t,返回“syntax is ok”和“test is successful”表示无误。
5、手动发送HTTP请求验证响应头:
执行命令 curl -I http://127.0.0.1,确认返回状态码为200及Server头含“nginx”字样。










