Nginx (engine x) adalah salah satu server web paling populer di dunia dan bertanggung jawab untuk meng-hosting beberapa situs dengan lalu lintas terbesar dan terbanyak di internet.

Nginx terkenal lebih ramah sumber daya daripada Apache dalam beberapa kasus, dan dapat digunakan sebagai web server maupun reversed proxy.

Dibandingkan dengan Apache, Nginx dapat menangani sejumlah besar koneksi konkuren dan memiliki jejak memori yang lebih kecil per koneksi.

Tutorial ini akan mengajarkan Anda cara menginstal dan mengelola Nginx di mesin CentOS 7 Anda.

Prasyarat

Sebelum memulai dengan tutorial, pastikan Anda masuk sebagai pengguna dengan hak istimewa sudo, dan Anda tidak memiliki Apache atau layanan lain yang berjalan pada port 80 atau 443.

Instal Nginx di CentOS

Ikuti langkah-langkah di bawah ini untuk menginstal Nginx di server CentOS Anda:

Paket Nginx tersedia di repositori EPEL. Jika Anda belum menginstal repositori EPEL, Anda dapat melakukannya dengan mengetik:

  1. Paket Nginx tersedia di repositori EPEL. Jika Anda belum menginstal repositori EPEL, Anda dapat melakukannya dengan mengetik:
    sudo yum install epel-release
  2. Instal Nginx dengan mengetikkan perintah yum berikut:
    sudo yum install nginx

    Jika ini adalah pertama kalinya Anda menginstal paket dari repositori EPEL, yum dapat meminta Anda untuk mengimpor kunci GPG EPEL :

    Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    Importing GPG key 0x352C64E5:
    Userid     : "Fedora EPEL (7) <[email protected]>"
    Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
    Package    : epel-release-7-9.noarch (@extras)
    From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    Is this ok [y/N]:

    Cukup ketik y dan tekan Enter untuk melanjutkan.

  3. Setelah instalasi selesai, aktifkan dan mulai layanan Nginx dengan:
    sudo systemctl enable nginx
    sudo systemctl start nginx

    Periksa status layanan Nginx dengan perintah berikut:

    sudo systemctl status nginx

    Outputnya akan terlihat seperti ini:

    ● nginx.service - The nginx HTTP and reverse proxy server
      Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
      Active: active (running) since Mon 2018-03-12 1648 UTC; 2s ago
      Process: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
      Process: 1675 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
      Process: 1673 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
    Main PID: 1680 (nginx)
      CGroup: /system.slice/nginx.service
              ├─1680 nginx: master process /usr/sbin/nginx
              └─1681 nginx: worker process
  4. Jika server Anda dilindungi oleh firewall, Anda harus membuka port HTTP (80) dan HTTPS (443). Gunakan perintah berikut untuk membuka port yang diperlukan:
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    
    sudo firewall-cmd --reload
  5. Untuk memverifikasi instalasi Nginx, buka http://alamat_ip_atau_domain di browser pilihan Anda, dan Anda akan melihat halaman selamat datang Nginx default seperti yang ditunjukkan pada gambar di bawah:

Manajemen Nginx service Dengan systemctl

Anda dapat menggunakan perintah systemctl untuk mengelola layanan Nginx, sama seperti unit systemd lainnya.

Untuk menghentikan Nginx service, ketik:

sudo systemctl stop nginx

Untuk memulai / start Nginx service, ketik:

sudo systemctl start nginx

Untuk restart / memuat ulang Nginx ketik :

sudo systemctl restart nginx

Reload Nginx service setelah Anda melakukan beberapa perubahan konfigurasi:

sudo systemctl reload nginx

Nonaktifkan Nginx untuk memulai otomatis saat boot:

sudo systemctl disable nginx

Dan untuk mengaktifkannya kembali:

sudo systemctl enable nginx

Struktur Dasar File Konfigurasi Nginx

  • File konfigurasi Nginx disimpan di direktori /etc/nginx.
  • File konfigurasi Nginx adalah /etc/nginx/nginx.conf.
  • File konfigurasi Server block (vhost) terletak dalam direktori /etc/nginx/conf.d. File-file konfigurasi yang ditemukan dalam direktori ini tidak digunakan oleh Nginx kecuali mereka ditautkan ke direktori /etc/nginx/sites-enabled.
  • Mengaktifkan server block dilakukan dengan membuat symlink (pointer) dari situs file konfigurasi di direktori /etc/nginx/conf.d ke direktori sites-enabled.
  • Untuk lebih mudah mengelola, gunakan nama domain untuk pemberian nama konfigurasi, semisal domain beritabebas.com maka file konfigurasi dapat bernama /etc/nginx/conf.d/beritabebas.com.conf
  • Direktori /etc/nginx/snippets berisi potongan konfigurasi yang dapat dimasukkan dalam file server block. Jika Anda menggunakan segmen konfigurasi berulang, maka Anda dapat merombak segmen tersebut menjadi potongan dan menyertakan file snippet ke server block.
  • File log nginx (access.log dan error.log) terletak di direktori /var/log/nginx/. Disarankan untuk membedakan antara accessdan file error log untuk setiap server block.
  • Anda dapat mengatur direktori root dokumen domain Anda ke lokasi yang Anda inginkan. Lokasi yang paling umum untuk webroot meliputi:
    • /home/<user_name>/<nama_situs>
    • /var/www/<nama_situs>
    • /var/www/html/<nama_situs>
    • /opt/<nama_situs>

Kesimpulan

Pada poin ini, Anda telah berhasil menginstal Nginx di server CentOS 7. Anda sekarang siap untuk mulai deploy aplikasi Anda dan menggunakan Nginx sebagai web server, proxy server atau reverse proxy untuk Apache.

Jika Anda ingin meng-host beberapa domain di server CentOS Anda, Anda dapat menggunakan server block, mirip dengan virtual host di Apache.

Sertifikat yang aman adalah fitur ‘wajib ada’ untuk semua situs web saat ini. Untuk mengamankan situs web Anda dengan sertifikat SSL gratis dari Let Encrypt, Anda dapat melihat tutorial kami tentang cara Mengamankan Nginx dengan Let’s Encrypt on CentOS 7.