centos7 nginx 编译安装Brotli

内容目录

要在 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 服务文件

  1. 创建一个名为 nginx.service 的文件:

    mkdir -pv /usr/local/nginx/logs
    sudo vi /etc/systemd/system/nginx.service
  2. 在文件中添加以下内容:

    [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 服务并启动

  1. 启用 Nginx 服务,使其在开机时自动启动:

    sudo systemctl enable nginx
  2. 启动 Nginx 服务:

    sudo systemctl start nginx

步骤 4:检查 Nginx 服务状态

可以使用以下命令检查 Nginx 服务的状态:

sudo systemctl status nginx

验证 Nginx 是否已成功配置为开机启动

重启系统以验证 Nginx 是否会在开机时自动启动:

sudo reboot

重启后,登录系统并检查 Nginx 服务状态:

sudo systemctl status nginx

如果服务状态为 active (running),则表明 Nginx 已成功配置为开机启动。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注