Cập nhật ngày 29/1/2019
- Mục 2. Theo vpsbenchmarks, gói Lightsail 2GB Ram/1 core (10$) có hiệu suất tốt hơn hẳn so với gói 1GB RAM/1core (5$). Nhìn vào thông số mà Lightsail cung cấp thì chỉ khác biệt mỗi Ram, nhưng vpsbenchmarks thực hiện nhiều bài test và cho ra kết quả: gói 2gb tốt hơn nhiều lần ở tất cả tiêu chí (trừ giá). Dĩ nhiên gói 4GB/2 core thì ở 1 đẳng cấp khác nữa.
- Mục 7. Bổ sung. Mở port firewall trước khi trỏ tên miền. Mở cổng tường lửa mới vào được website.
- Mục 9. Lỗi XML sitemap khi dùng Webinoly
- Tóm váy, website docudanang.com.vn được dựng lên bởi: Amazon Lightsail + Ubuntu + Webinoly + WordPress
Không ngừng tiến lên.
Docudanang.com.vn từ lúc mới thành lập đã dùng cái host cùi mía của tenten rồi sau đó chuyển nhà đi khắp thế giới.
À mà docudanang.com.vn là web bán hàng của công ty VN Thing, cung cấp dịch thanh lý và bán đồ cũ tại Đà Nẵng. (tui ghi thêm dòng này vào cốt là để trỏ link về có chứa từ khoá sẽ tự nhiên hơn đó mà, hihi.)

Nổi bật thì có…
Máy chủ chia sẻ của Hawkhost khá ngon, và rẻ, lại còn có data center tại Hong Kong nên tốc độ load web khỏi bàn. Bán hàng hay blog chạy dư xăng. Cơ mà tụi Hawkhost lắm khi chập chờn. Trải nghiệm hơn 1 năm với Hawkhost nhiều pha đái ra máu.
Rồi thằng Stablehost cũng trâu bò và ổn định hơn chút. Nhưng than ôi. Vẫn không hiểu tại sao nhiều khi website lại không thể truy cập ở 1 số wifi, phải reset moderm mới vào dc. Không nhẽ đăng thông báo lên facebook bảo ai không vào được web tui thì cứ reset moderm ta. Kì.
Chưa hết. Cái quả sập cả cụm data đi vào lịch sử của nó với hơn 1 tuần sống ngoài đảo mới thật kinh dị. Dữ liệu mất 1 mớ. Không đau vì quá đau mất cảm giác đau rồi anh.
Mà trong các Shared hosting (máy chủ chia sẻ) đã dùng thì tui vẫn đánh giá cao nhất thằng Siteground. Tiếc là giá năm thứ 2 trở đi của nó mặn chát. E phải đái ra muối.
Mấy nhà cung cấp ở Việt Nam thì chưa ổn định lắm. Tuy nhiên, gần đây AZDIGI của bác Thạch Phạm được đánh giá rất cao. Cơ mà cùng 1 mức giá như thế thì tui đâm đầu vào VPS sướng hơn, chịu cực 1 tí nhưng ăn chắc mặc bền.
VPS của OVH và Vultr giá rẻ mà cấu hình cũng ngon nữa, về nhu cầu của mình thì không có gì phải chê cả.
Tuy nhiên, với quyết tâm không ngừng tiến lên, tui quyết định chuyển web docudanang.com.vn lên AWS. Cơ sở hạ tầng cho web server của Amazon thì chẳng có gì phải bàn cãi nữa, tuyệt nhất là sự ổn định của nó.
Đây là nơi đã khai sáng tui nè:
Ờ mà dài dòng chi ta, tui viết cái này chủ yếu để lưu lại các thao tác, sau này có làm lại thì cũng có cái để step by step.
Bước 0: tạo Backup cho docudanang.com.vn
Để nhanh và ít lỗi nhất thì,
- Clear cache, ngừng kích hoạt các plugin tạo cache, xoá luôn cho chắc kèo.
- Dùng UpdraftPlus Backup để tạo backup.
- Tải backup về máy (gồm nhiều file riêng)
Bạn nào muốn dùng Updraft Plus Backup thì comment nhé, mình share. Theo 1 số review mình đọc được thì thằng này tốt nhất trong đám Backup và di chuyển website. Thằng Duplicator Pro khá ngon (và mình cũng có luôn), nhưng khi bung website với CSDL lớn thì nó đã tạch.
Bước 1: Đăng ký tài khoản AWS AMAZON
Đăng ký thì ez nhưng xác minh điện thoại thì hơi cực. Họ gọi tới và yêu cầu mình nhập mã số đã cho trên web, mình nhập vào ứ có động tĩnh gì.
Gửi ticket hỗ trợ đợi 1 ngày mới dc trả lời (chắc vì trái múi giờ). Và nó gọi điện thủ công (chứ không phải robot tự động nữa).
– Tui: alo, à quên, hello
– Bên đó: hello…*và 1 tràng tiếng anh*
– Tui: sorry…
– Bên đó ngắt lời bằng 1 tràng tiếng anh nữa.
– Tui rất tự tin: I’m sorry, i don’t understand, my enlish is bad, sorry
– Bên đó hơi bối rối: oh…*nói cái gì đó nữa và kết thúc bằng* your email?
– Tui: minh hùng đót si rai tơ ét ao lút đót com (minhhung.cwriter@outlook.com)
– Họ: Thankyou, Goodbye
– Tui: Thank you, Byee.
Á đù, mình lại dài dòng nữa.
Đừng bỏ lỡ bất kì dòng nào bên dưới. Quy trình với Step by step này là kết quả của mấy ngày quên ăn quên ngủ
Bước 2. Vào dịch vụ Light Sail và bắt đầu cài hệ điều hành
- Truy cập: aws.amazon.com

