Webinoly – Đơn giản và mạnh mẽ

Tình cờ khi lượt lờ phần support của EasyEngine, thấy một thành viên giới thiệu về Webinoly

Webinoly ra mắt vào 28/08/2017 và thời điểm mình bắt đầu viết bài này thì họ vừa ra v1.1.0 được vài hôm (04/12/2017) 😀 hiện tại họ đã ra phiên bản v1.16.7, nhân dịp cuối  2022 dùng lại Webinoly nên mình cập nhập lại bài này, vì các câu lệnh họ đổi lại hết cả 😀

Giới thiệu về Webinoly

Webinoly v1.16.7 chạy trên Nginx v1.22.1 + MariaDB v10.6.11 (MySQL) + PHP  v8.1.12 + HTTP/2, QROkes luôn cập nhập mới nhất có thể

Ở bài này mình sẽ chạy thử Webinoly trên UpCLoud với hệ điều hành Ubuntu Server 22.04 LTS (Jammy Jellyfish) , server đặt tại Singapore, cấu hình 1 GB RAM, 1 CPU, 25GB HDD (MaxIOPS), network Gbps

Dùng bản Ubuntu nào thì tùy bạn, tuy thế mình khuyên là nên dùng bản mới nhất có thể, nó đã tối ưu, cài đặt sẵn rất nhiều thứ, cả về hiệu năng, bảo mật và tốc độ

Ports Configuration

  • 22/TCP (Inbound/Outbound)
  • 25/TCP (Outbound)
  • 80/TCP (Inbound/Outbound)
  • 443/TCP (Inbound/Outbound)
  • 587/TCP (Outbound) *Optional for SMTP
  • 11371/TCP (Outbound) *GPG Keys
  • 22222/TCP (Inbound) *Admin area

Mặc định phần lớn các nhà cung cấp VPS đều mở sẵn tất cả các port, các dịch vụ kiểu Oracle, Google, Amazon …. khóa theo mặc định thì bạn vào mở các port theo yêu cầu ở trên là được 😀

Việc cài đặt Webinoly cũng rất đơn giản, chỉ việc chạy dòng bên dưới trong ssh:

wget -qO weby qrok.es/wy && sudo bash weby

Bạn có thể chạy 1 lệnh để kiểm tra tổng quát các thứ cài đặt trên Webinoly

sudo webinoly -info
[NGINX]
Branch:
Version: 1.22.1
worker_processes: auto
worker_connections: 20000
worker_rlimit_nofile: 65535
client_max_body_size: 100m

[NGINX Cache Settings]
FastCGI 200: 30d
FastCGI 3xx/4xx: 1m
FastCGI inactive: 7d
FastCGI max-size: 200m
open_file_cache_valid: 30s
open_file_cache max: 1000
open_file_cache inactive: 10s

[PHP]
Info: PHP 8.1.12 (cli) (built: Oct 28 2022 17:39:57) (NTS)
memory_limit:  192M
post_max_size:  101M
upload_max_filesize:  100M
max_file_uploads:  20
max_execution_time:  60

Process Manager:  dynamic
pm.max_children:  6
pm.start_servers:  2
pm.min_spare_servers:  2
pm.max_spare_servers:  4

[MYSQL]
Info: mysql  Ver 15.1 Distrib 10.6.11-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper
phpMyAdmin: 5.2.0

[Webinoly]
Default site: default
Tools site: default
Tools port: 22222
Timezone: Undefined
SMTP: None

[Internal]
global-access-log-off:true
php-ver:8.1
mysql-ver:10.6
app-version:1.16.7
status-api:wys
pre-packs:true
nginx:true
swap-owner:webinoly
linux-optim:true
server-version:1.7
nginx-optim:true
tools-port:22222
nginx-tool-ssl:true
bkp-source-tmp:true
nginx-tool-bkp:true
php:true
php-optim:true
php-tool-postfix:true
php-tool-redis:true
php-tool-memcached:true
mysql-client:true
mysql-root:YjM0M1dsckxMSEF3RUI4SQo=
mysql-admin:dmpRUjJHbWI3Q3o3WUZPdQo=
mysql:true
mysql-optim:true
mysql-tool-pma:true

Góc độ cá nhân thì sau khi nghịch phá, tinh chỉnh đủ thứ, mình đều thấy các con số tác giả duy trì, nó đã quá tối ưu và hoàn hảo cho 1 hệ thống cơ bản rồi, thành ra không cần thiết phải thay đổi bất cứ điều gì, trừ khi bạn hiểu mình muốn làm gì

