Trong thế giới công nghệ ngày nay, việc tối ưu hóa hiệu suất máy chủ VPS là yếu tố quyết định thành công của các trang web và ứng dụng trực tuyến. Webinoly LEMP Stack nổi bật như một công cụ mạnh mẽ giúp bạn quản lý VPS một cách dễ dàng, nhanh chóng và hiệu quả mà không phát sinh chi phí. Với sự kết hợp hoàn hảo giữa Linux, Nginx, MySQL, và PHP, hệ thống này mang lại tốc độ xử lý vượt trội cùng khả năng tùy chỉnh linh hoạt, đáp ứng mọi nhu cầu từ website nhỏ đến dự án lớn.
Đặc biệt, Webinoly được thiết kế thân thiện với người dùng, hỗ trợ các tính năng tự động hóa và bảo mật mạnh mẽ. Đây là lựa chọn lý tưởng cho những ai muốn nâng cao hiệu suất máy chủ mà không cần đầu tư vào các giải pháp phức tạp và đắt đỏ. Hãy cùng khám phá sức mạnh của Webinoly để đưa dự án của bạn lên một tầm cao mới!
Webinoly LEMP Stack là gì?
Webinoly là một công cụ tự động hóa giúp quản trị viên dễ dàng triển khai và quản lý các máy chủ web, đặc biệt tối ưu hóa cho các website chạy trên nền tảng WordPress. Webinoly được thiết kế đơn giản, mạnh mẽ và tối ưu hóa hiệu suất, phù hợp với cả người dùng mới và chuyên gia. Với Webinoly, bạn chỉ cần vài dòng lệnh để cài đặt và quản lý các thành phần của hệ thống.
LEMP Stack là một nhóm các công nghệ gồm có Linux, Nginx, MySQL/MariaDB, và PHP. Đây là một môi trường lý tưởng để phát triển và vận hành các ứng dụng web, thay thế cho Apache trong mô hình LAMP truyền thống. Nginx trong LEMP Stack nổi bật với hiệu suất cao và khả năng xử lý lượng truy cập lớn mà không làm giảm tốc độ.

Khi kết hợp Webinoly với LEMP Stack, bạn dễ dàng xây dựng một hệ thống web mạnh mẽ, bảo mật và tối ưu hóa chi phí. Đây là lựa chọn phổ biến của nhiều doanh nghiệp và cá nhân để triển khai website chuyên nghiệp.
Tác giả của Webinoly là ai?
Cristhian Martinez Ochoa là tác giả của Webinoly, một giải pháp tối ưu hóa máy chủ web NGINX được thiết kế để giúp các nhà phát triển và quản trị viên web triển khai các hệ thống web nhanh chóng, hiệu quả và dễ dàng.

