Nginx diucapkan “engine x” adalah HTTP gratis, open-source, berkinerja tinggi dan server proxy terbalik yang bertanggung jawab untuk menangani beban beberapa situs terbesar di Internet.
Nginx dapat digunakan sebagai server web mandiri, dan sebagai proxy terbalik untuk Apache dan server web lainnya.
Dibandingkan dengan Apache, Nginx dapat menangani sejumlah besar koneksi bersamaan dan memiliki jejak memori yang lebih kecil per koneksi.
Tutorial ini akan menjelaskan langkah-langkah yang diperlukan untuk menginstal Nginx pada mesin Ubuntu 18.04.
Prasyarat #
Sebelum memulai tutorial, pastikan Anda masuk sebagai pengguna dengan hak sudo dan Anda tidak memiliki Apache atau server web lain yang berjalan pada port 80
atau 443
.
Menginstal Nginx #
Paket Nginx tersedia di repositori default Ubuntu. Instalasinya cukup mudah.
Kami akan mulai dengan memperbarui daftar paket dan kemudian menginstal Nginx:
sudo apt update
sudo apt install nginx
Setelah instalasi selesai, layanan Nginx akan dimulai secara otomatis. Anda dapat memeriksa status layanan dengan perintah berikut:
sudo systemctl status nginx
Outputnya akan terlihat seperti ini:
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-04-29 06:43:26 UTC; 8s ago
Docs: man:nginx(8)
Process: 3091 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 3080 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 3095 (nginx)
Tasks: 2 (limit: 507)
CGroup: /system.slice/nginx.service
├─3095 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─3097 nginx: worker process
Mengonfigurasi firewall #
Dengan asumsi Anda menggunakan UFW
untuk mengelola firewall, Anda harus membuka HTTP (80
) dan HTTPS (443
) pelabuhan. Anda dapat melakukannya dengan mengaktifkan profil 'Nginx Full' yang menyertakan aturan untuk kedua port:
sudo ufw allow 'Nginx Full'
Untuk memverifikasi jenis status:
sudo ufw status
Outputnya akan terlihat seperti berikut:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
Uji Instalasi #
Untuk menguji instalasi Nginx baru Anda, buka http://YOUR_IP
di browser pilihan Anda, dan Anda akan disajikan dengan halaman arahan Nginx default seperti yang ditunjukkan pada gambar di bawah ini:
Mengelola Layanan Nginx #
Anda dapat mengelola layanan Nginx dengan cara yang sama seperti layanan sistem lainnya.
Untuk menghentikan layanan Nginx, jalankan:
sudo systemctl stop nginx
Untuk memulainya lagi, ketik:
sudo systemctl start nginx
Untuk memulai ulang layanan Nginx:
sudo systemctl restart nginx
Muat ulang layanan Nginx setelah Anda membuat beberapa perubahan konfigurasi:
sudo systemctl reload nginx
Secara default, layanan Nginx akan dimulai saat boot. Jika Anda ingin menonaktifkan layanan Nginx untuk memulai saat boot:
sudo systemctl disable nginx
Dan untuk mengaktifkannya kembali:
sudo systemctl enable nginx
Struktur dan Praktik Terbaik File Konfigurasi Nginx #
- Semua file konfigurasi Nginx berada di
/etc/nginx
direktori. - File konfigurasi Nginx utama adalah
/etc/nginx/nginx.conf
. - Untuk mempermudah pemeliharaan konfigurasi Nginx, disarankan untuk membuat file konfigurasi terpisah untuk setiap domain. Anda dapat memiliki file blok server sebanyak yang Anda butuhkan.
- File blok server Nginx disimpan di
/etc/nginx/sites-available
direktori. File konfigurasi yang ditemukan di direktori ini tidak digunakan oleh Nginx kecuali jika ditautkan ke/etc/nginx/sites-enabled
direktori. - Untuk mengaktifkan blok server, Anda perlu membuat symlink (penunjuk) dari situs file konfigurasi di
sites-available
direktori kesites-enabled
direktori. - Disarankan untuk mengikuti konvensi penamaan standar, misalnya jika nama domain Anda adalah
mydomain.com
maka file konfigurasi Anda harus diberi nama/etc/nginx/sites-available/mydomain.com.conf
/etc/nginx/snippets
direktori berisi cuplikan konfigurasi yang dapat dimasukkan dalam file blok server. Jika Anda menggunakan segmen konfigurasi yang dapat diulang, Anda dapat memfaktorkan ulang segmen tersebut menjadi cuplikan dan menyertakan file cuplikan ke blok server.- File log Nginx (
access.log
danerror.log
) terletak di/var/log/nginx
direktori. Disarankan untuk memilikiaccess
yang berbeda danerror
file log untuk setiap blok server. - Anda dapat menyetel direktori akar dokumen domain ke lokasi mana pun yang Anda inginkan. Lokasi paling umum untuk webroot meliputi:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>