- Vào Lightsail, Create an instance (mem mới chỉ cho tối đa 2 instances, muốn có thêm phải gửi ticket hỗ trợ nhờ tăng giới hạn)
- Select your instance location: Singapore (vì gần Việt Nam nhất)

- Pick your instance image: Chọn Linux/Unix > (OS Only) Ubutu 18

- Choose your instance plan: chọn Gói 5$ cân dư 5 cái web kiểu docudanang.com.vn. Nhưng mà đang giàu nên quất luôn gói 10$ có 2Gb Ram, 60GB SSD quá phê.

- Create an instance
- Đợi 1 phút khi instance được tạo xong, nhấn vào nó và làm tiếp…
- Qua tab Networking để tạo 1 cái IP tĩnh. IP này dùng để trỏ tên miền luôn. Nhấn Attach static IP
Bước 3: Quyền root cho Amazon Lightsail
- Vào Instance đã tạo, nhấn Conect using SSH
- Cửa sổ mới mở ra. Gõ:
sudo passwd root
Sau đó gõ mật khẩu tự tạo, nhớ là lúc gõ nó sẽ không hiện ra kí tự đâu. Cứ gõ mật khẩu và nhấn Enter là được
Sau đó nhập lại mật khẩu lần nữa.
- Gõ tiếp:
sudo nano /etc/ssh/sshd_config
- Nhấn nút mũi tên xuống trên bàn phím để tìm các dòng này và sửa:
#PermitRootLogin prohibit-password thành PermitRootLogin yes
p/s: nhìn lại cho kĩ, xoá cả dấu # đó nha.
PasswordAuthentication no thành PasswordAuthentication yes
- Nhấn Ctrl + O > Enter để lưu
- Nhấn Ctrl + X để thoát
- Gõ tiếp lệnh sau để khởi động lại ssh:
sudo service sshd restart
Bước 4: Cài đặt máy chủ web
Cái này làm thủ công thì cỡ tui bó tay rồi. Nên giải pháp là dùng các script tự động để cài máy chủ web chỉ bằng vài dòng lệnh (thay vì gõ cả cả trăm cái).
Mà Script cài tự động thì cũng có loại này loại kia. Docudanang.com.vn hiện tại đang dùng hocvps script, hôm nay mình chuyển qua dùng Webinoly vì trải nghiệm nó rất rất rất ngon và ít thao tác nữa. Để biết nó ngon cỡ nào, xin mời đọc bài review siêu chi tiết tại đây.
Theo lý thuyết, vẫn có thể dùng cái Connect using SSH của Amazon để tiếp tục gõ lệnh, nhưng phiền là nó không thể paste. Ngồi gõ lệnh quá mất công.
Nên tui dùng phần mềm riêng để kết nối tới VPS. Tên nó là: ZOC7.
- Nhập lệnh bên dưới để cài máy chủ web bằng Webinoly
wget -qO weby qrok.es/wy && sudo bash weby 3
Giờ ngồi uống cafe đợi thôi, đi toilet 1 trận cũng đc. Cỡ 10 phút
Bước 5: Cài wordpress mới tinh lên:
- Cài WordPress với cấu hình KHÔNG CACHE, nhớ đổi tên domain của mình
sudo site domain.com -wp
Nó sẽ hiện ra vài tuỳ chọn bảo đồng ý, Hỏi Y/N thì cứ Y, bảo đặt tên CSDL, người dùng CSDL và password thì cứ Enter nó tự tạo, hoặc thích tự gõ lại cái mới cũng được.
- Tắt bảo mật đăng nhập 2 lớp cho wordpress (tuỳ chọn nha)
httpauth -wp-admin-off
Muốn biết cách tạo người dùng cho lớp đăng nhập đầu tiên, bạn hãy xem ở đây.
Bước 6: Bung web mới lên
Ở bước này, chúng ta chưa thể truy cập vào website ở vps mới vì chưa trỏ tên miền về. Trỏ thì hên xui cả tiếng mới nhận nên đây là cách để không có thời gian chết.
- Mở file host bằng notepad trong thư mục: C:\Windows\System32\drivers\etc
- Thêm vào 2 dòng này vào (nhớ thay IP riêng đã tạo ở bước 2 và tên miền của mình)
3.0.239.77 docudanang.com.vn
3.0.239.77 www.docudanang.com.vn

