GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Host virtual Nginx – Blok server Nginx

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:

  1. Membuat direktori baru untuk situs (/var/www/DOMAIN.COM/public_html)
  2. Membuat direktori baru untuk file log (/var/www/DOMAIN.COM/logs)
  3. Menetapkan pemilik/grup yang benar.
  4. Membuat file index.html sederhana untuk menunjukkan bahwa situs berfungsi.
  5. 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.


Panels
  1. Instal Nginx dan konfigurasikan Virtual host di Ubuntu 20.04

  2. Host WordPress di Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

  3. Cara Menginstal Nginx di Ubuntu 18.04

  1. nginx - 413 Permintaan Entitas Terlalu Besar

  2. Cara Membuat Virtual Host Nginx (Blok Server)

  3. Konfigurasi Host Virtual Apache – Linux

  1. Instal server web Apache di Linux Mint 13 / Linux Mint 14

  2. Cara Menginstal LEMP di Ubuntu 16.04

  3. Instal Nginx di Windows