Cara Membuat Virtual Host Menggunakan NGINX di Ubuntu


NGINX

Pada setiap aplikasi Web pasti menggunakan sebuah Web Server. Ada beberapa Web server seperti Apache, Apache Tomcat dan Nginx. Pada tulisan kali ini, kita akan membuat Web Server dengan menggunakan Nginx. Nginx adalah Web Server berbasis open source yang memiliki beberapa fungsi seperti proxy dan HTTP server. Nginx adalah Web Server yang bersifat Asyncronus yang dimana bisa menerima request secara bersamaan.

Virtual Host

Virtual Host berfungsi untuk mengatur Web Server agar dalam satu server bisa menjalankan banyak website atau dalam satu ip address. Misalkan suatu domain ingin ditambahkan sub domain yang berisi website yang berbeda. Cara ini dapat dilakukan di NGINX agar satu mesin atau ip address bisa menangani banyak website berbeda.

Tahap 1 – Install Nginx

Yang pertama dilakukan adalah menginstall nginx, dan kali ini saya menggunakan ubuntu. untuk perintahnya seperti ini.

sudo apt update
sudo apt install nginx

Bila nginx sudah terinstall, maka lanjutkan dengan mengaktifkan Nginx secara manual terlebih dahulu menggunakan command ini.

sudo service nginx start

Pastikan nginx nya sudah aktif dan running dengan menggunakan command ini.

sudo service nginx status

Apabila teman-teman ingin restart service nginx bisa menggunakan command ini.

sudo service nginx restart

Untuk stop service nginx dengan command ini.

sudo service nginx stop

Lanjutkan dengan melakukan test pada browser dengan membuka url http://127.0.0.1 atau http://localhost atau bisa juga menggunakan http://ip-address (gunakan ip address PC)

Tahap 2 – Konfigurasi Nginx

Edit file konfigurasi Nginx dengan perintah.

nano /etc/nginx/nginx.conf

Berikutnya tambahkan baris ini setelah include /etc/nginx/conf.d/*.conf;

include /etc/nginx/sites-enabled/*;

Tahap 3 – Membuat Directory Konfigurasi Terpisah

Membuat directory secara terpisah ini bertujuan agar membedakan 1 config nginx website dengan website yang lain. Biasanya saat install Nginx terbaru sudah dibuatkan directory ini. Jika belum ada, bisa jalankan perintah dibawah.

mkdir -p /etc/nginx/sites-available/
mkdir -p /etc/nginx/sites-enabled/

chmod 755 /etc/nginx/sites-available/
chmod 755 /etc/nginx/sites-enabled/

Tahap 4 – Membuat Directory Untuk Menyimpan Website

Buat folder atau directory untuk menyimpan file website seperti html, css atau javascript.

mkdir -p /var/www/php7.belajar.nginx/
mkdir -p /var/www/php5.belajar.nginx/

Tahap 5 – Membuat File Website

Untuk kali ini kita membuat halaman HTML sederhana saja tanpa menggunakan CSS atau javascript untuk mengetahui bahwa website yang pertama dan yg lain itu berbeda.

Website 1

Jalankan perintah.

nano /var/www/php7.belajar.nginx/index.html

Lalu isikan kode HTML seperti berikut dan save bila sudah selesai.

<html>

    <head>

        <title>Ini Website PHP 7</title>

    </head>

    <body>

        Website ini akan menggunakan php 7

    </body>

</html>

Website 2

Jalankan Perintah.

nano /var/www/php5.belajar.nginx/index.html

Tulis script HTML sama seperti diatas, tetapi bedakan isi body dan titlenya agar terlihat perbedaannya dan jangan lupa save dan exit.

<html>

    <head>

        <title>Ini Website PHP 5</title>

    </head>

    <body>

        Website ini akan menggunakan php 5

    </body>

</html>

Tahap 6 – Melakukan Konfigurasi

Buat file konfigurasi pada directory konfigurasi yang sudah dibuat pada tahap sebelumnya.

sudo nano /etc/nginx/sites-available/php7.belajar.nginx

Lalu tulis script dibawah ini dan save.

server {

    listen 80;

    listen [::]:80;

    root /var/www/php7.belajar.nginx/;

    index index.html index.htm 

    server_name php7.belajar.nginx

    location / {

        try_files $uri $uri/ =404;

    }

}

Lalu buat konfigurasi untuk website yang kedua.

sudo nano /etc/nginx/sites-available/php5.belajar.nginx

Dan isinya seperti ini.

server {

    listen 80;

    root /var/www/php5.belajar.nginx/;

    index index.html index.htm 

    server_name php5.belajar.net

    location / {

        try_files $uri $uri/ =404;
        
    }

}
ln -s /etc/nginx/sites-available/php7.belajar.nginx /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/php5.belajar.nginx /etc/nginx/sites-enabled

Untuk memastikan konfigurasi yang kita buat tidak ada masalah dengan menggunakan perintah.

nginx -t

Apabila konfigurasi yang sudah disiapkan befungsi dengan baik dan tidak ada error, maka output pada terminal yang seharusnya muncul seperti ini.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Maka bisa dilanjut untuk start nginx dengan perintah ini.

sudo service nginx start

Lalu teman-teman bisa buka browser untuk membuka url php5.belajar.nginx dan php7.belajar.nginx.

Maka yang yang tambil pada kedua domain tersebut akan berbeda kontennya seperti ini.

virtual host nginx result

Sekian untuk tutorial kali ini. Terima kasih banyak sudah mampir.

Leave a Reply

Your email address will not be published. Required fields are marked *