- Save
- Vào chế độ ẩn danh của trình duyệt, truy cập: http://docudanang.com.vn và cấu hình wordpress, sau đó login như bình thường. (chúng ta đang bắt buộc máy tính của mình truy cập website ở hosting mới, còn ở những máy tính khác thì vẫn đang truy cập website ở hosting cũ)
- Cài plugin UpdraftPlus Backup. Vào Settings > UpdraftPlus Backups > Existing Backup > Upload backup files

Upload 5 file đã tải ở bước 0 rồi nhấn Restore, chớp mắt 2 cái. Xong.

- F5 1 phát.
- Sau đó xoá 2 dòng nãy thêm vào file host.
Bước 7: Trỏ tên miền về VPS
- Mở cổng cho tường lửa

- Trỏ IP tại website quản trị tên miền
Đăng nhập vào website quản trị tên miền và trỏ tên miền về IP tĩnh của VPS đã làm ở bước 2. Mất 5p đến 3h để quá trình trỏ tên miền hoàn tất.
Để máy tính của mình mau nhận sự thay đổi thì nhấn tổ hợp phím Window + R, gõ cmd > enter
Xuất hiện bảng CMD, gõ lệnh sau:
ipconfig /flushdns
Để biết tên miền đã gắn vào vps mới chưa, thì cũng trong bảng cmd, gõ:
ping docudanang.com.vn
Nếu kết quả trả về xuất hiện dãy IP của vps mới thì ok. Đã trỏ tên miền xong. Nhảy qua bước 8.
Bước 8: Cài SSL.
Bước này chỉ làm được khi tên miền đã trỏ thành công.
- Kết nối SSH và gõ lệnh:
sudo site docudanang.com.vn -ssl-on
- Vào Dashboard > Settings > General > Đổi WordPress Address (URL) và Site Address (URL) thành https://docudanang.com.vn
- Nếu Https vẫn có dấu chấm thang trên URL thì cài plugin Better Search Replace để thay thế toàn bộ url http –> https trong CSDL. Dùng xong huỷ kích hoạt plugin.

