Ubuntu 本地编译安装 Nginx
在 Ubuntu 上本地编译安装 Nginx 主要包括以下几个步骤:
1. 安装必要的依赖
sudo apt update
sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
build-essential
:用于编译软件libpcre3
和libpcre3-dev
:支持正则表达式(Nginx 使用它处理 HTTP 解析)zlib1g
和zlib1g-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
选项,重新编译安装。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2022-03-03 Python | 实现字典倒序输出