Ông là một chuyên gia tư vấn CNTT cao cấp tại Mexico với hơn 20 năm kinh nghiệm trong nhiều lĩnh vực, bao gồm cải tiến quy trình kinh doanh, chiến lược thương mại và quản lý dự án. Cristhian có nền tảng kỹ thuật vững chắc với chuyên môn là Kỹ sư Điện tử, cho phép ông kết hợp kiến thức kỹ thuật với các lĩnh vực chiến lược thương mại để làm việc với các công ty công nghệ lớn như Microsoft.
Những điểm nổi bật về chuyên môn của Cristhian:
- Quy trình cải tiến: Ông đã tham gia hơn 40 dự án cải tiến quy trình tập trung vào các khung làm việc như Moprosoft và CMMI.
- Kiến thức kinh doanh: Có kinh nghiệm trong các lĩnh vực như bán hàng, lập kế hoạch chiến lược và quản lý dự án.
- Kỹ năng quản lý: Ông được biết đến với sự nghiêm túc trong việc tuân thủ các kế hoạch và đóng vai trò là nhân tố thay đổi.
- Phát triển phần mềm: Đam mê phát triển phần mềm từ khi còn nhỏ, ông đã học nhiều ngôn ngữ lập trình như C/C++, Assembler, Basic, Clipper, Pascal, và hiện tập trung vào web development (HTML, CSS, PHP, Bash), đặc biệt với NGINX và công nghệ điện toán đám mây (AWS).
Webinoly
Webinoly được Cristhian phát triển nhằm hỗ trợ tối ưu hóa máy chủ web NGINX với các tính năng như:
- Quản lý DNS.
- Cân bằng tải.
- Triển khai CDN.
- Tích hợp cơ sở dữ liệu (MySQL).
- Hệ thống khả năng mở rộng nhanh chóng trên nền tảng cloud.
Liên hệ
- Email: cristhian@qrokes.com
- Số điện thoại: +52 33.1344.3771
Webinoly đã và đang trở thành một công cụ hữu ích cho các dự án web từ nhỏ đến lớn, mang lại hiệu suất cao với sự hỗ trợ của công nghệ hiện đại.
Tại sao tôi đánh giá cao Webinoly hơn các công cụ quản lý VPS miễn phí khác?
Quản lý VPS là một công việc đòi hỏi sự chính xác, hiệu quả, và tối ưu hóa tài nguyên. Trong số nhiều công cụ quản lý VPS hiện nay, Webinoly nổi bật nhờ tính năng hiện đại, sự ổn định lâu dài, và khả năng thích ứng với các yêu cầu từ cơ bản đến phức tạp. Dưới đây là những lý do khiến Webinoly trở thành lựa chọn hàng đầu.
Stack hiện đại và tối ưu hóa hiệu suất
Webinoly sử dụng Modern LEMP Stack, một trong những môi trường máy chủ mạnh mẽ nhất hiện nay. Điều này đảm bảo trang web của bạn hoạt động nhanh, ổn định và dễ dàng mở rộng. Với HTTP/3, tốc độ truy cập nội dung được tăng lên đáng kể, mang lại trải nghiệm người dùng tốt hơn.
Ngoài ra, Webinoly hỗ trợ đầy đủ các phiên bản PHP từ 7.4 đến 8.4, giúp bạn linh hoạt trong việc triển khai mọi loại ứng dụng. Công cụ này còn tích hợp FastCGI Cache và Redis Object Cache, tối ưu hóa bộ nhớ và tăng tốc độ tải trang một cách đáng kể.
Bảo mật tuyệt đối
Webinoly cung cấp chứng chỉ SSL miễn phí thông qua Let’s Encrypt, giúp bảo vệ dữ liệu người dùng và nâng cao uy tín trang web. Hơn nữa, bạn dễ dàng đạt A+ trên bài kiểm tra Qualys SSL Labs, một tiêu chuẩn đánh giá bảo mật cao cấp.
Các tính năng bảo mật nâng cao như HTTP Authentication cũng được tích hợp, cho phép bạn bảo vệ từng thư mục hoặc tệp tin cụ thể.
Tích hợp tuyệt vời với WordPress
Với việc 40% Internet chạy trên nền WordPress, Webinoly cung cấp hỗ trợ toàn diện cho nền tảng này. Bạn có thể dễ dàng cài đặt WordPress ở bất kỳ thư mục con, sử dụng cơ sở dữ liệu bên ngoài, hoặc triển khai môi trường multisite với domain mapping.
Ngoài ra, Webinoly còn hỗ trợ sao lưu toàn diện và di chuyển trang web chỉ trong vài bước đơn giản. Việc tạo bản sao của website để thử nghiệm hoặc phát triển cũng trở nên nhanh chóng nhờ tính năng clone mạnh mẽ.
Linh hoạt và đa dạng
Không chỉ dành cho WordPress, Webinoly còn là nền tảng hoàn hảo để lưu trữ các ứng dụng như Laravel, Java, Node.js, Angular, React và Vue. Với cấu hình NGINX mạnh mẽ, bạn có thể triển khai bất kỳ loại website nào: HTML tĩnh, PHP động, hoặc Reverse-Proxy.
Nếu bạn cần sử dụng dịch vụ lưu trữ file bên ngoài như Amazon S3, Webinoly cung cấp cấu hình Reverse-Proxy để kết nối dễ dàng với tên miền của bạn.
Công cụ quản lý tiên tiến
Webinoly mang đến một bộ công cụ mạnh mẽ giúp quản lý VPS hiệu quả:
- Quản lý chuyển hướng NGINX dễ dàng.
- SMTP tích hợp sẵn để gửi email trực tiếp từ máy chủ.
- Datadog tích hợp để theo dõi và phân tích dữ liệu.
- Xem log trực tuyến theo thời gian thực.
- Quản lý cấu hình độc lập cho từng vị trí hoặc thư mục.
Nói ngắn gọn
Webinoly không chỉ là một công cụ quản lý VPS miễn phí mà còn là giải pháp toàn diện cho cả cá nhân và doanh nghiệp đang tìm kiếm sự ổn định và tối ưu hóa trong môi trường máy chủ. Với hệ thống hiện đại, bảo mật cao và khả năng hỗ trợ đa dạng từ WordPress đến các framework hiện đại, Webinoly xứng đáng là lựa chọn hàng đầu của bạn.
Nếu bạn đang tìm kiếm một công cụ quản lý VPS đơn giản nhưng mạnh mẽ, hãy thử Webinoly ngay hôm nay!
Một số hạn chế của Webinoly mà bạn cần biết
Webinoly là một công cụ quản lý server mạnh mẽ, nhưng không phải ai cũng cảm thấy hài lòng khi sử dụng. Dưới đây là một số điểm hạn chế có thể ảnh hưởng đến trải nghiệm người dùng:
- Tài liệu không miễn phí hoàn toàn: Mặc dù Webinoly cung cấp một số tài liệu miễn phí, nhưng để truy cập các hướng dẫn chuyên sâu và tài liệu nâng cao, bạn sẽ phải trả phí. Điều này có thể gây bất tiện cho những ai đang tìm kiếm giải pháp miễn phí.
- Hỗ trợ có tính phí: Nếu bạn muốn nhận sự hỗ trợ trực tiếp từ tác giả hoặc đội ngũ phát triển, bạn cần chi trả khoảng 10 USD mỗi tháng. Chi phí này bao gồm việc truy cập tài liệu đầy đủ và hỗ trợ kỹ thuật, nhưng không phù hợp với người dùng có ngân sách hạn chế.
- Yêu cầu kiến thức về lệnh bash: Webinoly hoạt động chủ yếu dựa trên các lệnh bash, điều này đòi hỏi người dùng phải có kiến thức cơ bản hoặc chuyên sâu về Linux. So với các công cụ quản lý server sử dụng giao diện đồ họa (panel), Webinoly có thể khiến việc quản lý nhiều website trên cùng VPS trở nên phức tạp hơn, đặc biệt đối với người mới làm quen.
Tóm lại, Webinoly là một công cụ mạnh mẽ nhưng không dành cho tất cả mọi người. Nếu bạn muốn một giải pháp dễ dùng hoặc miễn phí hoàn toàn, hãy cân nhắc lựa chọn khác phù hợp với nhu cầu của mình.
Webinoly – sự lựa chọn hoàn hảo cho CPU ARM của Oracle VPS Free (4CPU ARM – 24GB RAM)
Webinoly là công cụ quản lý máy chủ web mạnh mẽ, hỗ trợ tối ưu hóa hiệu suất cho các máy chủ CPU ARM, đặc biệt phù hợp với Oracle VPS Free (4 CPU ARM, 24GB RAM). Với tính năng tự động hóa cài đặt và quản lý dịch vụ như Nginx, MariaDB/MySQL, PHP, Webinoly giúp bạn tối ưu hóa tài nguyên phần cứng, giảm tải cho CPU và RAM, đồng thời tăng tốc độ xử lý website.
Ưu điểm lớn của Webinoly là dễ sử dụng, nhẹ nhàng và không yêu cầu kiến thức chuyên sâu về hệ thống. Công cụ này đảm bảo hiệu suất vượt trội cho các dự án chạy trên nền tảng ARM của Oracle VPS Free, giúp tiết kiệm chi phí mà vẫn đáp ứng tốt nhu cầu của website.
Ngoài ra, Webinoly tích hợp sẵn các tính năng như HTTPS tự động, tối ưu SEO, quản lý file log và bảo mật. Đây là giải pháp lý tưởng để khai thác tối đa sức mạnh của Oracle VPS với CPU ARM, đặc biệt dành cho các website WordPress hoặc dự án web tốc độ cao.
Webinoly cũng hoạt động tốt với VPS sử dụng CPU AMD Ryzen
Webinoly là một công cụ quản lý máy chủ mạnh mẽ, rất phù hợp để tối ưu hóa hiệu suất cho các website WordPress. Đặc biệt, Webinoly hoạt động ổn định và hiệu quả trên các VPS sử dụng CPU AMD Ryzen, mang đến tốc độ xử lý vượt trội và khả năng chịu tải cao. Các nhà cung cấp dịch vụ VPS như SpeedyPage và GreenCloud đều cung cấp các gói VPS sử dụng CPU AMD Ryzen, đáp ứng nhu cầu của người dùng về tốc độ, hiệu suất và độ tin cậy.
Sự kết hợp giữa Webinoly và CPU AMD Ryzen giúp tối ưu hóa tài nguyên và đảm bảo website hoạt động mượt mà ngay cả khi lưu lượng truy cập lớn. SpeedyPage nổi tiếng với tốc độ nhanh và dịch vụ hỗ trợ chuyên nghiệp, trong khi GreenCloud được đánh giá cao về hiệu năng và tính thân thiện với môi trường. Với sự hỗ trợ của những nhà cung cấp này, việc triển khai Webinoly trên nền tảng sử dụng CPU AMD Ryzen trở nên đơn giản và hiệu quả hơn bao giờ hết.
Lựa chọn Webinoly trên các VPS CPU AMD Ryzen từ SpeedyPage hay GreenCloud sẽ là giải pháp lý tưởng cho những ai đang tìm kiếm sự ổn định và tối ưu hóa chi phí.
Hướng dẫn Webinoly căn bản
Webinoly là công cụ mạnh mẽ giúp quản trị VPS hiệu quả, hỗ trợ cài đặt WordPress và tối ưu hóa server nhanh chóng. Với Webinoly, bạn có thể dễ dàng triển khai môi trường LEMP, quản lý chứng chỉ SSL, và tối ưu hiệu suất website. Quicksite.vn sẽ hướng dẫn chi tiết cách cài đặt, cấu hình và sử dụng Webinoly để đảm bảo website hoạt động mượt mà. Từ việc thiết lập cơ bản đến các tùy chỉnh nâng cao, tài liệu này sẽ giúp bạn tận dụng tối đa Webinoly. Đừng bỏ lỡ cơ hội cải thiện trải nghiệm người dùng trên website của mình!
Cài đặt, cấu hình và tối ưu hóa máy chủ
Mặc định, một hệ thống LEMP stack hoàn chỉnh sẽ được xây dựng, nhưng bạn vẫn có thể cài đặt từng gói phần mềm tùy theo nhu cầu sử dụng. Ví dụ, chỉ cài đặt NGINX nếu bạn chỉ cần chạy các trang HTML.
Các loại trang web được hỗ trợ:
- Trang HTML đơn giản
- Trang web sử dụng PHP
- Hỗ trợ cài đặt WordPress nguyên bản
- Trang web Reverse Proxy
- Dùng NGINX làm proxy phía trước cho ứng dụng/trang web của bạn (Java, Node, Angular, React, Vue, Django, v.v.)
- Sử dụng tên miền riêng để truy cập kho file bên ngoài như S3.
- Trang web “parked” hoặc alias
- Chuyển tiếp tên miền
- Trang web tùy chỉnh hoàn toàn (với cấu hình NGINX do bạn tự thiết lập)
Lưu ý quan trọng:
I – Quản trị máy chủ là một công việc đòi hỏi kỹ năng, kiến thức và kinh nghiệm. Mặc dù Webinoly làm cho việc này trở nên đơn giản hơn, nhưng bạn nên cân nhắc lựa chọn giải pháp khác nếu không sẵn sàng xử lý những vấn đề có thể phát sinh nằm ngoài phạm vi hỗ trợ của Webinoly.
II – CẢNH BÁO: Quản lý máy chủ có thể gây đau đầu nếu bạn không thoải mái khi đọc và hiểu các tài liệu kỹ thuật dành cho nhà phát triển hoặc kỹ sư. Nếu bạn không quen làm việc với Command-Line, chúng tôi khuyên bạn nên chọn một giải pháp khác. Hiện có nhiều dịch vụ Managed Hosting trên thị trường cung cấp hỗ trợ chuyên nghiệp cho người dùng cần sự hỗ trợ này.
III – CẨN THẬN: Webinoly không phù hợp với tất cả người dùng. Dù Webinoly tập trung vào đối tượng doanh nghiệp, bạn vẫn có thể yên tâm rằng ngay cả những trang web nhỏ nhất cũng sẽ được lưu trữ an toàn và hoạt động mượt mà trên máy chủ Webinoly. Tuy nhiên, một số nhóm người dùng – đặc biệt là những người mới bắt đầu hoặc chuyển từ môi trường shared hosting – có thể gặp khó khăn với các tính năng cao cấp hơn. Webinoly không hỗ trợ native cho các plugin cache của WordPress (chúng tôi sử dụng FastCGI thay thế), không hỗ trợ nhiều người dùng PHP (tính năng thường được quảng bá bởi các dịch vụ VPS giá rẻ), và không có bảng điều khiển web (thay vào đó là tích hợp Datadog). Nếu những tính năng này không phù hợp với bạn, hãy cân nhắc chọn giải pháp khác.
IV – Nếu bạn là người dùng hoặc nhà phát triển WordPress đam mê nhưng thiếu kinh nghiệm về quản trị hệ thống, bạn không nên sử dụng Webinoly, trừ khi thực sự hiểu rõ cách vận hành.
Các phiên bản Linux được Webinoly hỗ trợ
- Ubuntu 24.04 và 22.04 (ARM và x86)
Yêu cầu Bash Shell!
Cấu hình cổng
- 22/TCP (Inbound/Outbound)
- 25/TCP (Outbound)
- 80/TCP (Inbound/Outbound)
- 443/TCP/UDP (Inbound/Outbound)
- 587/TCP (Outbound) Tùy chọn cho SMTP
- 11371/TCP (Outbound) GPG Keys
- 22222/TCP (Inbound) Khu vực quản trị
Cài đặt nhanh & ví dụ
Luôn cập nhật và nâng cấp hệ điều hành của bạn trước khi bắt đầu để đảm bảo không gặp rủi ro với các gói lỗi thời khi xây dựng môi trường webserver:
sudo apt update && sudo apt -y upgrade
Ví dụ #1 – Trang HTML đơn giản
# Cài đặt Webinoly NGINX
wget -qO weby qrok.es/wy && sudo bash weby -nginx
# Tạo trang web
sudo site example.com -html
# Thêm chứng chỉ SSL
sudo site example.com -ssl=on
# Kích hoạt user www-data để tải lên và chỉnh sửa tệp qua SFTP
sudo webinoly -login-www-data=on
Ví dụ #2 – Website sử dụng PHP
# Cài đặt Webinoly NGINX và PHP
wget -qO weby qrok.es/wy && sudo bash weby -php
# Tạo trang web
sudo site example.com -php
# Thêm chứng chỉ SSL (HTTPS)
sudo site example.com -ssl=on
# Kích hoạt user www-data để tải lên và chỉnh sửa tệp qua SFTP
sudo webinoly -login-www-data=on
Ví dụ #3 – Website WordPress
# Cài đặt Webinoly LEMP
wget -qO weby qrok.es/wy && sudo bash weby
# Tạo trang WordPress với FastCGI Cache
sudo site example.com -wp -cache=on
# Thêm chứng chỉ SSL (HTTPS)
sudo site example.com -ssl=on
# Truy cập https://example.com để hoàn tất thiết lập WordPress
# Webinoly bảo vệ trang đăng nhập WordPress (wp-admin / wp-login), cần tạo user HTTP Auth để truy cập.
sudo httpauth -add
# Kích hoạt user www-data để tải lên và chỉnh sửa tệp qua SFTP
sudo webinoly -login-www-data=on
Ví dụ #4 – Nginx làm Reverse Proxy cho ứng dụng (Java, Vue, React, Node, Angular, v.v.)
# Cài đặt Webinoly NGINX
wget -qO weby qrok.es/wy && sudo bash weby -nginx
# Tạo Reverse Proxy site (trỏ domain đến ứng dụng của bạn)
sudo site example.com -proxy=[localhost:8082]
# Thêm chứng chỉ SSL
sudo site example.com -ssl=on -root-path=/opt/app/web
Ví dụ #5 – Cấu hình tùy chỉnh
# Cài đặt Webinoly sạch sẽ (không kèm gói nào)
wget -qO weby qrok.es/wy && sudo bash weby -clean
# Thay đổi phiên bản PHP
sudo stack -php-ver=7.4
# Đặt múi giờ
sudo webinoly -timezone
# Chỉnh sửa cấu hình trước khi cài đặt stack
# Ví dụ: thay đổi nhánh Nginx thành 'mainline', chọn MySQL thay vì MariaDB, v.v.
sudo nano /opt/webinoly/webinoly.conf
# Xây dựng stack với cấu hình tùy chỉnh đã sửa
# Sử dụng tùy chọn 'light' để chỉ cài đặt các gói cơ bản (không có công cụ bổ sung như Let's Encrypt, Backup, Postfix, Redis, Memcached, phpMyAdmin, v.v.)
sudo stack -lemp -build=light
# Tạo trang web
sudo site example.com -php
Lệnh cài đặt
Lệnh cài đặt hỗ trợ các tùy chọn giúp đơn giản hóa và tự động hóa quá trình triển khai:
wget -qO weby qrok.es/wy && sudo bash weby <tùy chọn> <phiên bản>
Tùy chọn:
- HTML (-nginx) – Chỉ cài đặt NGINX, hỗ trợ các trang HTML tĩnh.
- PHP (-php) – Cài đặt NGINX và PHP.
- LEMP (-lemp) – Hoàn tất cài đặt LEMP với NGINX + PHP + MySQL (MariaDB). Đây là cấu hình đầy đủ nhất, phù hợp cho các trang WordPress. (Mặc định)
- Cài đặt sau (-clean) – Chỉ cài Webinoly mà không cài gói nào. Dành cho người muốn tự cấu hình thủ công với lệnh
stack
. (Khuyến nghị nếu bạn muốn tùy chỉnh máy chủ)
Ví dụ:
Cài đặt đầy đủ LEMP:
wget -qO weby qrok.es/wy && sudo bash weby -lemp
Cài đặt phiên bản Webinoly cụ thể (từ v1.17.9 trở lên):
wget -qO weby qrok.es/wy && sudo bash weby -lemp -ver=1.17.9
Việc chọn phiên bản cụ thể rất quan trọng trong môi trường tự động hóa tích hợp Webinoly, nhằm đảm bảo tính ổn định hệ thống. Hãy kiểm tra cẩn thận trước khi áp dụng phiên bản mới.
Các phiên bản cũ có thể lỗi thời hoặc thiếu tính năng nên luôn khuyến nghị sử dụng phiên bản mới nhất để đảm bảo hiệu suất tốt nhất.
Hướng dẫn Webinoly nâng cao
Dưới đây là hướng dẫn sử dụng Webinoly với các ví dụ và trường hợp cụ thể có độ phức tạp cao hơn.
Cài đặt Webinoly tùy chỉnh
Cập nhật và nâng cấp hệ điều hành của bạn luôn nên là bước đầu tiên:
sudo apt update && sudo apt -y upgrade
Chúng ta sẽ bắt đầu cài đặt Webinoly với tùy chọn “-clean”, có nghĩa là chỉ cài đặt Webinoly mà không cài đặt thêm gói nào khác trên máy chủ.
wget -qO weby qrok.es/wy && sudo bash weby -clean
Tiếp theo, chúng ta sẽ chỉnh sửa một số giá trị trước khi cài đặt các gói.
# Tệp cấu hình Webinoly
sudo nano /opt/webinoly/webinoly.conf
# Chỉnh sửa các biến này
max-mb-uploads:200
nginx-ppa:mainline
timezone:Asia/Ho_Chi_Minh
Chúng ta định nghĩa kích thước tối đa trong PHP để tải lên tệp là 200Mb, cũng như sẽ cài đặt nhánh “mainline” của Nginx và cài đặt múi giờ theo sở thích của bạn.
Giờ đây, chúng ta đã sẵn sàng để cài đặt và cấu hình tất cả các gói cần thiết trên máy chủ. Chúng ta sử dụng tùy chọn “lemp” để cài đặt, cấu hình và tối ưu hóa đầy đủ Nginx, PHP và MariaDB (MySQL).
sudo stack -lemp
Công cụ phát triển
Chúng ta sẽ bắt đầu bằng cách tạo một trang phát triển trên một tên miền phụ:
sudo site dev.example.com -wp -env=development
Môi trường WP “development” sẽ tự động bật chế độ gỡ lỗi, tắt bộ nhớ đệm và “noindex” cho các công cụ tìm kiếm.
Để truy cập vào khu vực quản trị của trang WordPress mới, cần phải tạo một người dùng cho xác thực HTTP, vì đây là khu vực được bảo vệ.
sudo httpauth -add
Sau khi phát triển xong, chúng ta có thể thiết lập một trang staging và chờ sự phê duyệt từ khách hàng.
sudo site staging.example.com -env=staging -clone-from=dev.example.com
Môi trường staging sẽ tự động tắt chế độ gỡ lỗi WP, bộ nhớ đệm cũng sẽ bị tắt và vẫn giữ “noindex” cho các công cụ tìm kiếm.
Trang có thể được bật hoặc tắt để tránh những lượt truy cập không mong muốn:
sudo site dev.example.com -off
sudo site dev.example.com -on
Webinoly có lệnh “log” để trực quan hóa các sự kiện theo thời gian thực, nó cũng giúp kích hoạt và kiểm soát các nhật ký WordPress, rất hữu ích khi phát triển các giao diện và plugin, hoặc các nhật ký ứng dụng như PHP và MySQL, luôn cần thiết trong quá trình phát triển gần như bất kỳ dự án nào.
Khi dự án hoàn thành, bạn có thể ghi đè trang cũ của mình bằng trang mới trong môi trường sản xuất.
sudo site example.com -clone-from=staging.example.com -cache=on -env=production -overwrite=on
Chế độ gỡ lỗi sẽ tự động bị tắt khi môi trường sản xuất được thiết lập và chỉ mục sẽ được bật cho các công cụ tìm kiếm. Tất nhiên, bộ nhớ đệm FastCGI cũng được bật.
Cuối cùng, chúng ta bàn giao dự án bằng cách thêm chứng chỉ SSL vào trang.
sudo site example.com -ssl=on## Performance, security and Nginx additional adjustments
Normally the NGINX FastCGI cache is configured by Webinoly to expire every 30 days, this is a recommended value for websites with very low traffic.
I explain briefly, the first time you visit a certain page of your site it is saved in the FastCGI cache and it will be there until the expiration period.
If our site has just a few visitors in a day and we have configured a value, for example “1 hour”, most visitors will receive a non-cached version of the page, so there’s no benefit of having the cache enabled.
To modify the configuration and values of FastCGI in Webinoly we use the following command:
```
sudo webinoly -cache-valid
```
We will configure times of 1 hour in cache, 20 minutes of inactivity and 10 minutes for redirects [1h, 20m, 10m]. This would be a configuration that could work very well in very high traffic sites.
We will also modify access to server tools.
```
sudo webinoly -tools-port=18915
sudo webinoly -tools-site=example.com
```
Now we will access with the assigned domain and port: `example.com:18915`.
After the development of the Project is finished, we will modify the default response of Nginx again as a security measure.
```
sudo webinoly -default-site=blackhole
```
Even though we already have Postfix installed for sending emails, I prefer to use an external SMTP service such as Amazon SES, Mailgun, SendGrid, etc.
```
sudo webinoly -smtp
```
**We will also modify some HTTP headers.**
We will set the “preload” option for HSTS, and some custom values for “Referrer” and “Content-Security-Policy”.
```
# Webinoly Configuration File
sudo nano /opt/webinoly/webinoly.conf
# Modify these variables
header-hsts:preload
header-referrer:origin-when-cross-origin
header-csp:default-src https: 'unsafe-eval' 'unsafe-inline'; object-src 'none'
header-permissions:floc
```
### **Wildcard Certificates**
Optionally we could use a single certificate for these sites:
- example.com
- example.com/members
- gps.example.com
- internal.example.com
First, we need to remove the current certificates from the sites `-ssl=off` and create a wildcard certificate for the main site.
```
sudo site example.com -ssl=on -wildcard
```
And finally we add the rest of the sites to this certificate.
```
sudo site gps.example.com -ssl=on -add-to-wildcard=example.com
sudo site internal.example.com -ssl=on -add-to-wildcard=example.com
```
### **Webinoly Internal-API**
The client finally had a special requirement, due to a complex process of internal audits they have a strict control of their servers, so you need that each site that is created on your server be reported to an API of your system and at the end it shows a message.
Using the [Webinoly API-Internal](https://webinoly.com/en/api/internal-api-events/) we can add any action at almost any point of Webinoly execution. Following the instructions, we rename and use the file `/opt/webinoly/lib/api-events` and we addi the following code:
```
api-events_catch_status() {
if [[ $1 == "si1" ]]; then
wget --timeout=10 -t 1 -qO- https://api.example.net/?createsite=true
elif [[ $1 == "sie" ]]; then
echo "All sites are reported to the example.net API in compliance with the computer systems audit."
fi
}
```
## Conclusion
With Webinoly as we could see in the previous example the idea is always to facilitate the routine tasks to fully manage an Nginx web server, everything is a command away.
In this way, Webinoly has become the favorite tool for professionals both in web development and in the business areas of DevOps and Software Engineering as an ally to automate and streamline the deployment of servers.
Cuối cùng, chúng ta sẽ thiết lập một bản sao cục bộ để thực hiện các cập nhật nhỏ thường xuyên.
sudo site local.example.com -env=local -clone-from=example.com
Đẩy cập nhật lên môi trường sản xuất:
sudo site example.com -clone-from=local.example.com -cache=on -env=production -overwrite=on
Tạo trang với Webinoly
Công ty đã phát triển và khách hàng của chúng tôi đã tạo ra một dự án phi lợi nhuận, vì vậy họ đã mua một miền “.ORG” để quảng bá nó.
Chúng tôi đề xuất một trang HTML đơn giản với thông tin chung về dự án và thông tin liên hệ, bao gồm một mẫu liên hệ để khách truy cập gửi câu hỏi cho chúng tôi.
Đây là một dự án khá đơn giản, vì vậy chúng tôi bắt đầu bằng cách tạo trang với hỗ trợ PHP để thực thi mẫu liên hệ.
sudo site example.org -php
Chúng tôi bật quyền truy cập SFTP để tải lên các tệp của trang mới.
sudo webinoly -login-www-data=on
Sau một số lần sửa đổi, dự án đã hoàn thành và chúng tôi bàn giao trang, nhưng không quên thêm chứng chỉ SSL.
sudo site example.org -ssl=on
WordPress cài đặt trong thư mục con
Cuối cùng, khách hàng quyết định thêm một blog để xuất bản các bài viết, vì vậy chúng tôi nhanh chóng thêm một trang WordPress được cài đặt trong thư mục con của trang PHP hiện tại.
sudo site example.org -wp=custom -subfolder=/articles
Vì sẽ có hàng nghìn bài viết trên trang này, chúng tôi quyết định sử dụng cơ sở dữ liệu bên ngoài trong dịch vụ RDS của Amazon Web Services, vì vậy chúng tôi sử dụng tùy chọn “custom” để cài đặt WordPress và theo cách này Webinoly sẽ yêu cầu dữ liệu để kết nối với cơ sở dữ liệu và thiết lập trang tự động.
Ngoài ra, họ đã yêu cầu loại bỏ xác thực HTTP để truy cập khu vực quản trị WordPress của trang cụ thể này. Mặc dù không được khuyến nghị, nhưng nó cần thiết do số lượng tác giả và người dùng mà trang này sẽ có.
sudo httpauth example.com -wp-admin=off -subfolder=/articles
Rất quan trọng, đừng quên bật bộ nhớ đệm cho WP:
sudo site example.org -cache=on -subfolder=/articles
WordPress Multisite
Công ty của khách hàng chúng tôi đã phát triển, và sau một số cập nhật và cải tiến cho trang chính example.com
, hiện tại chúng tôi được yêu cầu thêm vào trang này một khu vực riêng tư để công bố thông tin nội bộ của công ty. Ngoài ra, cũng cần tạo một trang mới cho trường học mới được thành lập để bán các chứng chỉ của công ty.
Quyết định đầu tiên là chuyển đổi trang chính thành “Multisite” để chúng tôi có thể thêm các trang và quản lý chúng từ cùng một nơi.
sudo site example.com -multisite-convert
Chúng tôi cấu hình trang với tùy chọn “thư mục con” và sẽ thấy rằng Webinoly tự động phát hiện lựa chọn của chúng tôi và thực hiện tất cả các cấu hình cần thiết.
Chúng tôi tạo một trang mới trong WordPress Multisite: example.com/members
, sẽ được quản lý độc lập. Chúng tôi cũng thêm xác thực HTTP để giới hạn quyền truy cập chỉ cho nhân viên.
sudo httpauth example.com -path=/members
Trước đây, họ đã sử dụng một miền riêng biệt example.net
cho một trang riêng tư nơi họ lưu trữ một blog cũ với một số bài viết nội bộ. Đã quyết định di chuyển nội dung của blog cũ sang trang mới và khu vực thành viên, vì vậy chiến lược tốt nhất là chuyển hướng miền cũ.
sudo site example.net -forward=https://example.com/members
Bây giờ, ví dụ: example.net/news
sẽ tự động được chuyển hướng đến example.com/members/news
.
WordPress Multisite với ánh xạ miền
Một trong những tính năng hiện tại của WordPress mà tôi cá nhân rất thích là không còn cần sử dụng plugin cho “Ánh xạ miền” và điều này hiện đã trở thành chức năng gốc của WP.
Ý tôi là gì?
Bây giờ có thể sử dụng một miền riêng biệt cho mỗi trang con của cài đặt multisite của bạn, nghĩa là thay vì sử dụng thư mục con hoặc miền phụ, bạn có thể sử dụng một miền mới và theo cách này bạn có thể quản lý nhiều trang web hoàn toàn khác nhau và độc lập từ cùng một cài đặt WordPress.
Tôi khuyên bạn nên đọc tài liệu chính thức “Ánh xạ miền WordPress Multisite“. Webinoly tích hợp sẵn tính năng này như được mô tả trong ví dụ sau.
Để tạo trang mới cho trường học, chúng tôi đã quyết định sử dụng tùy chọn này. Chúng tôi đã tạo một trang mới trong cài đặt Multisite: example.com/school
, mà chúng tôi sẽ truy cập bằng miền mới www.example.edu
, như được hiển thị trong ví dụ dưới đây:
sudo site example.edu -parked=example.com -domain-mapping-wp-id=2
Chúng tôi đã tạo hai trang độc lập sử dụng hai miền khác nhau và được quản lý từ cùng một cài đặt WordPress.
Bây giờ, chúng tôi sẽ thêm chứng chỉ SSL và buộc sử dụng “www”.
sudo site example.edu -ssl=on -root=example.com
sudo site example.edu -force-redirect=www
Trang cụ thể này sẽ được quản lý bởi một phòng ban khác trong công ty của khách hàng so với các trang khác, vì vậy họ đã yêu cầu tạo người dùng độc lập cho xác thực HTTP.
sudo httpauth example.edu -add
Theo cách này, chúng tôi thêm tất cả người dùng cần thiết và họ chỉ có quyền truy cập vào trang này, ngoài ra còn có những người dùng có quyền truy cập chung đã được tạo trong các trang trước đó, họ sẽ không có quyền truy cập vào trang này.
Cuối cùng, FastCGI nên được kích hoạt và do trang này sử dụng chuỗi truy vấn để hiển thị nội dung bằng nhiều ngôn ngữ khác nhau, chúng tôi cần thêm một ngoại lệ vào FastCGI để lưu cache các trang này.
sudo site example.edu -cache=on
sudo webinoly -query-string-cache=lang
Một số trang bổ sung
Trên trang dự án example.org
, họ có một kho tệp để tải xuống trên dịch vụ AWS S3, mà họ cần truy cập từ miền riêng của mình.
Chúng tôi sẽ tạo một trang “Reverse Proxy” để truy cập kho lưu trữ trong S3 bằng miền riêng của mình.
sudo site download.example.org -proxy=[https://s3.amazonaws.com/download.example.org/] -dedicated-reverse-proxy
Và bây giờ chúng tôi sẽ thêm chứng chỉ SSL:
sudo site download.example.org -ssl=on -manual=http
Bây giờ chúng tôi có thể truy cập kho lưu trữ bằng: download.example.org/file.jpg
.
Để quản lý đội xe của công ty, họ đã triển khai phần mềm theo dõi GPS (Java App) có tên Traccar, được cấu hình để sử dụng cổng 8082 và chúng tôi cần tích hợp nó với các trang của mình.
sudo site gps.example.com -proxy=[localhost:8082]
Bất kỳ ứng dụng/trang nào mà bạn thích đều có thể được cấu hình theo cách này: Laravel, Java, Node, Angular, React, Vue, v.v.
Và chúng tôi thêm chứng chỉ SSL chỉ định đường dẫn nơi phần mềm theo dõi được cài đặt.
sudo site gps.example.com -ssl=on -root-path=/opt/traccar/web
Cuối cùng, nhóm phát triển của công ty đang phát triển một hệ thống vé nội bộ mới sử dụng framework PHP và để truy cập và lưu trữ trên máy chủ, chúng tôi sẽ tạo một trang mới:
sudo site internal.example.com -mysql
Sau khi thực hiện lệnh, dữ liệu của cơ sở dữ liệu mới được tạo mà chúng tôi sẽ sử dụng để cấu hình ứng dụng vé mới trên máy chủ sẽ được hiển thị. Về cơ bản đây là một trang PHP với cơ sở dữ liệu.
Tóm tắt…
Chúng tôi đã tạo ra một số trang với các yêu cầu rất khác nhau.
- example.com (WP Multisite)
- example.com/members (Subsite được bảo vệ)
- www.example.edu (Subsite với ánh xạ miền và xác thực bị tắt)
- gps.example.com (Java App với Nginx Reverse proxy)
- internal.example.com (PHP với MySQL)
- example.org (PHP)
- example.org/articles (WP trong thư mục con với xác thực độc lập và DB bên ngoài)
- download.example.org (Dedicated Reverse Proxy đến S3)
- example.net (Miền được chuyển tiếp đến example.com/members)
Sao lưu Webinoly
Với Webinoly, Duply và Duplicity được cài sẵn, là một vài công cụ để thực hiện sao lưu trên hầu hết mọi phương tiện đã biết. Trong hướng dẫn này, chúng tôi sẽ sử dụng AWS S3 và sao lưu cục bộ.
Webinoly hỗ trợ native cho bất kỳ dịch vụ tương thích S3 nào, như: Backblaze B2, Digital Ocean Spaces, Wasabi, Vultr Object Storage, Linode Object Storage, DreamObjects, v.v.
Chúng tôi sẽ bắt đầu bằng cách thực hiện sao lưu hoàn chỉnh toàn bộ thư mục dữ liệu của các trang của chúng tôi /var/www
, các sao lưu được thực hiện gia tăng, vì vậy chỉ lần đầu tiên dữ liệu tổng thể được gửi đi, sau đó chỉ có các thay đổi được gửi.
Để kết nối với bucket S3 của chúng tôi, chúng tôi phải có thông tin xác thực IAM cần thiết; trong trường hợp này máy chủ của chúng tôi là một phiên bản AWS EC2 mà chúng tôi đã gán một IAM Role, vì vậy không cần lưu thông tin xác thực trên máy chủ của mình.
sudo webinoly -aws-s3-credentials=awsiamrole
Với điều này, chúng tôi chỉ định cho Webinoly rằng chúng tôi đã gán một vai trò IAM trên máy chủ của mình, vì vậy không cần nhập thông tin xác thực.
Chúng tôi giờ đây đã sẵn sàng để cấu hình sao lưu đầu tiên:
sudo webinoly -backup=s3 -profile=DataBackup -bucket=america/data -source=/var/www -max-age=3M
Một trong những tính năng mà tôi thấy hữu ích nhất là khả năng bao gồm sao lưu cơ sở dữ liệu sẽ được thực hiện tự động ngay trước khi thực hiện sao lưu mà chúng tôi đã cấu hình ở bước trước.
sudo webinoly -backup=s3 -profile=DataBackup -add-db-pre=example.com -destination=/var/www/example.com/db-backup -max=10 -bucket=america/db_com
sudo webinoly -backup=s3 -profile=DataBackup -add-db-pre=example.org -subfolder=/articles -max=3
Điều đó có nghĩa là mỗi khi chúng tôi chạy hồ sơ “DataBackup”, sao lưu của cả hai cơ sở dữ liệu của các trang WordPress được cấu hình ở bước trước sẽ được thực hiện trước tiên.
Ngoài ra, trong AWS có thể cấu hình việc sao chép tự động cho một bucket S3, trong trường hợp này chúng tôi có thể sao chép bucket “america” sang một khu vực khác, chẳng hạn như ở châu Á.
Bây giờ chúng tôi cần thêm một CronJob để chạy sao lưu này tự động mỗi ngày lúc 3 giờ sáng. Chúng tôi chạy sudo crontab -e
và thêm các dòng sau:
0 3 * * * sudo webinoly -backup=s3 -profile=DataBackup -run
# Sao lưu bổ sung cho cơ sở dữ liệu của cả hai trang
0 15 * * * sudo webinoly -backup=local -wp=example.com -max=10 -bucket=america/db_com
30 15 * * * sudo webinoly -backup=local -wp=example.org -max=5
# Sao lưu tệp log của hệ thống vé.
30 3 * * * sudo webinoly -backup=s3 -send-to-s3=/var/log/internal.log -bucket=america/internal
Trong trường hợp bạn đang sử dụng người dùng khác ngoài root, chẳng hạn như trong AWS, bạn cần thêm đường dẫn người dùng trước khi ‘RUN’ bất kỳ sao lưu nào trong Cron (root):
0 20 * * * env HOME=/home/user sudo webinoly -backup=s3 -profile=name -run
Tóm lại, chúng tôi đã cấu hình các sao lưu sau:
- Hàng ngày vào lúc 3:00 sáng
- Sao lưu cục bộ của cơ sở dữ liệu trong
/var/www/example.com/db-backup
của trangexample.com
và tự động gửi đến S3 trong thư mục/db_com
. - Sao lưu cục bộ của cơ sở dữ liệu trong
$HOME/webinoly-backups/example.com
của trangexample.org
. - Sao lưu S3 toàn bộ thư mục dữ liệu, bao gồm cả sao lưu cơ sở dữ liệu
example.com
vì nằm trong thư mục này. - Sao lưu tệp log của hệ thống vé lên S3.
- Sao lưu cục bộ của cơ sở dữ liệu trong
- Hàng ngày vào lúc 3:00 chiều
- Sao lưu cục bộ của cơ sở dữ liệu trong
$HOME/webinoly-backups/example.com
của trangexample.com
và tự động gửi đến S3 trong thư mục/db_com
. - Sao lưu cục bộ của cơ sở dữ liệu trong
$HOME/webinoly-backups/example.org
của trangexample.org
.
- Sao lưu cục bộ của cơ sở dữ liệu trong
Như bạn thấy, cơ sở dữ liệu được sao lưu hai lần mỗi ngày và trong trường hợp của example.com
, chúng tôi có 3 bản sao của các bản sao lưu (cục bộ, bucket america, bucket asia) ngoài bản gốc. Và nếu như vậy vẫn chưa đủ, trong mỗi bucket còn có hai bản sao cơ sở dữ liệu, một trong thư mục /data
và một trong thư mục /db_com
.
Hiệu suất, bảo mật và các điều chỉnh bổ sung cho Nginx
Thông thường, bộ nhớ đệm FastCGI của NGINX được cấu hình bởi Webinoly để hết hạn sau 30 ngày. Đây là giá trị được khuyến nghị cho các website có lưu lượng truy cập rất thấp.
Giải thích đơn giản, lần đầu tiên bạn truy cập một trang nhất định của website, trang đó sẽ được lưu vào bộ nhớ đệm FastCGI và sẽ tồn tại ở đó cho đến khi hết thời gian hết hạn.
Nếu website của chúng ta chỉ có vài lượt truy cập mỗi ngày và chúng ta cấu hình một giá trị, ví dụ “1 giờ”, phần lớn khách truy cập sẽ nhận được phiên bản trang không được lưu vào bộ nhớ đệm, vì vậy không có lợi ích khi bật bộ nhớ đệm.
Để chỉnh sửa cấu hình và giá trị của FastCGI trong Webinoly, chúng ta sử dụng lệnh sau:
sudo webinoly -cache-valid
Chúng ta sẽ cấu hình thời gian bộ nhớ đệm là 1 giờ, 20 phút không hoạt động và 10 phút cho chuyển hướng [1h, 20m, 10m]. Đây sẽ là cấu hình phù hợp với các website có lưu lượng truy cập cao.
Ngoài ra, chúng ta sẽ chỉnh sửa quyền truy cập vào công cụ máy chủ.
sudo webinoly -tools-port=18915
sudo webinoly -tools-site=example.com
Bây giờ chúng ta có thể truy cập bằng tên miền và cổng đã được gán: example.com:18915
.
Sau khi hoàn tất phát triển dự án, chúng ta sẽ thay đổi phản hồi mặc định của Nginx như một biện pháp bảo mật.
sudo webinoly -default-site=blackhole
Mặc dù Postfix đã được cài đặt để gửi email, tôi vẫn ưu tiên sử dụng dịch vụ SMTP bên ngoài như Amazon SES, Mailgun, SendGrid, v.v.
sudo webinoly -smtp
Chỉnh sửa tiêu đề HTTP
Chúng ta sẽ thiết lập tùy chọn “preload” cho HSTS và một số giá trị tùy chỉnh cho “Referrer” và “Content-Security-Policy”.
# Tệp cấu hình Webinoly
sudo nano /opt/webinoly/webinoly.conf
# Sửa các biến này
header-hsts:preload
header-referrer:origin-when-cross-origin
header-csp:default-src https: 'unsafe-eval' 'unsafe-inline'; object-src 'none'
header-permissions:floc
Chứng chỉ Wildcard
Tùy chọn, chúng ta có thể sử dụng một chứng chỉ duy nhất cho các website sau:
- example.com
- example.com/members
- gps.example.com
- internal.example.com
Đầu tiên, cần gỡ bỏ các chứng chỉ hiện tại khỏi các website bằng lệnh -ssl=off
và tạo chứng chỉ wildcard cho website chính.
sudo site example.com -ssl=on -wildcard
Cuối cùng, thêm các website khác vào chứng chỉ này.
sudo site gps.example.com -ssl=on -add-to-wildcard=example.com
sudo site internal.example.com -ssl=on -add-to-wildcard=example.com
API nội bộ của Webinoly
Khách hàng cuối cùng có một yêu cầu đặc biệt. Do quy trình kiểm toán hệ thống nội bộ phức tạp, họ yêu cầu kiểm soát nghiêm ngặt các máy chủ, và mỗi website được tạo phải báo cáo tới API của hệ thống và hiển thị thông báo cuối cùng.
Sử dụng Webinoly API-Internal, chúng ta có thể thêm bất kỳ hành động nào vào hầu hết các điểm trong quá trình thực thi Webinoly. Làm theo hướng dẫn, đổi tên và sử dụng tệp /opt/webinoly/lib/api-events
, thêm đoạn mã sau:
api-events_catch_status() {
if [[ $1 == "si1" ]]; then
wget --timeout=10 -t 1 -qO- https://api.example.net/?createsite=true
elif [[ $1 == "sie" ]]; then
echo "Tất cả các website đã được báo cáo tới API của example.net để tuân thủ kiểm toán hệ thống máy tính."
fi
}
Như đã thấy từ ví dụ trên, Webinoly giúp đơn giản hóa các tác vụ thường xuyên để quản lý đầy đủ máy chủ web Nginx. Mọi thứ chỉ cách một dòng lệnh.
Với cách này, Webinoly đã trở thành công cụ yêu thích của các chuyên gia trong lĩnh vực phát triển web cũng như DevOps và kỹ thuật phần mềm, hỗ trợ tự động hóa và tối ưu hóa việc triển khai máy chủ.
Kết luận
Webinoly là một giải pháp LEMP Stack mạnh mẽ và miễn phí, giúp tối ưu hóa hiệu suất VPS một cách hiệu quả. Để tận dụng tối đa tiềm năng của Webinoly, việc lựa chọn VPS phù hợp là yếu tố quan trọng. Oracle Free Tier là lựa chọn lý tưởng, đặc biệt khi sử dụng CPU ARM, mang lại sự ổn định, hiệu suất cao và chi phí bằng 0. Đây là giải pháp hoàn hảo cho các dự án nhỏ hoặc cá nhân muốn tiết kiệm ngân sách mà vẫn đảm bảo tốc độ xử lý tốt.
Ngoài ra, GreenCloud VPS và SpeedyPage cũng là những nhà cung cấp đáng tin cậy với CPU Ryzen mạnh mẽ, phù hợp cho các website yêu cầu tài nguyên lớn hơn. CPU Ryzen với khả năng xử lý vượt trội giúp tối ưu hóa tốc độ tải trang và đảm bảo trải nghiệm người dùng mượt mà. Cả hai tùy chọn này đều tương thích hoàn toàn với Webinoly, giúp dễ dàng triển khai và quản lý hệ thống.
Tóm lại, Oracle Free Tier, GreenCloud VPS và SpeedyPage đều là những lựa chọn hoàn hảo để sử dụng Webinoly, mang lại hiệu suất cao, tính ổn định và sự linh hoạt. Với các giải pháp này, bạn có thể yên tâm xây dựng và quản lý website chất lượng cao một cách dễ dàng.