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 updatesudo 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/nginxdirektori. - 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-availabledirektori. File konfigurasi yang ditemukan di direktori ini tidak digunakan oleh Nginx kecuali jika ditautkan ke/etc/nginx/sites-enableddirektori. - Untuk mengaktifkan blok server, Anda perlu membuat symlink (penunjuk) dari situs file konfigurasi di
sites-availabledirektori kesites-enableddirektori. - Disarankan untuk mengikuti konvensi penamaan standar, misalnya jika nama domain Anda adalah
mydomain.commaka file konfigurasi Anda harus diberi nama/etc/nginx/sites-available/mydomain.com.conf /etc/nginx/snippetsdirektori 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.logdanerror.log) terletak di/var/log/nginxdirektori. Disarankan untuk memilikiaccessyang berbeda danerrorfile 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>