Cara Install Nginx Pada Ubuntu 22.04

Cara Install Nginx on Ubuntu 22.04
banner 468x60

Darmediatama.com – Tutorial Cara Install Nginx on Ubuntu 22.04. Dalam panduan ini, kita akan membahas cara menginstal Nginx di server Ubuntu 22.04 Anda, mengatur firewall, mengelola proses Nginx, dan menyiapkan blok server untuk meng-host lebih dari satu domain dari satu server.

Prasyarat

Sebelum memulai panduan Bagaimana Cara Install Nginx Pada Ubuntu 22.04, Anda harus memiliki pengguna biasa non-root dengan hak akses sudo yang telah dikonfigurasi di server Anda. Anda dapat mempelajari cara mengonfigurasi akun pengguna biasa dengan mengikuti panduan Pengaturan awal server untuk Ubuntu 22.04.

Bacaan Lainnya
banner 300250
Cara Install Nginx on Ubuntu 22.04

Anda juga mungkin ingin mendaftarkan nama domain sebelum menyelesaikan langkah-langkah terakhir dari tutorial ini. Untuk mempelajari lebih lanjut tentang cara mengatur nama domain dengan DigitalOcean, silakan merujuk ke Pengantar DNS DigitalOcean.

Setelah Anda memiliki akun yang tersedia, masuk sebagai pengguna non-root Anda untuk memulai.

Langkah 1 – Cara install Nginx Ubuntu 22.04

Karena Nginx tersedia di repositori default Ubuntu, kita dapat menginstalnya dari repositori tersebut menggunakan sistem paket apt.

Karena ini adalah interaksi pertama kita dengan sistem paket apt dalam sesi ini, kita akan memperbarui indeks paket lokal kita sehingga kita memiliki akses ke daftar paket terbaru. Setelah itu, kita dapat menginstal nginx:

sudo apt update
sudo apt install nginx

Tekan Y saat diminta untuk mengonfirmasi instalasi. Jika Anda diminta untuk memulai ulang layanan apa pun, tekan ENTER untuk menerima default dan melanjutkan. apt akan menginstal Nginx dan semua dependensi yang diperlukan ke server Anda.

Langkah 2 – Mengatur Firewall

Sebelum menguji Nginx, perangkat lunak firewall perlu dikonfigurasi untuk mengizinkan akses ke layanan tersebut. Nginx mendaftarkan dirinya sebagai layanan dengan ufw saat instalasi, membuatnya mudah untuk mengizinkan akses Nginx.

Daftar konfigurasi aplikasi yang diketahui ufw dengan mengetik:

sudo ufw app list

Anda akan mendapatkan daftar profil aplikasi:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Seperti yang ditunjukkan oleh output, ada tiga profil yang tersedia untuk Nginx:

  • Nginx Full: Profil ini membuka port 80 (lalu lintas web tidak terenkripsi) dan port 443 (lalu lintas terenkripsi TLS/SSL).
  • Nginx HTTP: Profil ini hanya membuka port 80 (lalu lintas web tidak terenkripsi).
  • Nginx HTTPS: Profil ini hanya membuka port 443 (lalu lintas terenkripsi TLS/SSL).

Disarankan untuk mengaktifkan profil yang paling ketat yang masih memungkinkan lalu lintas yang Anda konfigurasi. Saat ini, kita hanya perlu mengizinkan lalu lintas pada port 80.

Anda dapat mengaktifkannya dengan mengetik:

sudo ufw allow 'Nginx HTTP'

Anda dapat memverifikasi perubahan dengan mengetik:

sudo ufw status

Output akan menunjukkan lalu lintas HTTP mana yang diizinkan:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Langkah 3 – Memeriksa Server Web Anda

Pada akhir proses instalasi, Ubuntu 22.04 memulai Nginx. Server web harus sudah berjalan.

Kita bisa memeriksa dengan sistem init systemd untuk memastikan layanan berjalan dengan mengetik:

systemctl status nginx

Output:

● 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 Fri 2022-03-01 16:08:19 UTC; 3 days ago
     Docs: man:nginx(8)
 Main PID: 2369 (nginx)
    Tasks: 2 (limit: 1153)
   Memory: 3.5M
   CGroup: /system.slice/nginx.service
           ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─2380 nginx: worker process

Seperti yang dikonfirmasi oleh output ini, layanan telah berhasil dimulai. Namun, cara terbaik untuk mengujinya adalah dengan benar-benar meminta halaman dari Nginx.

Anda dapat mengakses halaman landing default Nginx untuk mengonfirmasi bahwa perangkat lunak berjalan dengan baik dengan menavigasi ke alamat IP server Anda. Jika Anda tidak tahu alamat IP server Anda, Anda dapat menemukannya dengan menggunakan alat icanhazip.com, yang akan memberi Anda alamat IP publik Anda seperti yang diterima dari lokasi lain di internet:

