Kami akan menunjukkan cara membuat Host Virtual Nginx, juga dikenal sebagai Blok Server Nginx. Dalam salah satu tutorial kami sebelumnya, kami menjelaskan Cara menginstal dan mengkonfigurasi server LNMP (Nginx, MySQL dan PHP) pada VPS Debian 6 (squeeze), sekarang kita akan melihat cara mengatur blok server baru (virtual host ) untuk setiap domain baru.
Catatan:"VirtualHost" adalah istilah Apache. Nginx tidak memiliki Virtual host, ia memiliki “Server Blocks” yang menggunakan server_name dan mendengarkan arahan untuk mengikat ke soket tcp.
Skrip berikut dapat digunakan untuk menyiapkan blok server baru di server Nginx Anda.
#!/usr/bin/env bash # # Nginx - new server block # http://rosehosting.com # Functions ok() { echo -e '\e[32m'$1'\e[m'; } # Green die() { echo -e '\e[1;31m'$1'\e[m'; exit 1; } # Variables NGINX_AVAILABLE_VHOSTS='/etc/nginx/sites-available' NGINX_ENABLED_VHOSTS='/etc/nginx/sites-enabled' WEB_DIR='/var/www' WEB_USER='www-data' # Sanity check [ $(id -g) != "0" ] && die "Script must be run as root." [ $# != "1" ] && die "Usage: $(basename $0) domainName" # Create nginx config file cat > $NGINX_AVAILABLE_VHOSTS/$1 <<EOF server { server_name $1; listen 80; root $WEB_DIR/$1/public_html; access_log $WEB_DIR/$1/logs/access.log; error_log $WEB_DIR/$1/logs/error.log; index index.html index.php; location / { try_files \$uri \$uri/ @rewrites; } location @rewrites { rewrite ^ /index.php last; } location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } location ~ /\.ht { deny all; } location ~ \.php { fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; } } EOF # Creating {public,log} directories mkdir -p $WEB_DIR/$1/{public_html,logs} # Creating index.html file cat > $WEB_DIR/$1/public_html/index.html <<EOF <!DOCTYPE html> <html lang="en"> <head> <title>$1</title> <meta charset="utf-8" /> </head> <body class="container"> <header><h1>$1<h1></header> <div id="wrapper"><p>Hello World</p></div> <footer>© $(date +%Y)</footer> </body> </html> EOF # Changing permissions chown -R $WEB_USER:$WEB_USER $WEB_DIR/$1 # Enable site by creating symbolic link ln -s $NGINX_AVAILABLE_VHOSTS/$1 $NGINX_ENABLED_VHOSTS/$1 # Restart echo "Do you wish to restart nginx?" select yn in "Yes" "No"; do case $yn in Yes ) /etc/init.d/nginx restart ; break;; No ) exit;; esac done ok "Site Created for $1"
Inilah fungsinya, singkatnya:
- Membuat direktori baru untuk situs (/var/www/DOMAIN.COM/public_html)
- Membuat direktori baru untuk file log (/var/www/DOMAIN.COM/logs)
- Menetapkan pemilik/grup yang benar.
- Membuat file index.html sederhana untuk menunjukkan bahwa situs berfungsi.
- Meminta restart.
Untuk menggunakan jenis skrip:
./nginx_vhost.sh newdomain.com
Script harus bekerja pada Debian, Ubuntu, dan distribusi yang terkait erat.
Jika Anda menggunakan salah satu paket Hosting VPS Ubuntu kami, Anda tidak perlu membuat Nginx Virtual Host sendiri, Anda cukup meminta admin Linux ahli kami untuk membuatkan blok server Nginx untuk Anda. Mereka tersedia 24×7 dan akan segera memenuhi permintaan Anda.
PS. Jika Anda menyukai postingan ini, tentang cara membuat virtual host Nginx, silakan bagikan dengan teman-teman Anda di jejaring sosial menggunakan tombol di sebelah kiri atau cukup tinggalkan balasan di bawah. Terima kasih.