Cara Menginstal Server Web Nginx di Ubuntu 20.04


Nginx adalah server web sumber terbuka dan berkinerja tinggi yang menguasai pangsa pasar besar di lingkungan produksi. Ini adalah server web ringan dan tangguh yang banyak digunakan untuk menghosting situs web dengan lalu lintas tinggi.

Bacaan Terkait: Cara Menginstal Server Web Apache di Ubuntu 20.04

Dalam panduan ini, Anda akan mempelajari cara menginstal server web Nginx dan mengonfigurasi blok server Nginx (host virtual) di Ubuntu 20.04 LTS.

Prasyarat

Untuk memulai, pastikan Anda memiliki instance Ubuntu 20.04 LTS dengan akses SSH dan pengguna Sudo dengan hak akses root. Selain itu, koneksi internet yang stabil disarankan untuk menginstal paket Nginx.

Menginstal Nginx di Ubuntu 20.04

1. Sebelum menginstal Nginx, perbarui daftar paket server Anda.

sudo apt update

2. Kemudian instal Nginx dengan menjalankan perintah:

sudo apt install nginx

Saat diminta untuk melanjutkan, tekan 'Y' pada keyboard dan tekan ENTER. Instalasi akan selesai hanya dalam beberapa detik.

3. Setelah Nginx berhasil diinstal, Anda dapat memulai dan memverifikasinya dengan menjalankan:

sudo systemctl start nginx
sudo systemctl status nginx

Output di atas dengan jelas menunjukkan bahwa Nginx sedang berjalan.

4. Untuk memeriksa versi Nginx, jalankan:

sudo dpkg -l nginx

Outputnya menunjukkan bahwa kami menjalankan Nginx 1.17.10 yang merupakan versi terbaru pada saat artikel ini ditulis.

Buka Port Nginx di UFW Firewall

Sekarang setelah Nginx Anda terinstal dan berjalan seperti yang diharapkan, beberapa penyesuaian diperlukan agar Nginx dapat diakses melalui browser web. Jika Anda menjalankan Firewall UFW, Anda harus mengizinkan profil aplikasi Nginx.

Ada 3 profil Nginx yang terkait dengan firewall ufw.

  1. Nginx Full – Ini membuka port 80 & 443 (Untuk enkripsi SSL/TLS).
  2. Nginx HTTP – Port ini hanya terbuka 80 ( Untuk lalu lintas web yang tidak terenkripsi).
  3. Nginx HTTPS – Hanya membuka port 443 (Untuk enkripsi SSL/TLS).

5. Mulailah dengan mengaktifkan firewall di Ubuntu 20.04.


sudo ufw enable

6. Untuk saat ini, karena kami tidak berada di server terenkripsi, kami hanya akan mengizinkan profil Nginx HTTP yang akan mengizinkan lalu lintas pada port 80 .

sudo ufw allow 'Nginx HTTP'

7. Kemudian muat ulang firewall agar perubahan tetap ada.

sudo ufw reload

8. Sekarang periksa status firewall untuk memverifikasi profil yang diizinkan.

sudo ufw status

Menguji Nginx di Ubuntu 20.04

Nginx berjalan di browser seperti yang Anda harapkan pada server web mana pun dan cara paling pasti untuk menguji apakah Nginx berjalan sesuai harapan adalah dengan mengirimkan permintaan melalui browser.

9. Jadi, buka browser Anda dan jelajahi alamat IP atau nama domain server. Untuk memeriksa IP server Anda, jalankan perintah ifconfig:

ifconfig

10. Jika Anda menggunakan server cloud, jalankan perintah curl di bawah ini untuk mengambil IP publik server.

curl ifconfig.me

11. Di kolom URL browser Anda, masukkan alamat IP server atau nama domain Anda dan tekan ENTER.

http://server-IP or domain-name

Anda akan mendapatkan halaman selamat datang Nginx default seperti yang ditunjukkan.

Kelola Proses Nginx di Ubuntu 20.04

12. Untuk menghentikan server web Nginx, cukup jalankan:

sudo systemctl stop nginx

13. Untuk menghidupkan kembali server web, jalankan:

sudo systemctl start nginx

14. Untuk memulai Nginx secara otomatis saat boot atau reboot:

sudo systemctl enable nginx