curl -4 icanhazip.com

Ketika Anda memiliki alamat IP server Anda, masukkan ke bilah alamat browser Anda:

http://your_server_ip

Anda harus menerima halaman landing default Nginx:

Nginx default page

Jika Anda berada di halaman ini, server Anda berjalan dengan benar dan siap untuk dikelola.

Langkah 4 – Mengelola Proses Nginx

Sekarang setelah server web Anda berjalan, mari tinjau beberapa perintah manajemen dasar.

Untuk menghentikan server web Anda, ketik:

sudo systemctl stop nginx

Untuk memulai server web saat dihentikan, ketik:

sudo systemctl start nginx

Untuk menghentikan dan kemudian memulai layanan lagi, ketik:

sudo systemctl restart nginx

Jika Anda hanya membuat perubahan konfigurasi, Nginx sering kali dapat memuat ulang tanpa memutuskan koneksi. Untuk melakukan ini, ketik:

sudo systemctl reload nginx

Secara default, Nginx dikonfigurasi untuk memulai secara otomatis saat server booting. Jika ini bukan yang Anda inginkan, Anda dapat menonaktifkan perilaku ini dengan mengetik:

sudo systemctl disable nginx

Untuk mengaktifkan kembali layanan agar dimulai saat boot, Anda dapat mengetik:

sudo systemctl enable nginx

Anda sekarang telah mempelajari perintah manajemen dasar dan harus siap mengonfigurasi situs untuk meng-host lebih dari satu domain.

Langkah 5 – Menyiapkan Server Blocks (Disarankan)

Saat menggunakan server web Nginx, server block (mirip dengan virtual host di Apache) dapat digunakan untuk mengenkapsulasi detail konfigurasi dan meng-host lebih dari satu domain dari satu server. Kita akan menyiapkan domain bernama your_domain, tetapi Anda harus menggantinya dengan nama domain Anda sendiri.

Nginx di Ubuntu 22.04 memiliki satu server block yang diaktifkan secara default yang dikonfigurasi untuk melayani dokumen dari direktori di /var/www/html. Meskipun ini bekerja dengan baik untuk satu situs, ini bisa menjadi tidak praktis jika Anda meng-host banyak situs. Alih-alih memodifikasi /var/www/html, mari kita buat struktur direktori di dalam /var/www untuk situs your_domain kita, meninggalkan /var/www/html di tempatnya sebagai direktori default yang dilayani jika permintaan klien tidak cocok dengan situs lain.

Buat direktori untuk your_domain sebagai berikut, menggunakan flag -p untuk membuat direktori induk yang diperlukan:

sudo mkdir -p /var/www/your_domain/html

Selanjutnya, tetapkan kepemilikan direktori dengan variabel lingkungan $USER:

sudo chown -R $USER:$USER /var/www/your_domain/html

Izin dari akar web Anda harus benar jika Anda belum mengubah nilai umask Anda, yang mengatur izin file default. Untuk memastikan bahwa izin Anda benar dan memungkinkan pemilik untuk membaca, menulis, dan mengeksekusi file sambil memberikan izin membaca dan mengeksekusi kepada grup dan lainnya, Anda dapat memasukkan perintah berikut:

sudo chmod -R 755 /var/www/your_domain

Selanjutnya, buat halaman index.html contoh menggunakan nano atau editor favorit Anda:

nano /var/www/your_domain/html/index.html

Di dalamnya, tambahkan HTML contoh berikut:

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain server block is working!</h1>
    </body>
</html>

Simpan dan tutup file dengan menekan Ctrl+X untuk keluar, lalu saat diminta untuk menyimpan, tekan Y dan kemudian Enter.

Agar Nginx dapat melayani konten ini, perlu membuat server block dengan direktif yang benar. Alih-alih memodifikasi file konfigurasi default secara langsung, mari kita buat yang baru di /etc/nginx/sites-available/your_domain:

sudo nano /etc/nginx/sites-available/your_domain

Tempelkan blok konfigurasi berikut, yang mirip dengan default, tetapi diperbarui untuk direktori dan nama domain baru kita:

