侧边栏壁纸
博主头像
Awesome Devin 博主等级

行动起来,活在当下

  • 累计撰写 345 篇文章
  • 累计创建 26 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

Ubuntu 24.04上编译安装Nginx 1.29.4(截至到2025年12月22日最新稳定版)

Administrator
2025-12-22 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

Ubuntu 24.04上编译安装Nginx 1.29.4(截至到2025年12月22日最新稳定版)

你好!看到你想要在Ubuntu 24.04上编译安装Nginx 1.29.4,我来给你提供一份超详细的指南。Nginx 1.29.4是最新稳定版,于2025年12月11日发布,支持HTTP/2后端与加密客户端问候(ECH)等重要特性,绝对是目前最全面的Nginx版本!

为什么选择编译安装?

  • ✅ 自定义模块,满足特定需求
  • ✅ 启用最新特性(HTTP/2后端、ECH加密客户端问候)
  • ✅ 针对Ubuntu 24.04优化
  • ✅ 比apt安装的版本更完整

一、准备工作

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装编译依赖

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

💡 小贴士:Ubuntu 24.04默认已包含这些依赖,但确保安装最新版本很重要。

二、下载并编译Nginx 1.29.4

1. 下载源码

wget https://nginx.org/download/nginx-1.29.4.tar.gz
tar -zxvf nginx-1.29.4.tar.gz
cd nginx-1.29.4

2. 配置编译选项(最全版)

./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-http_stub_status_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_auth_request_module \
--with-http_secure_link_module \
--with-http_image_filter_module \
--with-http_slice_module \
--with-threads \
--with-stream \
--with-mail \
--with-mail_ssl_module \
--with-pcre \
--with-pcre-jit \
--with-http_geoip_module \
--with-http_perl_module \
--with-http_random_index_module \
--with-openssl-opt='enable-ec_nistp_64_gcc_128'

📌 重要提示--with-openssl-opt='enable-ec_nistp_64_gcc_128'是Nginx 1.29.4推荐的优化参数,能提升TLS性能。

3. 编译安装

make -j $(nproc)  # 使用所有CPU核心加速编译
sudo make install

三、配置系统服务

1. 创建Nginx系统用户

sudo useradd -s /sbin/nologin -M nginx

2. 创建systemd服务文件

sudo nano /etc/systemd/system/nginx.service

添加以下内容:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

3. 启动并设置开机自启

sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx

四、验证安装

# 检查Nginx版本
/usr/local/nginx/sbin/nginx -v

# 检查配置文件语法
/usr/local/nginx/sbin/nginx -t

# 检查服务状态
sudo systemctl status nginx

# 测试默认页面
curl http://localhost

五、关键安全配置

编辑配置文件 /usr/local/nginx/conf/nginx.conf

# 隐藏版本信息
server_tokens off;

# 安全加固
client_max_body_size 10m;
limit_conn_zone $binary_remote_addr zone=addr:10m;
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";

六、为什么选择Nginx 1.29.4?

最新版1.29.4带来了多项重要特性:

  • ✅ 支持HTTP/2后端通信(Nginx作为HTTP/2客户端)
  • ✅ 加密客户端问候(ECH)集成(提升TLS握手安全性)
  • ✅ SSL、HTTP/2、代理模块多方改进
  • ✅ QUIC协议修复,提高稳定性
  • ✅ 修复了多个安全漏洞

🌟 Ubuntu 24.04特别提示:Ubuntu 24.04使用systemd作为默认初始化系统,与旧版本的init.d脚本不同,所以配置systemd服务是关键步骤。

七、常见问题解决

  1. 编译报错缺少依赖:确保已安装所有依赖(build-essential等)

    sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev  libperl-dev wget
    
  2. 端口占用:检查是否有其他程序占用80端口

    sudo ss -tulpn | grep ':80'
    
  3. 权限问题:确保目录属于nginx用户

    sudo chown -R nginx:nginx /usr/local/nginx
    
  4. 防火墙配置:Ubuntu 24.04默认使用ufw

    sudo ufw allow 'Nginx Full'
    sudo ufw reload
    

八、Nginx 1.29.4 vs Ubuntu 24.04官方仓库

项目Ubuntu 24.04官方仓库编译安装Nginx 1.29.4
版本通常为1.25.x左右1.29.4(最新稳定版)
HTTP/2后端支持不支持✅ 支持
ECH加密客户端问候不支持✅ 支持
模块支持有限✅ 最全
安全性基本✅ 最新修复

结语

在Ubuntu 24.04上编译安装Nginx 1.29.4,不仅能获得最新功能,还能确保安全性和性能。相比apt安装,编译安装让你能完全掌控Nginx的特性。

🌈 小建议:如果你是新手,可以先用apt安装(sudo apt install nginx)体验基础功能,但要发挥Nginx全部潜力,强烈推荐使用源码编译安装

0
博主关闭了所有页面的评论