Konfigurasi Multi Domain Dengan Nginx Server Blocks Ubuntu

Jika pada apache dikenal dengan istilah virtual hosts, maka pada nginx dikenal dengan istilah server blocks. Seperti halnya virtual hosts, server blocks juga digunakan untuk menambahkan lebih dari satu domain dalam satu VPS. Dengan adanya fungsi server blocks yang bermanfaat seperti itu, diharapkan akan dapat menekan biaya operasional yang harus anda keluarkan untuk membuat dan mengelola beragam situs yang anda miliki.

Sebelum memulai melakukan konfigurasi multi domain dengan nginx server blocks di VPS Ubuntu, terlebih dahulu anda harus sudah memiliki VPS dengan sistem operasi Linux Ubuntu (saya menggunakan ubuntu 14.04). Selain itu, anda juga harus memiliki lebih dari satu domain yang akan anda gunakan untuk uji coba. Jika anda tidak ingin mengeluarkan banyak biaya, silahkan anda daftar domain gratis saja.cara menggunakan nginx, cara membuat virtual hosts nginx, cara konfigurasi nginx server blocks

Berikut ini langkah-langkah konfigurasi nginx server blocks ubuntu :

Langkah Awal :

  • Bagi yang masih bingung dengan cara menggunakan VPS Linux, silahkan baca dulu artikelnya disini.
  • Pastikan anda sudah menginstall nginx di VPS anda (cara install nginx bisa dilihat di artikel cara install LEMP ubuntu 14.04).
  • Pastikan pula anda sudah menghubungkan nama domain ke IP VPS melalui A records. Hal ini bertujuan supaya setelah anda mencoba melakukan konfigurasi nginx server blocks ini, anda akan langsung bisa melakukan test melalui browser.


Membuat Direktori Baru Untuk Dokumen Root

Secara default, dokumen root nginx berada di direktori  /usr/share/nginx/html. Namun, kali ini, anda akan membuat direktori baru untuk setiap domain yang anda miliki. Dalam tutorial ini saya menggunakan nama domain 1dpaper.com dan dedeerik.ml. Silahkan anda ganti kedua nama domain tersebut dengan nama domain yang anda miliki.

sudo mkdir -p /var/www/1dpaper.com/html
sudo mkdir -p /var/www/dedeerik.ml/html

Sekanjutnya berikan commend berikut untuk merubah kepemilikan :

sudo chown -R $USER:$USER /var/www/1dpaper.com/html
sudo chown -R $USER:$USER /var/www/dedeerik.ml/html

Selanjutnya anda rubah hak aksesnya ke 755 :

sudo chmod -R 755 /var/www


Membuat File Contoh Untuk Situs Anda

Dalam artikel ini saya hanya akan memberikan contoh pembuatan file index.html yang akan dijadikan sebagai file index dari kedua situs dengan domain diatas. Anda bisa berkreasi dengan mengganti index.html dengan file index lain yang anda suka, misalnya index.php, index.htm dan lain-lain.

Untuk membuat file tersebut, silahkan anda gunakan editor pilihan anda. Saya menggunakan nano editor :

nano /var/www/1dpaper.com/html/index.html

Masukkan contoh kode html seperti berikut ini :

<html>
    <head>
        <title>Situs 1dpaper.com!</title>
    </head>
    <body>
        <h1>Berhasil!  Server Blocks Nginx 1dpaper.com Berjalan Dengan Sempurna!</h1>
    </body>
</html>

Silahkan save file tersebut dengan CTRL+X,Y.

Untuk situs lainnya (dedeerik.ml), silahkan dicopy saja file index.html tadi dengan cara :

cp /var/www/1dpaper.com/html/index.html /var/www/dedeerik.ml/html/

Supaya tempilannya dapat dibedakan, silahkan anda cukup edit saja file tersebut :

nano /var/www/dedeerik.ml/html/index.html

Cukup ganti kata nama domain asal (1dpaper.com) menjadi nama domain lain (dedeerik.ml) :

<html>
    <head>
        <title>Situs dedeerik.ml!</title>
    </head>
    <body>
        <h1>Berhasil!  Server Blocks Nginx dedeerik.ml Berjalan Dengan Sempurna!</h1>
    </body>
</html>


Membuat File Server Blocks Untuk Masing-masing Domain

Pertama, membuat file server blocks untuk domain yang kesatu (1dpaper.com). Caranya :

sudo nano /etc/nginx/sites-available/1dpaper.com

Masukan baris-baris berikut ini kedalam file tersebut :

server {
 listen 80;

 root /var/www/1dpaper.com/html;
 index index.php index.html index.htm;

 server_name 1dpaper.com www.1dpaper.com;

 location / {
 try_files $uri $uri/ =404;
 }

 error_page 404 /404.html;
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root /var/www/1dpaper.com/html;
 }

 location ~ \.php$ {
 try_files $uri =404;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/var/run/php5-fpm.sock;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 }
}

Jangan lupa ganti 1dpaper.com atau 1dpaper, sesuai dengan domain yang anda miliki. Simpan konfigurasi diatas dengan CTRL+X, Y.

Setelah selesai menyimpan konfigurasi diatas, saatnya membuat file server blocks untuk domain yang lainnya (dedeerik.ml). Caranya silahkan copy saja dari file server blocks yang pertama :

sudo cp /etc/nginx/sites-available/1dpaper.com /etc/nginx/sites-available/dedeerik.ml

Buka file hasil copy tadi untuk mengedit dan menyesuaikan beberapa bagian baris :

sudo nano /etc/nginx/sites-available/dedeerik.ml

Berikut adalah bagian yang dirubah :

root /var/www/1dpaper.com/html;
server_name 1dpaper.com www.1dpaper.com;

Ganti menjadi :

root /var/www/dedeerik.ml/html;
server_name dedeerik.ml www.dedeerik.ml;

Simpan file  hasil edit dengan CTRL+X, Y.

Enable Server Blocks dan Restart Nginx

Langkah terakhir adalah enable server blocks yang sudah dibuat diatas dengan cara membuat link simbolik yang akan menciptakan file simbolik pada direktori /etc/nginx/sites-enabled/. Lakukan dengan perintah seperti berikut ini :

sudo ln -s /etc/nginx/sites-available/1dpaper.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/dederik.ml /etc/nginx/sites-enabled/

Anda dapat mendisable file server blocks default dengan perintah :

sudo rm /etc/nginx/sites-enabled/default

Edit pengaturan server_names_hash_bucket_size 64; yang terdapat dalam file konfigurasi default nginx dengan mengetikkan :

sudo nano /etc/nginx/nginx.conf

Silahkan hapus tanda pagar sebelum server_names_hash_bucket_size 64;. Jangan lupa save sebelum keluar dari file konfigurasi tersebut, lalu restart service nginx melalui command :

sudo service nginx restart

Silahkan anda buka kedua alamat situs tersebut di browser anda dan pastikan anda mendapatkan tampilan halaman seperti berikut ini :cara membuka situs nginx, cara remove nginx ubuntu

cara konfigurasi nginx, mengatasi nginx error, menghilangkan error nginxSilahkan test juga dengan menggunakan www sebelum nama domain.

Demikianlah cara mengatur nginx server blocks di VPS Ubuntu. Jika terdapat error failed saat restart nginx, silahkan anda cek error log yang terdapat di /var/log/nginx/error.log.

 

 

Leave a Reply

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