Pythontr

husonet | Tarih: 01.06.2026

Nginx/1.31.1 üzerine brotli kurulumu

Adım adım Nginx/1.31.1 üzerine brotli kurulumu ve yapılandırması.

Daha önce http3 desteği için bir yazı yazmıştık https://www.pythontr.com/makale/nginix-brotli-ve-http3-kurulumu-694 ngixn/1.31.1 versiyonu http3 desteği ile geliyor bu yüzden bu konumuz bu versiyon üzerinde bunun brotli ve boringssl kurulumları üzerine olacktır.


su -
cd ~/Download

## 1. MaxMind Hesabı Aç (Ücretsiz)


1. https://www.maxmind.com/en/geolite2/signup adresinden kayıt ol
2. Giriş yap → **Account → Manage License Keys → Generate new license key**
3. `AccountID` ve `LicenseKey`'i not al


---


## 2. `geoipupdate` Aracını Kur


```bash
apt install geoipupdate
```


---


## 3. Config Dosyasını Düzenle


City veritabanını da ekle (diğer siteler `$geoip_city` kullanıyor):


```bash
nano /etc/GeoIP.conf
```


```
AccountID YOUR_ACCOUNT_ID
LicenseKey YOUR_LICENSE_KEY
EditionIDs GeoLite2-Country GeoLite2-City
```


---


## 4. Veritabanlarını İndir


```bash
geoipupdate -v
```


Dosyalar şuraya oluşur:


- `/var/lib/GeoIP/GeoLite2-Country.mmdb`
- `/var/lib/GeoIP/GeoLite2-City.mmdb`


---


apt-get update
apt-get install -y git gcc make g++ cmake perl libunwind-dev golang
apt install libmaxminddb-dev

wget http://nginx.org/download/nginx-1.31.1.tar.gz
tar -zxvf nginx-1.31.1.tar.gz
cd nginx-1.31.1
git clone --recursive https://github.com/google/ngx_brotli.git
git clone -b openssl-3.0 https://github.com/openssl/openssl openssl-3.0
git clone https://github.com/leev/ngx_http_geoip2_module.git

./configure \
  --prefix=/etc/nginx \
  --sbin-path=/usr/sbin/nginx \
  --modules-path=/usr/lib/nginx/modules \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx.pid \
  --lock-path=/var/run/nginx.lock \
  --http-client-body-temp-path=/var/cache/nginx/client_temp \
  --http-proxy-temp-path=/var/cache/nginx/proxy_temp \
  --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
  --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
  --http-scgi-temp-path=/var/cache/nginx/scgi_temp \
  --user=nginx \
  --group=nginx \
  --with-compat \
  --with-file-aio \
  --with-threads \
  --with-http_addition_module \
  --with-http_auth_request_module \
  --with-http_dav_module \
  --with-http_flv_module \
  --with-http_gunzip_module \
  --with-http_gzip_static_module \
  --with-http_mp4_module \
  --with-http_random_index_module \
  --with-http_realip_module \
  --with-http_secure_link_module \
  --with-http_slice_module \
  --with-http_ssl_module \
  --with-http_stub_status_module \
  --with-http_sub_module \
  --with-http_v2_module \
  --with-http_v3_module \
  --with-mail \
  --with-mail_ssl_module \
  --with-stream \
  --with-stream_realip_module \
  --with-openssl=openssl-3.0 \
  --with-stream_ssl_module \
  --with-stream_ssl_preread_module \
  --with-cc-opt='-g -O2 -ffile-prefix-map=/data/builder/debuild/nginx-1.31.1/debian/debuild-base/nginx-1.31.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fPIC' \
  --with-ld-opt='-Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie' \
  --with-http_image_filter_module \
  --with-http_geoip_module \
  --with-stream_geoip_module \
  --add-module=./ngx_brotli \
  --add-module=./ngx_http_geoip2_module
make

cp objs/nginx /usr/sbin/nginx

vim /etc/nginx/nginx.conf
    brotli on;
    brotli_comp_level 6;
    brotli_static on;
    brotli_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/x-icon image/vnd.microsoft.icon image/png image/gif image/webp image/jpeg image/bmp image/svg+xml;