- Cài HSTS Preload. Gõ lệnh:
sudo nano /etc/nginx/common/headers-https.conf
Sửa dòng: add_header Strict-Transport-Security “max-age=31536000”;
thành:
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
Ctrl + O > Enter
Ctrl + X
Reload lại nginx để cập nhật thay đổi
service nginx reload
- Đăng ký HSTS:
Vào: hstspreload.org và nhập docudanang.com.vn vào.

Bước 9: Tối ưu thêm
9.1. Crontab
Học theo ở đây: Better wp-cron using linux’s crontab
- Tắt wp-cron
Mở Filezilla kết nối VPS và tìm đến thư mục: /var/www/docudanang.com.vn
Edit file wp.config.php và thêm dòng bên dưới vào cuối:
define('DISABLE_WP_CRON', true);
Save lại
- Cài đặt 1 cron ngon lành hơn
Gõ:
crontab -e
Gõ tiếp:
1
Rồi điền cái này vào cuối:
*/10 * * * * curl https://docudanang.com.vn/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Ctrl + O > Enter
Ctrl + X
9.2. Combo Cache thần thánh: Nginx FastCGI + Redis
Nginx FastCGI để cache trang, và Redis để cache đối tượng.
- Cài Nginx FastCGI Cache, dùng lệnh:
sudo site docudanang.com.vn -cache
Cài và kích hoạt plugin Nginx helper để Clear Cache cho nó.
Thiết lập như hình:

- Redis đã được cài sẵn khi khi cài máy chủ web bằng webinoly
Cần dùng Plugin Redis Object Cache để kích hoạt nó.
Vào Settings > Redis > Nhấn Enable Object Cache.
Nếu xuất hiện Connected là được. Nếu không thì cần Cài đặt lại Redis bằng cách gõ lệnh:
sudo apt-get remove redis-server -y
Rồi tiếp:
sudo apt-get install redis-server -y
F5 lại là xong.
- Xoá Memcached vì đã có redis rồi
sudo apt-get remove memcached -y
Muốn tối ưu thêm?
Hãy đọc bài này:
TĂNG TỐC WEBSITE – TỐI ƯU HÓA WORDPRESS TOÀN DIỆN (SIÊU CHECKLIST)
9.3. Khắc phục lỗi XML sitemap
Dùng Yoast để tạo XML sẽ không bị sao cả.
Nhưng với những plugin khác (ở đây mình dùng SEO Press), khá là chắc kèo là XML sẽ bị lỗi vì Webinoly đã cấu hình sẵn cho Yoast, nên dẫn đến xung đột.
Nếu mở trang XML sitemap lên mà bị lỗi thì…
Khắc phục bằng cách
- Kết nối SSH và gõ lệnh:
sudo nano /etc/nginx/common/wpcommon.conf
- Ở cuối tập tin, bạn sẽ tìm thấy mã Sitemap Yoast, hãy xóa nó!
- Khởi động lại nginx
sudo nginx -t && sudo service nginx reload
Cám ơn bài viết rất chi tiết của bạn.
Bạn ơi có thể chia sẻ cho mình plugin UpdraftPlus Backup Pro được không? Mình dùng stablehost từ cuối 2016 thì đợt vừa rồi bị tèo nên giờ chuyển sang vps digitalocean. Mình đang thử test nhiều nhà cung cấp khác nhau, dùng duplicator thời gian gần đây toàn bị lỗi không clone vps được.
Cám ơn bạn rất nhiều.
sorry mình trả lời chậm quá.
Mình vừa check mail mới vào blog thấy bình luận. Hì hì.
Mình sẽ rep mail của cậu kèm với UpdraftPlus Premium nha.