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;