Instalasi Nginx dari source

By | August 31, 2020

Nama Nginx sudah mulai dikenal bagi yang ingin menghosting website di VPSnya, ini dikarenakan reputasinya sebagai web server yang ringan tapi memiliki performa maksimal. Sebenarnya cara installnya sendiri di Linux cukup mudah – tidak ada perbedaan signifikan antar distro – dan versi yang disediakan dari repository bisa dikatakan baru tapi dari stable bukan yang terbaru dari mainline. Kalau kita benar – benar ingin memanfaatkan nginx dengan fitur – fitur baru dan perbaikannya maka bisa mencoba mengcompilenya sendiri dari source code.

Keunggulan instalasi dari Nginx adalah kita bisa benar – benar menyetel konfigurasi dan fitur web servernya dari awal, karena default yang disediakan dari repository seingat saya dulu tidak ada fitur IPv6, SPDY (sekarang menjadi HTTP/2) dan PageSpeed Module. Sekarang mungkin sudah berubah, setidaknya harapan saya minimal bisa IPv6 karena sudah mulai populer digunakan.

Kekurangannya juga terletak pada compilenya ini, karena setiap kali ada update kita tidak bisa melakukan apt-get upgrade atau yum update, harus diulangi lagi prosesnya dari awal. Bisa merepotkan dan ada resiko downtime.

Nah… dalam tutorial saya sebelumnya hanya mengkonfigurasikan Nginx dengan PageSpeed Module dan ini sangatlah tidak ideal untuk penggunaannya sebagai web server. Sehingga ini saya gunakan untuk mencatat konfigurasi Nginx saat kompilasi source codenya. Biar tidak lupa pas saya ingin tahu dulu menambahkan parameter apa saja. Singkatnya: Ini cara install Nginx dari source yang lengkap. Menurut saya setidaknya. 🙂

Persiapan sebelum kompilasi Nginx

Biasanya pada template OS default VPS sudah ada Apache, perlu kita hapus dulu atau ganti Nginx aktif di port selain 80 agar tidak konflik. Disini saya menghapusnya:

  • CentOS/RHEL/Fedora
    yum remove httpd

  • Debian/Ubuntu/Mint
    apt-get purge httpd

Seperti biasa turuti dulu syarat – syaratnya:

  • CentOS/RHEL/Fedora
    yum install gcc-c++ pcre-devel zlib-devel make unzip

  • Debian/Ubuntu/Mint
    apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip

Karena ini versi yang lebih lengkap maka kita mempersiapkan dulu PageSpeed Module:

cd
NPS_VERSION=1.9.32.10
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${NPS_VERSION}-beta.zip
unzip release-${NPS_VERSION}-beta.zip
cd ngx_pagespeed-release-${NPS_VERSION}-beta/
wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
tar -xzvf ${NPS_VERSION}.tar.gz

Lakukan secara berurutan. Versi PageSpeed Module yang digunakan adalah 1.9.32.10 dan bisa anda gantikan angkanya di variabel NPS_VERSION, tinggal cek versi terbarunya saja.

Perjuangan instalasi Nginx dimulai

Akhirnya kita akan menjalankan proses compile Nginx ditambahkan modul – modul pihak ketiga yang penting:

cd
NGINX_VERSION=1.9.6
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
tar -xvzf nginx-${NGINX_VERSION}.tar.gz
cd nginx-${NGINX_VERSION}/

./configure \
--prefix=/usr/local/share/nginx \
--conf-path=/etc/nginx/nginx.conf \
--sbin-path=/usr/local/sbin \
--error-log-path=/var/log/nginx/error.log \
--with-openssl=/usr/bin/openssl \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module
--with-http_stub_status_module \
--with-file-aio \
--with-pcre \
--with-ipv6 \
--add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}-beta

make
make install

Jalankan secara berurutan juga. Versi Nginx yang saya gunakan adalah terbaru mainline: 1.9.6, bisa anda ubah ke versi lain dari halaman downloadnya. Gantikan saja angka dalam variabel NGINX_VERSION.

Persiapkan VPS anda

Sekarang kita perlu membuat init.d script untuk dijalankan saat startup server:

nano /etc/init.d/nginx

Isinya silahkan dicopy-paste dari catatan saya sebelumnya.

Kemudian eksekusi perintah berikut secara berurutan:

useradd -r nginx
chmod +x /etc/init.d/nginx
chkconfig --add nginx
chkconfig --level 345 nginx on

Selanjutnya silahkan jalankan daemon nginx:

service nginx start

Yak, sudah selesai perjuangan kita. Untuk mengedit konfigurasi Nginx bisa dicek pada direktori /etc/nginx dan untuk virtual host defaultnya ada di /usr/local/nginx.

Ini masih cara instalasi, belum setting Nginxnya sendiri disambungkan dengan PHP-FPM dan database server MySQL misalnya. Semoga ada waktu untuk menulisnya. Haha. 😀

Semoga bermanfaat. 🙂


Sumber https://servernesia.com