Đây là bản chính sửa riêng mình dùng cá nhân, bạn nào thích có thể dùng theo 😛
Mặc định nếu bạn cài Webinoly, đa phần tác giả sẽ cố gắng dùng PHP mới và ổn định nhất, thường việc này luôn tốt và luôn đúng 😀 có điều cá nhân mình vẫn hài lòng với PHP 7.4 trên WordPress, nên tạo 1 file cài đặt riêng, đỡ phải gõ nhiều dòng lệnh
Cài đặt dựa theo phiên bản Webinoly v1.17.4, để tránh các vấn đề tác giả cập nhập, gây xung đột hay các lỗi phát sinh, mình đã kéo nó về github cá nhân và chỉnh sửa từ đây luôn cho chắc kèo 😛
Cài đặt
Để chạy Webinoly thì hệ điều hành yêu cầu là Ubuntu, thông dụng thì dùng bản v22.04
- Cập nhập OS và khởi động lại hệ thống
sudo apt update && sudo apt upgrade -y && sudo reboot
Để đảm bảo cho việc cài đặt ban đầu, đây là dòng code không thể bỏ đi được, vì các nhà cung cấp VPS, mỗi nơi họ lại dùng 1 file iso, không ai giống ai, không cập nhập đôi khi gây lỗi ….
Sau khi cập nhập xong thì khởi động lại hệ thống cho sạch sẽ toàn diện mọi thứ
- Cài đặt Webinoly
sudo wget --no-check-certificate https://raw.githubusercontent.com/bibicadotnet/Webinoly-Optimization/master/webinoly74.sh -O webinoly_mod.sh && sudo chmod +x webinoly_mod.sh && sudo ./webinoly_mod.sh
Thời gian cài đặt bản Webinoly này khoảng < 3 phút trên VPS UpCloud, trên VPS Oracle miễn phí khoảng ~ 8 phút
Sau khi cài đặt xong, bạn sẽ thấy 1 số cảnh báo PHP 7.4 đã cũ và không nhận được các cập nhập liên quan tới bảo mật
[WARNING] You have an obsolete PHP version (7.4) installed that not even receive security updates! (3) PHP Verification Test has some warning messages you should attend!
Vấn đề bảo mật cho PHP 7.4 thì mình không quan tâm lắm, chuyện đó để hãng lo 😀
Các chỉnh sửa so với Webinoly mặc định
- Phiên bản cài đặt cụ thể:
PHP v7.4.33 MariaDB v10.11.4 Nginx v1.24.0
- Cấu hình PHP
max_execution_time = 6000 max_input_time = 6000 max_input_vars = 5000 memory_limit = 512M upload_max_filesize = 1000000M max_file_uploads = 6000 post_max_size = 1000000M disable_functions = [opcache] opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=100000 opcache.max_wasted_percentage=10
Cơ bản là không giới hạn cái gì trong các hàm của PHP 😀
- Không cài đặt
Let’s Encrypt Duply & Duplicity (Backups) Postfix Redis Memcached phpMyAdmin
Các addon tác giả lựa chọn sử dụng đều rất hữu ích, có điều mình không dùng, nên không cài đặt vào
- Tùy chỉnh nhỏ:
File swap cố định 2GB Chuyển về giờ Việt Nam Hồ Chí Minh Tắt HTTP Authentication
Webinoly mặc định sử dụng HTTP Authentication để tạo 1 lớp password khi vào admin của WordPress, theo mình cũng rất hữu ích để bảo mật cho phần admin
Cá nhân mình không dùng, nên cũng set tắt đi, đỡ mất công mỗi lần tạo trang mới lại phải tắt thủ công
- Xóa các Header
Referrer Policy Header successfully disabled! HSTS Header successfully disabled! Cache Control Header successfully disabled! CSP Header successfully disabled! Permissions Policy Header successfully disabled! X-Robots-Tag Header successfully disabled! X-XSS-Protection Header successfully disabled! X-Content-Type-Options Header successfully disabled! X-Frame-Options Header successfully disabled!
Lý thuyết thì các cấu hình trên header nó giúp trang bảo mật và giúp chống DDOS ở mức độ nào đó, có điều mình không có hứng lắm với mấy cái này, nên tắt hết cho sạch sẽ
- Tắt firewall trên Ubuntu
Cá nhân mình không dùng firewall trên OS, muốn chặn gì thì chặn từ tầng ngoài, trước khi với server theo mình hiệu quả hơn, có điều mặc định trên Ubuntu của Oracle, họ set chặn tứ tung bên trong OS, nên tắt hẳn đi luôn cho nhẹ đầu 😀
Gần như giữ nguyên cấu hình của tác giả, bỏ đi các addon không dùng, tăng các giới hạn của PHP lên, chứ cũng không chỉnh sửa thêm gì
Kiểm tra hiệu năng
- Cài đặt 1 trang WordPress
site php74.haproxy.tech -wp
Do hiện tại mình dùng hoàn toàn qua SSL Cloudflare, nên đã xóa cài đặt Let’s Encrypt từ Webinoly
Nếu bạn tạo ssl qua lệnh site example.com -ssl=on, Webinoly cũng sẽ tự cài đặt Let’s Encrypt thêm vào
nano /etc/nginx/sites-available/php74.haproxy.tech
- Chỉnh sửa lại đường dẫn tới file pem và key
server { listen 80; listen [::]:80; server_name php74.haproxy.tech www.php74.haproxy.tech; return 301 https://$host$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; ssl_certificate /root/ssl/haproxy.tech.pem; ssl_certificate_key /root/ssl/haproxy.tech.key; ssl_protocols TLSv1.2 TLSv1.3; server_name php74.haproxy.tech; access_log off; error_log /var/log/nginx/php74.haproxy.tech.error.log; root /var/www/php74.haproxy.tech/htdocs; index index.php index.html index.htm; include common/auth.conf; # WebinolyCustom # WebinolyCustomEnd include common/php.conf; include common/wpcommon-noauth.conf; include common/locations.conf; include common/header.conf; include /var/www/php74.haproxy.tech/*-nginx.conf; include /etc/nginx/conf.d/*.conf.srv; }
- Chạy tiếp dòng bên dưới để reload lại nginx, để thay đổi có hiệu lực
nginx -t service nginx reload
Phần headers mặc định khá là sạch sẽ, không có gì dư thừa 😀
Phần cứng hệ thống bình thường, không có gì đặc biệt
Hoang mang nhất có lẽ là tốc độ và độ chịu tải, một trong các lý do mình cài đặt thử nghiệm trên VPS UpCloud cũng là vì mình luôn dùng VPS UpCloud để làm điểm chuẩn
Trên bản Webinoly trước đây, cài đặt mặc định, WordPress mặc định, ở 100 kết nối mỗi giây, tốc độ trung bình ~5.1s, mà ở bản này nó xuống được tới ~3.5s
Con số tốt nhất trong tất cả các script cài đặt VPS mà mình từng thử nghiệm
Khá hoang mang nên quyết định reboot lại VPS, chạy lại bài test loader.io 😀
Đúng là nó xuống ~ 3.5s thật, thử thêm vài lần, đều duy trì ổn định 100 kết nối mỗi giây mà thời gian trung bình loanh quanh 3.5s 😀
Tạm thì chưa rõ do bản Webinoly v1.17.4 tác giả tối ưu quá tốt hay do VPS UpCloud mới được nâng cấp sức mạnh, hay lý do nhảm ruồi là cấu hình mình sử dụng tình cờ nó phù hợp với setting mặc định của WordPress =))
Thời gian tới nếu chạy code mà kiếm được con Oracle Japan VM.Standard.A1.Flex thì mình sẽ chuyển thèng bibica.net về bản Webinoly này 😀
Chính sách bình luận: Chúng tôi rất trân trọng các bình luận của bạn và cảm ơn thời gian bạn dành để chia sẻ ý tưởng và phản hồi.
Ghi chú: Những bình luận được xác định là spam hoặc chỉ mang tính quảng cáo sẽ bị xóa.
• Để cải thiện trải nghiệm bình luận, chúng tôi khuyến khích bạn tạo một tài khoản Gravatar. Thêm avatar vào tài khoản Gravatar sẽ giúp bình luận của bạn dễ nhận diện hơn đối với các thành viên khác.
• ✂️ Sao chép và 📋 Dán Emoji 💪 giúp bình luận thêm sinh động và thú vị!