Cara Menginstal Nginx di Ubuntu 20.04 LTS

Panduan langkah demi langkah lengkap untuk menginstal dan menyiapkan server web Nginx pada sistem Ubuntu 20.04

Nginx adalah server web proxy terbalik sumber terbuka dan populer yang tersedia di berbagai platform. Perangkat lunak ini dikembangkan oleh Igor Sysoev sebagai solusi untuk masalah C10K dan pertama kali dirilis pada tahun 2004. Masalah C10K adalah masalah menangani sepuluh ribu klien secara bersamaan yang cukup tidak mudah di awal tahun 2000-an.

Dalam tutorial ini, kita melihat cara menginstal dan mengatur Nginx di Ubuntu 20.04 LTS.

Prasyarat

Sebuah sistem dengan Ubuntu 20.04 terinstal dan a sudo pengguna. Selain itu, Anda tidak perlu memiliki server web lain seperti Apache yang berjalan pada port 80 atau 443.

Menginstal Nginx

Nginx tersedia di repositori Ubuntu 20.04 dan tepat manajer paket dapat digunakan untuk menginstalnya. Jadi, untuk menginstal Nginx buka terminal menggunakan ctrl+alt+t dan lari:

sudo apt update && sudo apt install nginx

Instalasi akan segera selesai dan daemon Nginx akan dimulai di latar belakang secara otomatis. Jadi, untuk memeriksa status Nginx, jalankan:

sudo systemctl status nginx

Setelah menjalankan perintah di atas, Anda akan mendapatkan status Nginx sebagai aktif (berjalan) berwarna hijau seperti di bawah ini.

Konfigurasi Firewall Ubuntu (UFW)

Secara default, port keluar HTTP (80) dan HTTPS (443) ditutup pada Ubuntu 20.04. Selain itu, daemon firewall default ufw dinonaktifkan karena semua port ditutup.

Jadi, untuk mengakses server Nginx dari sistem lain, Anda harus mengaktifkan ufw dan atur dengan benar untuk memungkinkan lalu lintas di port 80 dan 443. Sebelum Anda mengaktifkan ufw, ketahuilah bahwa jika Anda menyiapkan Nginx di server jarak jauh, perbarui terlebih dahulu ufw aturan untuk mengizinkan ssh dengan menjalankan:

sudo ufw izinkan ssh

Perintah di atas memungkinkan ssh akses ke server jarak jauh, tanpa mengizinkan ssh Anda akan dikunci dari server jarak jauh.

Setelah mengaktifkan ssh akses, Anda dapat mengaktifkan ufw daemon firewall dengan menjalankan:

sudo ufw aktifkan

Sekarang, Anda perlu mengubah aturan firewall untuk mengizinkan port HTTP dan HTTPS sehingga Nginx dapat melayani lalu lintas web. Untuk mengubah aturan, jalankan:

sudo ufw izinkan 'Nginx Penuh'

Nginx Penuh memungkinkan port HTTP dan HTTPS untuk lalu lintas masuk dan keluar dari semua alamat IP.

Setelah itu, verifikasi apakah aturan ditambahkan dengan benar ke ufw firewall dengan menjalankan perintah:

status sudo ufw

Perintah di atas akan menampilkan aturan yang kami tambahkan ufw dasmon firewall.

Menghubungkan ke Server Nginx

Sekarang kita telah menginstal Nginx dan mengkonfigurasi ufw untuk mengizinkan lalu lintas web HTTP dan HTTPS yang masuk, Anda harus dapat mengakses server Nginx dengan menggunakan alamat IP server.

Jika Anda tidak mengetahui alamat IP server, gunakan perintah di bawah ini untuk mengambilnya dengan mudah.

ip addr tampilkan eth0 | grep inet | awk '{ cetak $2; }' | sed 's/\/.*$//'

Setelah Anda mendapatkan alamat IP, rekatkan ke browser Anda dan tekan enter.

//ip-server-Anda

Jika semuanya telah dikonfigurasi dengan benar, Anda seharusnya dapat melihat halaman web 'Selamat datang di nginx!'.

File dan Direktori Nginx

Sekarang kami telah menginstal dan menjalankan Nginx di server Anda. Mari kita lihat beberapa file dan direktori Nginx penting yang harus Anda gunakan untuk mengonfigurasi situs web/aplikasi web Anda.

Konten server web

Anda dapat mengonfigurasi lokasi mana pun yang Anda inginkan sebagai direktori root untuk blok server Anda. HTML default Nginx secara langsung adalah /var/www/html, di situlah halaman 'selamat datang' yang kami akses sebelumnya berada.

Lokasi lain yang biasanya digunakan sebagai direktori root untuk domain meliputi:

  • /rumah//
  • /var/www/html/
  • /memilih/

File Konfigurasi Nginx

Semua file konfigurasi Nginx berada di /etc/nginx direktori. Mari kita lihat beberapa file penting yang kita perlukan untuk menyiapkan domain dasar.

  • /etc/nginx/nginx.conf: File ini berisi semua konfigurasi yang diperlukan untuk menjalankan Nginx.
  • /etc/nginx/sites-available/: Direktori ini memiliki semua konfigurasi blok server domain, tetapi saat ini tidak diaktifkan/diterapkan dan karenanya tidak dapat diakses oleh klien.
  • /etc/nginx/sites-enabled/: Direktori ini menampung domain yang aktif/diaktifkan yang dapat diakses oleh klien. Untuk mengaktifkan domain, kita perlu menautkan file konfigurasi domain dari situs-tersedia ke situs-diaktifkan direktori.
  • /etc/nginx/snippets/: Di direktori ini, kita dapat menyimpan segmen konfigurasi yang berpotensi dapat digunakan kembali. Ini menghemat banyak waktu di lingkungan produksi karena fakta bahwa itu dapat membuat segmen/blok konfigurasi dapat digunakan kembali.

