内容目录
要在 Nginx 中编译安装 Brotli 模块,可以按照以下步骤进行操作:
步骤 1:准备环境
首先,确保你的系统安装了必要的编译工具和库。对于 Debian/Ubuntu 系统,可以使用以下命令安装这些工具:
sudo apt update
sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev git
对于 CentOS/RHEL 系统,可以使用以下命令:
sudo yum groupinstall -y "Development Tools"
sudo yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel git
步骤 2:下载 Nginx 源代码和 Brotli 模块
下载 Nginx 源代码和 Brotli 模块。假设我们使用最新版本的 Nginx 和 Brotli 模块:
# 下载 Nginx 源代码
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
# 克隆 Brotli 模块
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
cd ..
# 下载zlib
wget https://zlib.net/zlib-1.3.1.tar.gz
tar -zxvf zlib-1.3.1.tar.gz
cd ..
确保安装 Brotli 库
1. 下载并安装 Brotli
首先,从源代码编译安装 Brotli。确保你有 cmake
工具。如果没有,先安装 cmake
:
Debian/Ubuntu:
sudo apt update
sudo apt install -y cmake
CentOS/RHEL:
sudo yum install -y cmake3
2. 下载并编译 Brotli:
# 克隆 Brotli 源代码
git clone https://github.com/google/brotli.git
cd brotli
# 创建编译目录并进入
mkdir out && cd out
# 生成 Makefile
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/lib64/
# 编译并安装
make
sudo make install
# 确保库文件已安装到系统路径
sudo ldconfig
步骤 3:编译 Nginx 并启用 Brotli 模块
进入 Nginx 源代码目录,并配置 Nginx,使其包含 Brotli 模块:
cd nginx-1.24.0
# 配置 Nginx,添加 Brotli 模块
./configure --prefix=/usr/local/nginx \
--add-module=../ngx_brotli \
--with-http_ssl_module \
--with-pcre \
--with-zlib=../zlib-1.3.1 # 假设你已经下载并解压了 zlib 源代码
# 编译并安装 Nginx
make
sudo make install
步骤 4:配置 Nginx 使用 Brotli
编辑 Nginx 配置文件,启用 Brotli 压缩。假设你的 Nginx 配置文件位于 /usr/local/nginx/conf/nginx.conf
:
sudo vi /usr/local/nginx/conf/nginx.conf
在 http
区块中添加以下配置:
http {
# 其他配置项...
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript application/x-font-ttf font/opentype image/svg+xml image/x-icon;
# 其他配置项...
}
步骤 5:启动或重启 Nginx
完成配置后,启动或重启 Nginx:
sudo /usr/local/nginx/sbin/nginx -s reload
这样,你就成功在 Nginx 中编译并安装了 Brotli 模块,并启用了 Brotli 压缩。
创建 Nginx 的开机启动项,可以按照以下步骤进行操作。这里以 systemd 为例,这是大多数现代 Linux 发行版(如 Debian、Ubuntu、CentOS 和 Fedora)所使用的初始化系统。
步骤 1:创建 systemd 服务文件
-
创建一个名为
nginx.service
的文件:mkdir -pv /usr/local/nginx/logs sudo vi /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 PIDFile=/usr/local/nginx/logs/nginx.pid Restart=on-failure [Install] WantedBy=multi-user.target
步骤 2:重新加载 systemd 配置
sudo systemctl daemon-reload
步骤 3:启用 Nginx 服务并启动
-
启用 Nginx 服务,使其在开机时自动启动:
sudo systemctl enable nginx
-
启动 Nginx 服务:
sudo systemctl start nginx
步骤 4:检查 Nginx 服务状态
可以使用以下命令检查 Nginx 服务的状态:
sudo systemctl status nginx
验证 Nginx 是否已成功配置为开机启动
重启系统以验证 Nginx 是否会在开机时自动启动:
sudo reboot
重启后,登录系统并检查 Nginx 服务状态:
sudo systemctl status nginx
如果服务状态为 active (running)
,则表明 Nginx 已成功配置为开机启动。
近期评论