Cài đặt WordPress trên Webinoly 

site webinoly.bibica.net -wp

Trong đó “webinoly.bibica.net” thay bằng domain của bạn

Đường dẫn thư mục chính

Config /etc/nginx/sites-available
Root /var/www/webinoly.bibica.net/htdocs

Nhớ cái này để cần chỉnh sửa file config hoặc thư mục gốc thì vào đó là được

Tắt HTTP Authentication

sudo httpauth webinoly.bibica.net -wp-admin=off

Mặc định Webinoly sử dụng “HttpAuth” để tạo thêm 1 lớp login cho các trang như wp-admin, tuy thế với mình là không cần thiết, thành ra mình tắt tính năng này đi

Cài đặt SSL

Bạn có thể cài  ssl bằng lệnh bên dưới

sudo site example.com -ssl=on

Tuy thế ở góc độ cá nhân, thì mình thấy không nên dùng Let’s Encrypt, chủ yếu vì nó quá phiền ở các vấn đề renew, thời gian để đi xử lý các vấn đề liên quan tới ssl rất vô bổ

Dùng TLS certificate signed by Cloudflare, bạn chỉ phải cài 1 lần duy nhất, sau đó không cần quan tâm gì tới cái gọi là ssl nữa

Xong xuôi thì bạn vào domain.com để cài đặt WordPress như thông thường

2022-11-20_07-22-06

Vậy là cơ bản chúng ta đã cài xong WordPress 😀

Tiếp theo chúng ta reboot VPS lại 1 phát, kiểm tra các thứ, xem có hoạt động bình thường không

reboot

Lý thuyết thì trên server linux, thường người quản trị chỉ khởi động, tắt mở các dịch vụ riêng biệt, chứ không bao giờ có khái niệm reboot (khởi động lại máy) lại như trên Windows bao giờ =))

Chủ yếu mình lười, nên thường khi cài đặt 1 hệ thống, setting hết các thứ thì hay reboot kiểm tra cho lẹ thôi 😛

2022-11-20_07-31-13

Chạy mặc định WordPress bạn sẽ thấy dùng rất ít tài nguyên, chạy rất nhẹ

Thử nghiệm tốc độ và độ chịu tải trên WordPress mặc định

2022-11-20_07-59-57

Khá ngạc nhiên, là trên WordPress mặc định, vừa cài đặt, chưa có bài viết gì, thì Webinoly quản lý tốt thật, ở bài test từ loader.io, với 100 kết nối mỗi giây, nó vẫn có thể hoàn thành bài test với 100% kết nối thành công, thời gian phản hồi ~5.1s

Thử nghiệm tốc độ và độ chịu tải trên bibica.net

Tiếp theo mình thử move tất cả mọi thứ trên trang bibica.net sang, xem ở 1 trang hoạt động lâu năm, database to, dữ liệu nhiều …. lúc này độ chịu tải nó sẽ làm sao 😀

Sau đó cũng reboot VPS lại 1 phát để kiểm tra lại thông số

2022-11-20_08-34-13

RAM lúc này đã dùng nhiều hơn, tasks cũng đã chạy nhiều hơn

2022-11-20_08-36-07

Chạy lại bài test từ loader.io, với 100 kết nối mỗi giây, nó sập ngay 😀

2022-11-20_08-39-13

Hạ xuống với 50 kết nối mỗi giây, có thể hoàn thành bài test với 100% kết nối thành công, thời gian phản hồi ~6s

2022-11-20_08-43-19

Hạ xuống với 30 kết nối mỗi giây, có thể hoàn thành bài test với 100% kết nối thành công, thời gian phản hồi ~3.7s

Tất nhiên, thời gian phản hồi ở bài test này, nó sẽ không chính xác, vì server test từ loader.io là ở US, còn server Webinoly đang dùng là từ Singapore, con số cũng để tham khảo phần nào, có điều mình nghĩ nếu ở trang web đang chạy thông thường, chỉ dùng Cloudflare để cache các file tĩnh, trên 1 con VPS 1Gb RAM, mà Webinoly vẫn có thể quản lý có thể đáp ứng nổi 30-50 kết nỗi mỗi giây, thì thật sự tốt, lượng tương tác trên 1 con blog thông thường mình nghĩ cũng khó trang nào có thể đạt 30 comment mỗi giây để sợ sập cả

Các câu lệnh khác

Bạn có thể xem thêm tất cả cách lệnh khác tại phần hướng dẫn của tác giả, mình chỉ liệt kê 1 số thứ hay dùng thôi

