GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Nginx Dengan Modul GeoIP

Dalam tutorial ini, kami akan menunjukkan cara menginstal Modul Nginx Dengan GeoIP di CentOS.  Bagi Anda yang belum tahu, modul GeoIP Nginx untuk penargetan geografis negara dan kota dapat diinstal dalam beberapa langkah mudah. ​​Ini memberi Anda lapisan penargetan geografis yang memungkinkan Anda menampilkan beberapa bagian situs web Anda, atau bahkan membagi lalu lintas menurut lokasi geografis pengguna akhir. Secara default, saat Anda menginstal modul dari yum , Nginx tidak akan datang dengan modul GeoIP (Ini adalah modul:HttpGeoipModule), jadi kami akan menginstal dari sumber dan mengaktifkan modul.

Artikel ini mengasumsikan Anda memiliki setidaknya pengetahuan dasar tentang Linux, tahu cara menggunakan shell, dan yang terpenting, Anda meng-host situs Anda di VPS Anda sendiri. Instalasi cukup sederhana dan mengasumsikan Anda sedang berjalan di akun root, jika tidak, Anda mungkin perlu menambahkan 'sudo ' ke perintah untuk mendapatkan hak akses root. Saya akan menunjukkan kepada Anda melalui langkah-langkah instalasi Modul Nginx Dengan GeoIP pada sistem CentOS.

Instal Nginx Dengan Modul GeoIP

Langkah 1. Pertama, mari kita mulai dengan memastikan sistem Anda mutakhir.

sudo yum install epel-release
sudo yum update

Langkah 2. Menginstal Semua Membutuhkan Ketergantungan.

Sekarang instal membutuhkan paket untuk kompilasi:

yum install gcc-c++ pre pcre-devel zlib zlib-devel -y

Langkah 3. Unduh dan Instal Nginx.

Sekarang kami mengunduh Nginx versi stabil terbaru dari sini dan membangunnya dengan dukungan modul GeoIP.

cd /opt/nginx/
wget https://nginx.org/download/nginx-1.21.5.tar.gz
tar -zxf nginx-1.21.5.tar.gz
cd nginx-1.21.5/
./configure
--prefix=/etc/nginx \
--sbin-path=/etc/nginx/sbin/nginx \
--conf-path=/etc/nginx/conf/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/ninx.lock \
--user=nobody \
--with-http_geoip_module \
--with-http_gzip_static_module \
--with-http_secure_link_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module \
--without-http_ssi_module

Setelah selesai dikompilasi, selanjutnya instal Nginx menggunakan perintah berikut:

make
make install

Langkah 4. Buat skrip init untuk Nginx.

Pertama, tambahkan pengguna Nginx ke sistem. Ini adalah perintah satu kali:

useradd -r nginx

Kita perlu mengatur file /etc/init.d/nginx untuk dijalankan saat sistem mulai:

wget -O /etc/init.d/nginx https://gist.github.com/sairam/5892520/raw/b8195a71e944d46271c8a49f2717f70bcd04bf1a/etc-init.d-nginx
chmod 0755 /etc/init.d/nginx
chown root:root /etc/init.d/nginx

Akhirnya, mulai Nginx:

systemctl restart nginx

Langkah 5. Memasang pustaka GeoIP pada sistem CentOS.

Sekarang jalankan perintah berikut untuk menginstal perpustakaan GeoIP

sudo yum install geoip geoip-devel

Setelah instalasi berhasil, perpustakaan akan disimpan di /usr/share/GeoIP/GeoIP.dat Untuk update terbaru bisa di download disini.

Langkah 5. Konfigurasi Nginx

Selanjutnya, kita konfigurasikan file utama:

nano /etc/nginx/conf/nginx.conf

Tambahkan file berikut:

http {
[...]
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default yes;
CN no;
}
[...]
}

Setelah itu, kita konfigurasikan virtual host Nginx:

nano /etc/nginx/conf.d/yourdomain.conf

Tambahkan baris berikut:

server {
[...]
if ($allowed_country = no) {
return 444;
# # This means the server will stop processing, returns error 444 (The connection was reset),
# # And ignore always sending the response header.
# # Replace 444 by 403 if you want
}
[...]
}

Konfigurasi di atas akan menerima semua IP dan hanya melarang dari IP China (CN). Tentang Kode negara di database GeoIP, Anda dapat merujuk di sini.

Selamat! Anda telah berhasil menginstal Nginx With GeoIP Module. Terima kasih telah menggunakan tutorial ini untuk menginstal Nginx With GeoIP Module pada sistem Linux. Untuk bantuan tambahan atau informasi berguna, kami sarankan Anda memeriksa official Situs web Nginx.


Cent OS
  1. Cara Menginstal WordPress dengan Nginx di CentOS 7

  2. Cara Instal phpMyAdmin dengan Nginx di CentOS 7 / RHEL 7

  3. Cara Memasang Sitemagic CMS di CentOS 7 – Dengan Nginx

  1. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  2. Cara Menginstal Nginx dengan Modul RTMP di CentOS 7

  3. Cara Menginstal SuiteCRM dengan Nginx di CentOS 7

  1. Cara Menginstal MediaWiki dengan Nginx di CentOS 7

  2. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10