nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Ubuntu下Nginx1.28.0源码编译安装与systemd管理

Ubuntu下Nginx1.28.0源码编译安装与systemd管理方式解读

作者:Hello.Reader

这篇文章主要介绍了Ubuntu下Nginx1.28.0源码编译安装与systemd管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

一、环境与依赖准备

为确保编译顺利,我们首先更新系统并安装必要的编译工具和库:

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

二、下载并解压 Nginx 源码

cd ~
wget http://nginx.org/download/nginx-1.28.0.tar.gz
tar zxvf nginx-1.28.0.tar.gz
cd nginx-1.28.0

若你已将源码包 nginx-1.28.0.tar.gz 放在本地目录,同样执行 tar zxvf 并进入解压后的目录即可。

三、配置编译选项

使用 ./configure 脚本为编译过程指定安装路径和所需模块。

本例中启用了 HTTP、SSL、HTTP/2、gzip、状态监控、异步 I/O、线程以及 Stream 模块等常用功能:

./configure \
  --prefix=/usr/local/nginx \
  --with-http_ssl_module \
  --with-http_v2_module \
  --with-http_gzip_static_module \
  --with-http_stub_status_module \
  --with-http_realip_module \
  --with-threads \
  --with-file-aio \
  --with-stream \
  --with-stream_ssl_module \
  --with-stream_realip_module

四、编译与安装

make
sudo make install

五、创建 systemd 服务单元

为了方便开机自启及系统统一管理,建议新建一个 systemd 服务文件:

sudo tee /etc/systemd/system/nginx.service > /dev/null << 'EOF'
[Unit]
Description=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
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true

[Install]
WantedBy=multi-user.target
EOF

随后执行:

sudo systemctl daemon-reload
sudo systemctl enable nginx

六、启动、重载与状态检查

sudo systemctl start nginx
sudo systemctl status nginx
sudo systemctl reload nginx
sudo systemctl stop nginx

七、防火墙设置与访问验证

如果系统启用了 UFW 防火墙,请放行 HTTP/HTTPS 端口:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

在浏览器中访问服务器 IP 或绑定的域名,若出现默认 Nginx 欢迎页,即代表安装部署成功。

八、常见故障排查

端口被占用

sudo lsof -i:80

如有其他服务占用,需停止或修改 Nginx 监听端口。

配置文件语法错误

/usr/local/nginx/sbin/nginx -t

检查并修正错误后再重载。

日志查看

总结

本文详细介绍了在 Ubuntu 上从源码编译安装 Nginx 1.28.0 的全流程,涵盖依赖环境准备、源码下载解压、配置编译选项、make 安装、systemd 服务管理及常见排错方法。

通过这种方式,你可以根据业务需求灵活定制 Nginx 功能,并更好地集成到生产运维体系中。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文