Cập nhập phiên bản Webinoly mới nhất

sudo webinoly -update

Bật SFTP

sudo webinoly -login-www-data=on

Chỉnh về múi giờ Việt Nam

timedatectl set-timezone Asia/Ho_Chi_Minh

Hạ cấp PHP xuống 7.4 (nó sẽ chậm hơn so với v8.1, bù lại nó tương thích với nhiều addon, plugin hơn)

sudo stack -php-ver=7.4

Xóa website khỏi hệ thống (thay example.com bằng domain bạn muốn xóa)

sudo site example.com -delete

Thông tin trang web

sudo site example.com -info

Reverse Proxy site (tính năng này mình sẽ nói kĩ hơi 1 xíu, vì nó khá thú vị )

Giả sử bạn có 1 VPS đang dùng Webinoly dùng server tại Singapore, cho tốc độ truy cập tại Việt Nam nhanh nhất

Tiếp theo bạn có 1 VPS khác, có thể ở US….  truy cập tại Việt Nam chậm hơn

Bạn có thể dùng VPS Webinoly làm proxy cho con VPS US này, lúc này truy cập tới VPS US sẽ nhanh hơn

Cụ thể domain bạn dùng ở VPS US là: bibica-us-server.com, IP là: 209.94.63.217, VPS Webinoly IP là 95.111.195.228

Trên VPS Webinoly gõ lệnh

sudo site bibica-us-server.com -proxy=[95.111.195.228:80]

Ở trang quản trị domain bibica-us-server.com, DNS ban đầu là 209.94.63.217, giờ bạn đổi sang IP của VPS Webinoly là 95.111.195.228

Lúc này truy cập thực tế tới trang bibica-us-server.com sẽ đi từ IP 95.111.195.228 -> 209.94.63.217

Cụ thể nếu bạn ping tới 95.111.195.228 là 40, 209.94.63.217 là 200, lúc này khi ping tới bibica-us-server.com sẽ giảm từ 200 ban đầu, xuống còn khoảng ~ 60

Tiếp theo bạn cần xử lý nhỏ thêm một tí, không thì mọi comment, bài viết  trên bibica-us-server.com đều hiện ra là IP 95.111.195.228 

Mở file config domain tại server bibica-us-server.com, ví dụ của mình là /etc/nginx/sites-available/bibica-us-server.com

Bên trong server {…} thêm vào dòng bên dưới

real_ip_header X-Forwarded-For;
set_real_ip_from 0.0.0.0/0;

Tiếp theo khởi động lại nginx là được

service nginx reload

Tổng kết

Cả viết dài như tờ sớ, chứ thực ra cài đặt Webinoly bạn chỉ cần type 2-4 dòng là đủ để chạy tốt mọi thứ rồi

wget -qO weby qrok.es/wy && sudo bash weby
site webinoly.bibica.net -wp
sudo httpauth webinoly.bibica.net -wp-admin=off
sudo webinoly -login-www-data=on

Cài xong thì cứ thế mà chạy, gần như cũng chẳng cần nhớ hay biết thêm dòng lệnh nào 😛 Webinoly chạy rất ổn định, rất hiếm lỗi liên quan tới plugin này nọ, vì tác giả cũng quan điểm VPS thì chỉ cài mặc định, end user cần thì gì thì họ tự thêm vào

Thực tế ở nhiều bài test khác trước đây mình từng thử, Webinoly đứng đầu ở việc giữ tỷ lệ uptime khi trang bị quá tải, tốc độ truy cập và chịu tải của nó cũng là hàng đầu, xuất sắc 😀

Cá nhân đánh giá Webinoly là là top đầu trong các script dạng tự config auto, cân đối được giữa bảo mật, tốc độ, chịu tải và rất dễ sử dụng

Related Posts

  1. Webinoly và Oracle Always Free
  2. Cài đặt Webinoly PHP 7.4 nhanh nhất
  3. WordOps
  4. Webinoly trên Oracle VM A1 Flex
  5. Tăng tốc toàn diện cho bibica.net năm 2022

97 thoughts on “Webinoly – Đơn giản và mạnh mẽ”

  1. Sao comment lại thành trùng lặp thế này. Nhưng dùng script này ko có các chức năng cần thiết như auto backup rồi bảo mật các kiểu….. thua xa hostvn script

    Reply
  2. cài xong script, mình cài site wordpress thì không thể truy cập web được (test trên script khác thì vào bình thường), mình sử dụng Ubuntu 20.04.6 LTS. Bạn chỉ mình cách fix với!

    Reply

Leave a Comment