Ubuntu 本地编译安装 Nginx

在 Ubuntu 上本地编译安装 Nginx 主要包括以下几个步骤:

1. 安装必要的依赖

sudo apt update
sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
  • build-essential:用于编译软件
  • libpcre3libpcre3-dev:支持正则表达式(Nginx 使用它处理 HTTP 解析)
  • zlib1gzlib1g-dev:用于压缩功能
  • libssl-dev:用于支持 HTTPS(SSL/TLS)

2. 下载 Nginx 源码

Nginx 官网 获取最新稳定版:

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

(请检查 Nginx 官网是否有新版本,替换 nginx-1.24.0


3. 配置编译选项

./configure --prefix=/usr/local/nginx \
            --sbin-path=/usr/local/nginx/sbin/nginx \
            --conf-path=/usr/local/nginx/conf/nginx.conf \
            --pid-path=/var/run/nginx.pid \
            --lock-path=/var/lock/nginx.lock \
            --error-log-path=/var/log/nginx/error.log \
            --http-log-path=/var/log/nginx/access.log \
            --with-http_ssl_module \
            --with-http_v2_module \
            --with-http_gzip_static_module \
            --with-stream \
            --with-stream_ssl_module
  • --prefix=/usr/local/nginx 指定安装目录
  • --with-http_ssl_module 支持 HTTPS
  • --with-http_v2_module 支持 HTTP/2
  • --with-http_gzip_static_module 开启 gzip 静态文件压缩
  • --with-stream--with-stream_ssl_module 支持 TCP/UDP 代理

4. 编译并安装

make -j$(nproc)
sudo make install

其中 -j$(nproc) 让编译过程利用所有 CPU 线程,加快编译速度。


5. 启动 Nginx

/usr/local/nginx/sbin/nginx

检查是否启动成功:

ps aux | grep nginx

6. 配置开机启动(可选)

创建 Systemd 服务文件:

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

添加以下内容:

[Unit]
Description=Nginx - high performance web 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=/var/run/nginx.pid
Restart=always

[Install]
WantedBy=multi-user.target

然后启用:

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

7. 测试 Nginx

curl -I http://localhost

如果返回 HTTP/1.1 200 OK,说明 Nginx 启动成功。

可以通过 http://<服务器IP> 访问 Nginx 默认页面。


8. 配置环境变量(可选)

如果希望全局可用 nginx 命令:

echo 'export PATH=$PATH:/usr/local/nginx/sbin' >> ~/.bashrc
source ~/.bashrc

这样就可以直接运行:

nginx -v

如果有额外的需求(比如添加更多模块),可以调整 ./configure 选项,重新编译安装。

posted @   槑孒  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2022-03-03 Python | 实现字典倒序输出
点击右上角即可分享
微信分享提示