Karena Nginx tersedia di repositori
asali Ubuntu, maka kita dimungkinkan untuk menginstalnya dari repositori ini
menggunakan sistem pengemasan apt.
Karena ini adalah interaksi pertama kita
dengan sistem pengemasan apt pada sesi ini, kita akan
memperbarui indeks pengemasan lokal agar kita memiliki akses ke daftar paket
terbaru. Setelah itu, kita dapat menginstal nginx:
1. sudo apt update
2.
3. sudo apt install nginx
4.
Copy
Setelah menerima prosedur, apt akan menginstal
Nginx dan segala dependensi yang diperlukan ke server Anda.
Langkah 2 – Menyesuaikan Firewall
Sebelum menguji Nginx, perangkat lunak
firewall perlu disesuaikan untuk mengizinkan akses ke layanan. Nginx mendaftarkan
dirinya sendiri sebagai sebagai layanan dengan ufw pada saat
instalasi, yang mempermudah untuk mengizinkan akses Nginx.
Buat daftar konfigurasi aplikasi yang
mana ufw mengetahui cara bekerja sama dengannya dengan
mengetik:
1. sudo ufw app list
2.
Copy
Anda akan mendapat daftar profil
aplikasi:
Output
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Seperti yang ditunjukkan oleh keluaran,
ada tiga profil yang tersedia untuk Nginx:
·
Nginx Full: Profil ini membuka baik porta 80 (lalu
lintas web normal dan tidak terenkripsi) dan porta 443 (lalu lintas terenkripsi
TLS/SSL)
·
Nginx HTTP: Profil ini hanya membuka porta 80
(lalu lintas web normal dan tidak terenkripsi)
·
Nginx HTTPS: Profil ini hanya membuka porta 443
(lalu lintas terenkripsi TLS/SSL)
Anda disarankan untuk mengaktifkan
profil yang paling ketat yang masih akan mengizinkan lalu lintas yang telah
Anda konfigurasikan. Saat ini, kita hanya perlu mengizinkan lalu lintas pada
porta 80.
Anda dapat mengaktifkan ini dengan
mengetik:
1. sudo ufw allow 'Nginx HTTP'
2.
Copy
Anda dapat memverifikasi perubahan
dengan mengetik:
1. sudo ufw status
2.
Copy
Keluaran akan mengindikasikan lalu
lintas HTTP mana yang diizinkan:
Output
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
20.04 memulai Nginx. Server web seharusnya sudah aktif dan berjalan.
Kita dapat memeriksa dengan sistem
init systemd untuk memastikan layanan sedang
berjalan dengan mengetik:
1. systemctl status nginx
2.
Copy
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
2020-04-20 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
Sebagaimana dikonfirmasi oleh keluaran
ini, layanan telah berhasil dimulai. Namun, cara terbaik untuk menguji ini
adalah dengan benar-benar meminta suatu laman dari Nginx.
Anda dapat mengakses laman landas Nginx
asali untuk mengonfirmasi bahwa perangkat lunak berjalan dengan baik dengan
bernavigasi ke alamat IP server Anda. Jika Anda tidak mengetahui alamat IP
server Anda, Anda dapat menemukannya dengan menggunakan alat icanhazip.com, yang akan memberi Anda alamat IP
publik Anda sebagaimana diterima dari lokasi lain di internet:
1. curl -4 icanhazip.com
2.
Copy
Saat Anda memiliki alamat IP server
Anda, masukkan alamat itu ke dalam bilah alamat peramban Anda:
http://your_server_ip
Anda akan menerima laman landas Nginx
asali:
Jika Anda berada di laman ini, server
Anda berjalan dengan benar dan siap untuk dikelola.
Langkah 4 – Mengelola Proses Nginx
Karena kini server web Anda sudah aktif
dan berjalan, mari kita tinjau beberapa perintah manajemen dasar.
Untuk menghentikan server web Anda,
ketik:
1. sudo systemctl stop nginx
2.
Copy
Untuk memulai server web saat berhenti,
ketik:
1. sudo systemctl start nginx
2.
Copy
Untuk menghentikan lalu memulai layanan
lagi, ketik:
1. sudo systemctl restart nginx
2.
Copy
Jika Anda hanya membuat perubahan
konfigurasi, Nginx seringkali dapat memuat ulang tanpa memutus koneksi. Untuk
melakukan ini, ketik:
1. sudo systemctl reload nginx
2.
Copy
Secara asali, Nginx dikonfigurasikan
untuk memulai secara otomatis saat server melakukan boot. Jika ini bukan apa
yang Anda inginkan, Anda dapat menonaktifkan perilaku ini dengan mengetik:
1. sudo systemctl disable nginx
2.
Copy
Untuk mengaktifkan kembali layanan agar
memulai saat boot, Anda dapat mengetik:
1. sudo systemctl enable nginx
2.
Copy
Anda kini telah mempelajari perintah
manajemen dasar dan siap untuk mengonfigurasi situs untuk menjadi hos dari
lebih dari satu domain.
Langkah 5 – Menyiapkan Blok Server (Disarankan)
Ketika menggunakan server web
Nginx, blok server (serupa dengan hos virtual di Apache) dapat
digunakan untuk mengenkapsulasi detail konfigurasi dan menjadi hos untuk lebih
dari satu domain dari suatu server tunggal. Kita akan menyiapkan domain bernama your_domain,
tetapi Anda harus menggantinya dengan nama domain Anda sendiri.
Untuk mempelajari lebih lanjut tentang menyiapkan nama domain dengan
DigitalOcean, silakan merujuk ke Pengantar DNS
DigitalOcean yang kami sediakan.
Nginx pada Ubuntu 20.04 memiliki satu
blok server yang diaktifkan secara asali, yang dikonfigurasi untuk menampilkan
dokumen dari suatu direktori di /var/www/html. Meskipun ini
berfungsi baik untuk situs tunggal, ini bisa menjadi sulit dijalankan jika Anda
menjadi hos dari beberapa situs. Alih-alih memodifikasi /var/www/html, mari kita buat suatu
struktur direktori di dalam /var/www untuk
situs your_domain kita, dengan membiarkan /var/www/html sebagai
direktori asali yang akan ditampilkan jika permintaan klien tidak cocok dengan
situs lain apa pun.
Buat direktori untuk your_domain sebagai
berikut, dengan menggunakan bendera -p untuk menciptakan direktori induk
apa pun yang diperlukan:
1. sudo mkdir -p /var/www/your_domain/html
2.
Copy
Selanjutnya, tentukan kepemilikan
direktori dengan variabel lingkungan $USER:
1. sudo chown -R $USER:$USER /var/www/your_domain/html
2.
Copy
Izin root web Anda seharusnya benar jika
Anda belum mengubah nilai umask Anda, yang menetapkan izin berkas
asali. Untuk memastikan izin Anda benar dan memperbolehkan pemilik untuk
membaca, menulis, dan mengeksekusi berkas, sementara hanya memperbolehkan
membaca dan mengeksekusi ke grup dan lainnya, Anda dapat memasukkan perintah
berikut:
1. sudo chmod -R 755 /var/www/your_domain
2.
Copy
Selanjutnya, buat laman index.html dengan
menggunakan nano atau editor favorit Anda:
1. nano /var/www/your_domain/html/index.html
2.
Copy
Di dalam, tambahkan HTML sampel berikut
ini:
/var/www/your_domain/html/index.html
<html>
<head>
<title>Welcome to your_domain!</title>
</head>
<body>
<h1>Success! The your_domain server
block is working!</h1>
</body>
</html>
Copy
Simpan dan tutup berkas dengan menekan CTRL dan X lalu Y dan ENTER saat Anda
selesai.
Agar Nginx menyajikan konten ini, maka
diperlukan untuk menciptakan blok server dengan arahan yang benar. Alih-alih
memodifikasi berkas konfigurasi asali secara langsung, mari kita buat yang baru
di /etc/nginx/sites-available/your_domain:
1. sudo nano /etc/nginx/sites-available/your_domain
2.
Copy
Tempel di blok konfigurasi berikut, yang
serupa dengan yang asali, tetapi diperbarui untuk nama domain dan direktori
baru kita:
/etc/nginx/sites-available/your_domain
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;
}
}
Copy
Perhatikan bahwa kita telah memperbarui
konfigurasi root ke direktori baru kita, dan server_name ke nama domain
kita.
Selanjutnya, mari kita mengaktifkan
berkas dengan menciptakan tautan darinya ke direktori sites-enabled, yang dibaca Nginx
selama memulai:
1. sudo ln -s /etc/nginx/sites-available/your_domain
/etc/nginx/sites-enabled/
2.
Copy
Dua blok server sekarang telah
diaktifkan dan dikonfigurasi untuk merespons permintaan berdasarkan
arahan listen dan server_name (Anda dapat
membaca lebih lanjut tentang cara Nginx memproses arahan ini di sini):
·
your_domain: Akan merespons permintaan untuk your_domain dan www.your_domain.
·
asali: Akan merespons permintaan apa pun pada porta 80 yang
tidak cocok dengan dua blok lainnya.
Untuk menghindari masalah memori hash
bucket yang dapat muncul dari penambahan nama server tambahan, maka diperlukan
untuk menyesuaikan satu nilai dalam berkas /etc/nginx/nginx.conf. Buka berkas:
1. sudo nano /etc/nginx/nginx.conf
2.
Copy
Cari arahan server_names_hash_bucket_size dan hapus
simbol # untuk menghapus komentar pada baris itu. Jika
Anda menggunakan nano, Anda dapat dengan cepat mencari kata-kata di dalam
berkas dengan menekan CTRL dan w.
/etc/nginx/nginx.conf
...
http {
...
server_names_hash_bucket_size 64;
...
}
...
Simpan dan tutup berkas saat Anda sudah
selesai.
Selanjutnya, uji untuk memastikan bahwa
tidak ada kesalahan sintaks pada berkas Nginx Anda:
1. sudo nginx -t
2.
Copy
Jika tidak ada masalah apa pun, mulai
kembali Nginx untuk mengaktifkan perubahan Anda:
1. sudo systemctl restart nginx
2.
Copy
Nginx sekarang seharusnya menyajikan
nama domain Anda. Anda dapat menguji ini dengan bernavigasi ke http://your_domain, di mana Anda akan
melihat sesuatu seperti ini:
Tidak ada komentar:
Posting Komentar