Cara Install Nginx di CentOS 8
Nginx adalah salah satu web server populer di dunia yang menjadi pesaing dari Apache web server. Nginx menjadi alternatif pilihan karena lebih hemat dalam pemakaian resources dan selain menjadi web server bisa juga digunakan sebagai reverse proxy.
0.Perangkat yang Digunakan
Sebelum melangkah ke tutorial install Nginx, berikut perangkat yang saya gunakan dalam tutorial ini:
- VPS Vultr CentOS 8 dengan IP Public 139.180.143.87
- Domain superuser.web.id
- Domain wpdev.web.id
1.Install Nginx
Install Nginx langsung dari repository default CentOS 8.
1 | dnf install nginx |
Aktifkan dan jalankan servicenya.
1 2 3 | systemctl enable --now nginx systemctl start nginx systemctl status nginx |
2.FirewallD Service
Masukkan service http ke dalam FirewallD agar web server dapat diakses.
1 2 3 | firewall-cmd --add-service=http --permanent firewall-cmd --reload firewall-cmd --list-services |
Baca tutorial lengkap Cara Setting Firewall dengan FirewallD di CentOS 8
3.Pengujian
Browsing IP CentOS server untuk melakukan pengujian Nginx web server.
4.Menghubungkan Domain dengan VPS
Agar website yang ada di web server CentOS dapat diakses dengan nama domain, buat A record di DNS record dengan memasukkan domain dan IP Public dari VPS.
Browsing domain yang telah dihubungkan ke VPS.
5.Banyak Domain dalam Satu Server (Server Block)
Apakah bisa dalam satu server bisa menjalankan banyak domain atau sub-domain? Jawabannya bisa.
Buat A record seperti langkah sebelumnya pada semua domain yang ingin dihosting di server yang sama.
Kalau langsung melakukan uji browsing ke domain, hasilnya akan menampilkan halaman yang sama.
Agar tiap domain menampilkan halaman website yang berbeda, konfigurasikan server block di Nginx.
Buat direktori Document Root dan index.html untuk masing-masing domain.
1 2 3 4 | cd /var/www mkdir superuser.web.id wpdev.web.id echo "<h1>superuser.web.id</h1>" > superuser.web.id/index.html echo "<h1>wpdev.web.id</h1>" > wpdev.web.id/index.html |
Buat file konfigurasi server block untuk superuser.web.id.
1 2 | cd /etc/nginx/conf.d vi superuser.web.id.conf |
Isi file superuser.web.id.conf.
1 2 3 4 5 6 7 8 9 | server { listen 80; server_name superuser.web.id; root /var/www/superuser.web.id; access_log /var/log/nginx/superuser.web.id.access.log; error_log /var/log/nginx/superuser.web.id.error.log warn; } |
Buat file konfigurasi server block untuk wpdev.web.id.
Isi file wpdev.web.id.conf.
1 2 3 4 5 6 7 8 9 | server { listen 80; server_name wpdev.web.id; root /var/www/wpdev.web.id; access_log /var/log/nginx/wpdev.web.id.access.log; error_log /var/log/nginx/wpdev.web.id.error.log warn; } |
Restart service Nginx.
1 2 | systemctl restart nginx systemctl status nginx |
Pengujian akses masing-masing domain. Hasilnya harus menampilkan halaman index yang berbeda.
Selamat mencoba 🙂
pak Musa , thx tulisannya.
Saya coba untuk install nginx dan pada langkah ini ada masalah seperti ini pak,
[root@test test.co.id]# cd /etc/nginx/conf.d/
bash: cd: /etc/nginx/conf.d/: Not a directory
alamat yang dituju bukan direktori, mungkin saja ada yang berbeda di versi update
Saya pakai Centos 8.4 dan nginx 1.4 pak