server {
        listen 80;
        listen [::

]:80;

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

        server_name your_domain www.your_domain;

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

Perhatikan bahwa kita telah memperbarui konfigurasi root ke direktori baru kita, dan server_name ke nama domain kita.

Selanjutnya, aktifkan file dengan membuat tautan dari file tersebut ke direktori sites-enabled, yang dibaca Nginx saat startup:

sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Catatan: Nginx menggunakan praktik umum yang disebut tautan simbolis, atau symlink, untuk melacak blok server mana yang diaktifkan. Membuat symlink seperti membuat pintasan pada disk, sehingga Anda dapat menghapus pintasan dari direktori sites-enabled sambil tetap menjaga blok server di sites-available jika Anda ingin mengaktifkannya.

Dua server block sekarang diaktifkan dan dikonfigurasi untuk merespons permintaan berdasarkan direktif listen dan server_name mereka:

  • your_domain: Akan merespons permintaan untuk your_domain dan www.your_domain.
  • default: Akan merespons permintaan pada port 80 yang tidak cocok dengan blok lainnya.

Untuk menghindari masalah hash bucket memory yang mungkin timbul dari menambahkan nama server tambahan, perlu menyesuaikan satu nilai di file /etc/nginx/nginx.conf. Buka file tersebut:

sudo nano /etc/nginx/nginx.conf

Temukan direktif server_names_hash_bucket_size dan hapus simbol # untuk menghapus komentar dari baris tersebut. Jika Anda menggunakan nano, Anda dapat dengan cepat mencari kata-kata dalam file dengan menekan CTRL dan w.

Catatan: Mengomentari baris kode – biasanya dengan menambahkan # di awal baris – adalah cara lain untuk menonaktifkannya tanpa perlu menghapusnya. Banyak file konfigurasi dikirimkan dengan beberapa opsi yang dikomentari sehingga dapat diaktifkan atau dinonaktifkan, dengan mengalihkan antara kode aktif dan dokumentasi.

...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

Simpan dan tutup file setelah selesai.

Selanjutnya, uji untuk memastikan bahwa tidak ada kesalahan sintaks dalam file-file Nginx Anda:

sudo nginx -t

Jika tidak ada masalah, mulai ulang Nginx untuk mengaktifkan perubahan Anda:

sudo systemctl restart nginx

Nginx sekarang seharusnya melayani nama domain Anda. Anda dapat mengujinya dengan menavigasi ke http://your_domain, di mana Anda harus melihat sesuatu seperti ini:

Nginx first server block

Langkah 6 – Mengenal File dan Direktori Penting Nginx

Sekarang setelah Anda tahu cara mengelola layanan Nginx itu sendiri, Anda sebaiknya meluangkan beberapa menit untuk mengenal beberapa direktori dan file penting.

Konten

  • /var/www/html: Konten web sebenarnya, yang secara default hanya terdiri dari halaman default Nginx yang Anda lihat sebelumnya, disajikan dari direktori /var/www/html. Ini dapat diubah dengan mengubah file konfigurasi Nginx.

Konfigurasi Server

  • /etc/nginx: Direktori konfigurasi Nginx. Semua file konfigurasi Nginx berada di sini.
  • /etc/nginx/nginx.conf: File konfigurasi utama Nginx. Ini dapat dimodifikasi untuk membuat perubahan pada konfigurasi global Nginx.
  • /etc/nginx/sites-available/: Direktori tempat blok server per-situs disimpan. Nginx tidak akan menggunakan file konfigurasi yang ditemukan di direktori ini kecuali mereka ditautkan ke direktori sites-enabled. Biasanya, semua konfigurasi blok server dilakukan di direktori ini, dan kemudian diaktifkan dengan menautkan ke direktori lainnya.
  • /etc/nginx/sites-enabled/: Direktori tempat blok server per-situs yang diaktifkan disimpan. Biasanya, ini dibuat dengan menautkan ke file konfigurasi yang ditemukan di direktori sites-available.
  • /etc/nginx/snippets: Direktori ini berisi fragmen konfigurasi yang dapat disertakan di tempat lain dalam konfigurasi Nginx. Segmen konfigurasi yang berpotensi dapat diulang adalah kandidat yang baik untuk direfaktori menjadi potongan.

Log Server

  • /var/log/nginx/access.log: Setiap permintaan ke server web Anda dicatat di file log ini kecuali Nginx dikonfigurasi sebaliknya.
  • /var/log/nginx/error.log: Setiap kesalahan Nginx akan dicatat di log ini.


Sekarang setelah Anda menginstal server web Anda, Anda memiliki banyak opsi untuk jenis konten yang akan disajikan dan teknologi yang ingin Anda gunakan untuk menciptakan pengalaman yang lebih kaya.

Jika Anda ingin membangun tumpukan aplikasi yang lebih lengkap, lihat artikel Cara Menginstal Linux, Nginx, MySQL, PHP (LEMP stack) di Ubuntu 22.04.

Untuk menyiapkan HTTPS untuk nama domain Anda dengan sertifikat SSL gratis menggunakan Let’s Encrypt, Anda harus melanjutkan ke Cara Mengamankan Nginx dengan Let’s Encrypt di Ubuntu 22.04.

Cara Install nginx Ubuntu 22.04

banner 300x250

Pos terkait