Vhost viết tắt của virtual host là kỹ thuật cho phép nhiều website có thể chia sẻ chung một IP.Trong phần này, chúng ta sẽ tập trung viết về cấu hình vhost cho nginx và cấu hình php-fpm để vhost xử lý được file php Để xem cách cài đặt nginx bạn có thể xem lại bài trước tại đây
1. Mô hình cài đặt
Webserver: Chuẩn bị một máy chủ cài đặt OS Centos 7.6.1810 có địa chỉ IP public 10.10.11.165
Máy Client: Chuẩn bị một máy client cài đặt OS Win 10 để kiểm tra truy cập website với IP client 10.10.11.160
2. Cài đặt php
Để Vhost có thể xử lý được file php chúng ta cần cài đặt php, php-fpm và các extention liên quan.Chúng ta truy cập ssh vào máy chủ webserver và chạy lệnh cài đặt bên dưới
yum install -y php-common php-bcmath php-cli php-devel php-mcrypt php-mysql php-password-compat php-pclzip php-pdo php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-dba php-embedded php-enchant php-mbstring php-intl libssh2 php-pecl-ssh2 php-pecl-memcached php-pecl-memcache php-fpm
Sửa file cấu hình của php-fpm
sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
service php-fpm restart
3. Cấu hình Virtual Host
Truy cập vào đường dẫn chứa file config của nginx
Backup lại file nginx.conf
mv nginx.conf nginx.conf.bak
Sửa file cấu hình Nginx
cat >> nginx.conf > quyenbx.name.vn.conf > info.php
EOF
Sau đó chúng ta truy cập đường dẫn //quyenbx.name.vn/info.php trả về kết quả như hình bên dưới
LƯU Ý: Thực thế người dùng có domain đăng ký ở các nhà cung cấp ví dụ Nhân Hòa thì cần trỏ bản ghi cho tên miền về IP của server website để có thể truy cập trên trình duyệt web.Trong bài viết này mình sử dụng add file hosts trong windows để truy cập
4. Thêm một Virtual Host khác trên server Web
Để thêm một Vhost khác trên server Website chúng ta thao tác lại các bước bên dưới.Ví dụ mình muốn thêm một website khác trên server này với tên thangth.name.vn
Truy cập vào đường dẫn chung chứa code của các website và tạo thư mục riêng chứa code của site thangth.name.vn
cd /var/www/html
mkdir thangth.name.vn
Truy cập đường dẫn chứa các file cấu hình của virtualhost
Tạo virtualhost trong Nginx
sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
service php-fpm restart
0Restart lại service nginx
Trong bài viết này sử dụng domain quyenbx.name.vn để cấu hình virtualhost, người dùng cần thay đổi tên domain cũng như đường dẫn chứa code phù hợp
sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
service php-fpm restart
1Truy cập đường dẫn chứa code của site quyenbx.name.vn
sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
service php-fpm restart
2Chúng ta tiến hành tạo 1 file info.php trong thư mục /var/www/html/quyenbx.name.vn để kiểm tra website
Sau đó chúng ta truy cập đường dẫn //quyenbx.name.vn/info.php trả về kết quả như hình bên dưới