NGINX adalah server web berkinerja tinggi yang digunakan khususnya untuk mengelola file statis dan sebagai proxy terbalik. berkat keserbagunaannya NGINX dapat digunakan dalam situasi apa pun. Dalam panduan ini Anda akan melihat cara menginstalnya di server Anda dan cara mengonfigurasinya untuk dua domain atau lebih.
Pertama, sambungkan ke server Anda melalui koneksi SSH. Jika Anda belum melakukannya, ikuti panduan kami disarankan untuk terhubung secara aman dengan SSH. Untuk server lokal, lanjutkan ke poin berikutnya dan buka terminal server Anda.
Instalasi NGINX
Perbarui repositori distribusi untuk memastikan mengunduh NGINX versi terbaru:
$ sudo apt update
Jalankan perintah berikut untuk menginstal paket NGINX:
$ sudo apt install nginx
Setelah penginstalan selesai, luncurkan layanan dan instal di sistem:
$ sudo systemctl start nginx
$ sudo systemctl enable nginx
Konfigurasi firewall
Jika ada firewall di sistem Anda, setel untuk mengaktifkan lalu lintas HTTP dan lalu lintas HTTPS ke komputer Anda.
Saat menggunakan firewall UFW, profil pra-instal disediakan untuk NGINX. Jadi mari kita lihat cara mengaktifkannya.
Untuk memeriksa profil yang tersedia yang terpasang di firewall UFW, jalankan perintah ini:
$ sudo ufw app list
Daftar yang mirip dengan berikut ini akan ditampilkan di layar:
Available applications:
Dovecot IMAP
Dovecot POP3
Dovecot Secure IMAP
Dovecot Secure POP3
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission
Untuk mengizinkan lalu lintas HTTP (Port 80) dan HTTPS (Port 443), gunakan profil "Nginx Full".
Periksa informasi profil Anda seperti yang ditunjukkan di bawah ini :
$ sudo ufw app info "Nginx Full"
Deskripsi profil di layar akan muncul:
Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server
Ports:
80,443/tcp
Setelah memeriksa profil, Anda akan siap untuk mengaktifkannya:
$ sudo ufw allow in "Nginx Full"
Pada titik ini, konfigurasi NGINX dan firewall selesai. Uji server web dengan mengunjungi alamat http://
Mengonfigurasi dua domain/situs web dengan benar:
Di bawah ini ditampilkan cara mengonfigurasi dua host virtual (disebut "blok server") agar memiliki dua ruang web yang benar-benar terpisah. Dalam contoh ini, kita akan menggunakan dua domain fiktif:
www.domainanda.com
www.domainanda2.com
Kedua catatan A harus mengarah ke alamat IP publik server Anda .
Mulailah dengan membuat semua folder yang diperlukan untuk menyimpan file publik situs web Anda:
$ sudo mkdir /var/www
$ sudo mkdir /var/www/yourdomain.com
$ sudo mkdir /var/www/yourdomain.com/htdocs
$ sudo mkdir /var/www/yourdomain.com/logs
$ sudo mkdir /var/www/yourdomain2.com
$ sudo mkdir /var/www/yourdomain2.com/htdocs
$ sudo mkdir /var/www/yourdomain2.com/logs
Sebagai konten sementara, salin halaman NGINX default ke folder htdocs dari setiap domain:
$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain.com/htdocs/
$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain2.com/htdocs/
Sekarang, lanjutkan ke konfigurasi sebenarnya dari NGINX. NGINX biasanya membaca semua file .conf di direktori /etc/nginx/conf.d/, lanjutkan dengan membuat dua file (satu per domain), beri nama:
domainanda_com.conf
domainanda2_com.conf
Gunakan editor teks favorit Anda untuk menulis konfigurasi berikut di file yourdomain_com.conf:
server {
listen 80;
server_name yourdomain.com *.yourdomain.com;
root /var/www/yourdomain.com/htdocs;
access_log /var/www/yourdomain.com/logs/access.log main;
error_log /var/www/yourdomain.com/logs/error.log warn;
}
Jelas Anda juga harus menggunakan konfigurasi serupa untuk yourdomain2_com.conf:
server {
listen 80;
server_name yourdomain2.com *.yourdomain2.com;
root /var/www/yourdomain2.com/htdocs;
access_log /var/www/yourdomain2.com/logs/access.log main;
error_log /var/www/yourdomain2.com/logs/error.log warn;
}
Selain pengaturan folder root untuk file domain virtual, ada juga pengaturan untuk mengkonfigurasi jalur file log (baik akses dan kesalahan) agar memiliki satu log per domain. Biasanya, NGINX menyimpan semua log di direktori /var/log/nginx/ tetapi dalam kasus beberapa domain, hasilnya mungkin membingungkan.
Log dapat menjadi terlalu besar dari waktu ke waktu jika jalurnya diubah. Oleh karena itu, perlu untuk mengatur rotasi file untuk menghilangkan konten yang paling lama. Untuk melakukannya, gunakan perangkat lunak logrotate.
Untuk menambahkan file log baru di pengaturan logrotate, edit file /etc/etc/logrotate.d/nginx:
/var/log/nginx/*log {
create 0644 nginx nginx
daily
rotate 10
missingok
notifempty
compress
sharedscripts
postrotate
/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true
endscript
}
Seperti yang Anda lihat, sudah ada konfigurasi untuk file NGINX di /var /log/nginx. Lanjutkan dengan memodifikasi bagian pertama dari file sebagai berikut:
/var/log/nginx/*log
/var/www/*/logs/* {
...
}
Setelah perubahan ini dibuat, logrotate akan mengelola semua file di folder log dari /var/www/mydomain.it dan /var/www/yourdomain.com (dan lainnya), tanpa harus khawatir tentang domain lain yang mungkin ditambahkan di masa mendatang.
Setelah selesai, mulai ulang layanan untuk menerapkan perubahan:
$ sudo systemctl reload nginx