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 darisitus-tersedia
kesitus-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.