
Membuat virtual host di nginx. Menghosting banyak website di nginx. Untuk konfigurasi, kita akan mengikuti cara Debian/Ubuntu, yang memisahkan setiap virtual host dalam satu berkas yg terpisah.
Untuk cara instalasi, silakan ikuti di tulisan sebelumnya: VIDEO: Instalasi Nginx di Ubuntu Hardy
Contoh konfigurasi berkas nginx.conf
Lihat contoh konfigurasi berkas /opt/nginx/conf/nginx.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log combined;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
# virtual host default
#
server {
listen 80;
server_name _; #default
root html;
}
# vhost1
#
server {
listen 80;
server_name vhost1.ngadimin.com;
access_log /var/log/nginx/vhost1.ngadimin.com_access.log combined;
root /sites/vhost1;
}
# vhost2
#
server {
listen 80;
server_name vhost2.ngadimin.com;
access_log /var/log/nginx/vhost2.ngadimin.com_access.log combined;
root /sites/vhost2;
}
} |
Untuk membuat virtual host di nginx, Anda perlu membuat blok konfigurasi server { }, seperti tampak pada baris no 22 s.d 46.
Lokasi root folder, didefainisikan pada baris yang dimulai dengan kata root. Seperti pada baris ke 36 di vhost1.
Default Virtual Host
Untuk membuat virtual host default, yaitu virtual host yang menangani semua request yang tidak menyertakan host header atau alamat yang belum dikonfigurasi virtual hostnya, Anda bisa membuat konfigurasi seperti pada baris ke 22 s.d 28.
Sebagai catatan, konfigurasi untuk default virtual host pada versi sebelum 0.6.x,
1 2 3 | server {
server_name _ *;
} |
Kemudian di versi 0.6.x konfigurasinya berubah menjadi seperti di bawah ini:
1 2 3 | server {
server_name _;
} |
Sejak versi 0.7.x, konfigurasi server_name untuk default virtual host, bisa dikosongkan seperti pada contoh di bawah ini:
1 2 3 | server {
server_name "";
} |
Konfigurasi Virtual Host gaya Debian
Pada paket yang disertakan di debian atau ubuntu, konfigurasi virtual host biasanya dipisah-pisah. Satu virtual host satu berkas. Kita akan mengikuti cara itu, untuk memudahkan dalam mengadministrasi konfigurasi virtual host di server kita.
Buat dua direktori baru
Direktori pertama, tempat konfigurasi virtual host disimpan
sudo mkdir /opt/nginx/conf/sites-available
Direktori kedua, tempat konfigurasi virtual host diaktifkan. Caranya dengan melakukan soft link ke berkas konfigurasi virtual host.
sudo mkdir /opt/nginx/conf/sites-enabled
Sekarang kita akan memisahkan konfigurasi virtual host di atas. Untuk vhost1.ngadimin.com misalnya, buat berkas baru di /opt/nginx/conf/sites-available/vhost1.ngadimin.com.
1 2 3 4 5 6 | server {
listen 80;
server_name vhost1.ngadimin.com;
access_log /var/log/nginx/vhost1.ngadimin.com_access.log combined;
root /sites/vhost1;
} |
Dan sekarang Anda harus mengubah berkas nginx.conf, menjadi seperti di bawah ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ...
# dipotong...
http {
# ...
# dipotong...
server {
listen 80;
server_name _; #default
root html;
}
# konfigurasi virtual host
include sites-enabled/*;
} |
Perhatikan baris ke 16, itu adalah konfigurasi yang menyertakan berkas virtual host di berkas terpisah. Dan untuk mengaktifkannya, Anda harus membuat soft link dari berkas di folder sites-available ke folder sites-enabled
cd /opt/nginx/conf/sites-enabled
sudo ln -s /opt/nginx/conf/sites-available/vhost1.ngadimin.com .
Setelah dibuat soft link, sekarang Anda tinggal restart nginx.
sudo /etc/init.d/nginx restart
Membangun Web Server dengan Nginx
- VIDEO: Instalasi Nginx di Ubuntu Hardy
- Instalasi PHP sebagai FastCGI di Nginx
- Konfigurasi Virtual Host di Nginx

Satu Komentar
hallo kang,
mau bertanya ni kang ?
kalo untuk nginx sebagai reverse dan http proxy gemana yah ? just info saya sedang mencoba install sebuah server dengan virtualmin auto installer, saya ingin mencoba untuk handle file2 static di handle oleh nginx dan file2 dinamis menggunakan apache.
ada saran untuk kondisi seperti ini ? oiya mesin yang saya oprek Debian dan CentOS
hatur nuhun pencerahannya