Log Server

Nginx mencatat peristiwa/aktivitas dan menyimpannya dalam file log di /var/log/nginx direktori. Aktivitas log Nginx dalam file-file ini:

  • /var/log/nginx/access.log: File ini mencatat klien yang telah mengakses server Nginx. Rincian termasuk alamat IP klien, waktu dan tanggal, browser yang digunakan untuk mengakses server dan OS.
  • /var/log/nginx/error.log: File ini mencatat kesalahan yang ditemui oleh server Nginx saat dijalankan.

Jadi, di bagian ini, kita telah melihat secara singkat beberapa file dan direktori Nginx penting yang cukup untuk memulai.

Menyiapkan Blok Server

Sekarang setelah kita memiliki pengetahuan dasar tentang file dan server Nginx, kita siap untuk menyiapkan blok server kita sendiri. Blok server mirip dengan host virtual Apache.

Kami akan melihat cara membuat blok server dan untuk mendemonstrasikan bahwa kami akan menggunakan contoh.com sebagai domain dalam proses pembuatan.

Ganti contoh.com dengan nama domain Anda.

Sebelum kita mulai mengonfigurasi Blok Server, kita perlu membuat direktori untuk berfungsi sebagai direktori root untuk konten situs web. Mari kita berkreasi /var/www/contoh.com/html direktori untuk domain menggunakan mkdir memerintah.

sudo mkdir -p /var/www/example.com/html

Itu -P opsi akan membuat semua direktori induk yang diperlukan. Artinya, itu akan menciptakan contoh.com direktori induk untuk html jika tidak ada.

Ubah kepemilikan direktori dengan $USER variabel lingkungan:

sudo chown -R $USER:$USER /var/www/example.com/html

Selanjutnya, buat yang sederhana index.html file yang akan diakses saat Anda mengunjungi domain yang sedang dikonfigurasi. Ini hanya untuk tujuan penjelasan.

nano /var/www/example.com/html/index.html

Rekatkan konten berikut di file yang baru saja kita buat di server.

  Selamat datang di contoh.com! 

Yo! Contoh.com dapat diakses!

tekan ctrl+o untuk menulis dan menyimpan index.html file dan kemudian, tekan ctrl+x untuk keluar nano editor.

Sekarang akhirnya kita dapat melanjutkan ke pembuatan blok server, sehingga Nginx dapat melayani index.html ketika beberapa pengguna pergi ke contoh.com. Jadi untuk membuat blok server kita perlu membuat file konfigurasi bernama contoh.com di situs-tersedia direktori. Untuk melakukannya, kami menggunakan nano dan menjalankan:

sudo nano /etc/nginx/sites-available/example.com

Dan kemudian, ketik atau salin/tempel konfigurasi berikut. Lalu tekan ctrl+o dan masuk untuk menulis & menyimpan. Demikian pula, tekan ctrl+x untuk menutup editor nano.

server { dengarkan 80; dengarkan [::]:80; nama_server contoh.com www.contoh.com; root /var/www/domain-contoh.com/html; indeks index.html; lokasi / { try_files $uri $uri/ =404; } }

Konfigurasi di atas mirip dengan konfigurasi blok server default, kami telah mengubah akar pernyataan untuk menunjuk ke direktori root baru kami dan mengubah nama server ke nama domain kami. Selagi lokasi{} pernyataan berfungsi sebagai pernyataan tangkapan kesalahan jika file tidak ditemukan dan menampilkan kesalahan 404 ke klien.

Selanjutnya, kita dapat mengaktifkan blok server kita sehingga Nginx akan melayani contoh.com Halaman web. Untuk mengaktifkan blok server kami, kami perlu membuat symlink dari contoh.com file dari situs-tersedia ke situs-diaktifkan direktori. Untuk melakukannya, jalankan:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled

Tautan akan dibuat di diaktifkan situs direktori dan sekarang contoh.com harus diaktifkan. Sekarang kami memiliki dua blok server yang diaktifkan di server Nginx kami yang akan menanggapi permintaan berdasarkan mendengarkan dan sever_name arahan disimpan di contoh.com konfigurasi blok server.

Untuk memeriksa apakah semua file konfigurasi sudah benar dan tidak ada kesalahan sintaks, jalankan:

sudo nginx -t

Sekarang, akhirnya restart Nginx untuk menerapkan perubahan dengan menjalankan perintah berikut:

sudo systemctl restart nginx

Nginx akan mulai melayani blok server Anda sekarang, Anda dapat pergi ke //nama-domain-anda dan lihat halaman web Anda secara langsung.

Catatan: Agar bagian di atas berfungsi, Anda harus menyiapkan domain Anda sendiri dan mengganti contoh.com dengan nama domain Anda sendiri. Selain itu, Anda harus mengonfigurasi DNS agar domain Anda mengarah ke alamat IP server Nginx Anda.

Untuk menyimpulkan, kita telah melihat cara menginstal Nginx, mengkonfigurasi ufw untuk mengizinkan akses jarak jauh ke server Nginx, terhubung ke Nginx dari jarak jauh, mengenal beberapa file dan direktori Nginx dasar dan mempelajari cara menyiapkan blok server.

Untuk mengetahui dan mempelajari lebih lanjut tentang Nginx, Anda mungkin ingin melihat wiki Nginx.