15. Jika Anda ingin me-restart server web terutama setelah melakukan perubahan pada file konfigurasi, jalankan:

sudo systemctl restart nginx

16. Alternatifnya, Anda dapat memuat ulang untuk menghindari terputusnya koneksi seperti yang ditunjukkan.

sudo systemctl reload nginx

Mengonfigurasi Blok Server Nginx di Ubuntu 20.04

Jika Anda berencana menghosting lebih dari satu situs di server Anda, menyiapkan blok Server Nginx sangat disarankan. Blok server setara dengan host virtual Apache.

Secara default, Nginx dikirimkan dengan blok server defaultnya yang disetel untuk menyajikan konten web di jalur /var/www/html.

Kami akan membuat blok Nginx terpisah untuk menyajikan konten domain kami. Untuk panduan ini, kita akan menggunakan domain crazytechgeek.info.
Untuk kasus Anda, pastikan Anda menggantinya dengan nama domain Anda sendiri.

17. Untuk membuat file blok server, Pertama, buat direktori untuk domain Anda seperti yang ditunjukkan.

sudo mkdir -p /var/www/crazytechgeek.info/html

18. Selanjutnya, tetapkan kepemilikan pada direktori baru menggunakan variabel $USER.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Pastikan Anda juga menetapkan izin direktori yang memungkinkan pemilik memiliki semua izin (baca, tulis, dan jalankan) dan berikan izin kepada pihak lain hanya untuk membaca dan mengeksekusi.

sudo chmod -R 755 /var/www/crazytechgeek.info

20. Di dalam direktori domain, buatlah index.html file yang akan berisi konten web domain tersebut.

sudo vim /var/www/crazytechgeek.info/html/index.html

Tempelkan konten di bawah ini ke file pengujian sampel.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Simpan perubahan dan keluar dari file.

21. Agar server web Nginx dapat menyajikan konten yang baru saja Anda tambahkan, Anda perlu membuat blok server dengan arahan yang sesuai. Dalam hal ini, kami membuat blok server baru di:

sudo vim /etc/nginx/sites-available/crazytechgeek.info

Tempel konfigurasi yang ditampilkan.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }
}

Simpan dan keluar.

22. Sekarang aktifkan file blok server dengan menautkannya ke direktori sites-enabled tempat server Nginx membaca saat startup.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Agar perubahan dapat diterapkan, mulai ulang server web Nginx.

sudo systemctl restart nginx

24. Untuk memastikan semua konfigurasi sudah beres, jalankan perintah:

nginx -t

Jika semua konfigurasi sudah beres, Anda akan mendapatkan output seperti di bawah ini:

25. Server web Nginx sekarang seharusnya menyajikan konten domain Anda. Sekali lagi, buka browser Anda dan jelajahi domain server Anda.

http://domain-name

Konten khusus Anda di direktori domain Anda akan disajikan seperti yang ditunjukkan.

File Konfigurasi Nginx Penting

Sebelum kita mengakhirinya, penting bagi kita untuk memeriksa beberapa file konfigurasi penting yang terkait dengan Nginx.

File Konfigurasi Nginx

  • /etc/nginx/nginx.conf: Ini adalah file konfigurasi utama. Anda dapat mengubah pengaturan untuk memenuhi persyaratan server Anda.
  • /etc/nginx/sites-available: Ini adalah direktori yang menyimpan konfigurasi blok server. Nginx hanya menggunakan blok server jika ditautkan ke direktori yang mendukung situs.
  • /etc/nginx/sites-enabled: Direktori berisi blok server Nginx per situs yang sudah diaktifkan.

File Log Nginx

Ada dua file log utama yang dapat Anda gunakan untuk memecahkan masalah server web Nginx Anda:

  • /var/log/nginx/access.log: Ini mencatat semua permintaan yang dibuat ke server web.
  • /var/log/nginx/error.log: Ini adalah file log kesalahan dan mencatat semua kesalahan yang ditemui Nginx.
Kesimpulan

Kita telah mencapai akhir tutorial ini. Kami telah menunjukkan bagaimana Anda dapat menginstal Nginx di Ubuntu 20.04 dan bagaimana Anda dapat menyiapkan blok server Nginx untuk menyajikan konten domain Anda. Masukan Anda diterima.