Ubuntu 24.04 安装 Nginx 1.29.6 完整版教程20260320

Ubuntu 24.04 安装 Nginx 1.29.6 完整版教程

一、准备工作

在开始安装前,请确保系统已更新至最新状态并安装必要的依赖工具:

sudo apt update && sudo apt upgrade -y

sudo apt install -y build-essential libpcre3-dev libssl-dev zlib1g-dev wget

说明:上述命令安装了编译所需的基础工具(build-essential)、正则表达式库(libpcre3-dev)、SSL加密库(libssl-dev)、压缩库(zlib1g-dev)及下载工具(wget)。

重要路径

  • 安装目录:/usr/local/nginx/
  • 配置文件:/usr/local/nginx/conf/nginx.conf
  • 网页目录:/usr/local/nginx/html/
  • 日志目录:/usr/local/nginx/logs/

二、下载 Nginx 1.29.6 源码包

从 Nginx 官方网站下载最新的稳定版源码:

wget http://nginx.org/download/nginx-1.29.6.tar.gz

下载完成后解压源码包:

tar -zxvf nginx-1.29.6.tar.gz

cd nginx-1.29.6

  • 配置编译参数(完整版功能)

cd /usr/local/src/nginx-1.29.6

执行以下命令配置 Nginx 功能模块,包含常用模块及完整功能支持:

./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_v2_module \

--with-http_realip_module \

--with-http_addition_module \

--with-http_sub_module \

--with-http_dav_module \

--with-http_flv_module \

--with-http_mp4_module \

--with-http_gunzip_module \

--with-http_gzip_static_module \

--with-http_random_index_module \

--with-http_secure_link_module \

--with-http_stub_status_module \

--with-http_auth_request_module \

--with-threads \

--with-stream \

--with-stream_ssl_module \

--with-stream_realip_module

参数说明

  • --prefix:指定安装路径(推荐/usr/local/nginx)
  • --user/--group:运行 Nginx 的用户及组(需提前创建)
  • --with-http_ssl_module:启用 HTTPS 支持
  • --with-stream:启用 TCP/UDP 代理功能
  • 其他模块:支持 URL 重写、压缩、视频流、状态监控等完整功能

四、编译与安装

执行编译并安装 Nginx:

make -j$(nproc) # 多线程编译,提升速度

make install

创建 Nginx 用户及组(若未创建):

useradd -r -s /sbin/nologin nginx

创建全局命令

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/nginx

五、配置系统服务

创建 systemd 服务文件以实现开机自启:

vi /etc/systemd/system/nginx.service

粘贴以下内容:

Unit

Description=Nginx HTTP Server

After=network.target

Service

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s stop

PrivateTmp=true

Install

WantedBy=multi-user.target

保存并退出后,重载 systemd 配置:

systemctl daemon-reload

systemctl enable --now nginx # 启用并启动服务

六、验证安装结果

检查 Nginx 版本及模块:

/usr/local/nginx/sbin/nginx -V

输出应包含nginx version: nginx/1.29.6及已配置的模块列表。

通过浏览器访问服务器 IP,若显示 "Welcome to nginx!" 页面,说明安装成功。

七、常用命令

  • 启动服务:sudo systemctl start nginx
  • 停止服务:sudo systemctl stop nginx
  • 重启服务:sudo systemctl restart nginx
  • 重新加载配置:sudo systemctl reload nginx
  • 查看状态:sudo systemctl status nginx

防火墙放行 80/443

ufw allow 80/tcp

ufw allow 443/tcp

验证:

curl http://localhost

八、注意事项

  1. 防火墙配置:若启用 UFW,需允许 HTTP(80)和 HTTPS(443)端口:
    sudo ufw allow 'Nginx Full'
  2. 配置文件路径:主配置文件位于/usr/local/nginx/conf/nginx.conf
  3. 日志文件路径:访问日志和错误日志位于/usr/local/nginx/logs/
  4. 升级方法:如需升级版本,需重新下载源码并重复编译安装步骤
相关推荐
大鱼>4 分钟前
eBPF内核编程:从TC到XDP的全栈可观测性
linux·服务器·php
sxstj22 分钟前
老旧电脑 Linux 系统完整推荐(按内存分档,新手友好)
linux
Lyra_Infra1 小时前
OpenClaw 服务异常故障分析报告
linux·人工智能
冷莫溪3 小时前
Zabbix——认识及部署Zabbix(基于Rocky9.7)
linux·运维·php·zabbix
风曦Kisaki3 小时前
Kubernetes(K8s)笔记Day03: Pod命名空间,标签,Pod 的调度,污点与容忍度,Pod 常见状态和重启策略,Pod 生命周期
linux·运维·笔记·docker·云原生·容器·kubernetes
xuhe23 小时前
一劳永逸!解决 AutoDL 系统盘(30GB)爆满与 pip 缓存迁移
linux·python·ai·jupyter
学无止境_永不停歇4 小时前
9. 缓冲区
linux·服务器·c++
dok124 小时前
Johannes 《Linux内核模块与设备驱动开发:编写Linux驱动程序》(4) devicefile 设备号相关
linux·运维·服务器
難釋懷4 小时前
Nginx内存缓存
nginx·缓存·junit
Fu2067214 小时前
结课项目考试
linux·运维·服务器