Apache và Nginx trong HocVPS Script


#1

Xin chào mọi người,

Mình là web dev và hiện tại đang nghiên cứu thêm trong lĩnh vực server để giảm phụ thuộc vào dev ops mỗi khi cần cấu hình gì trên hosting hoặc VPS.

Mình có sử dụng HocVPS Script để cài đặt 1 VPS trên Digital Ocean và mình đang dùng plan thấp nhất, hiện tại web vẫn chạy ổn nhưng cứ 3 4 ngày là web sẽ bị lỗi không thể kết nối được đến database. Dùng lệnh “service mysql restart” thì sẽ nhận được lỗi MySQL PID file could not be found! phải reboot lại VPS thì mới start lại được.

==> Giải pháp hiện tại của em đang dùng là restart lại MySQL hàng ngày vào thời điểm ít người truy cập nhất. Anh em có biết nguyên nhân không ạ?

Vấn đề thứ 2 là: Apache và Nginx, theo em được biết thì HocVPS Script cài đặt Nginx web server để chạy PHP nhưng khi hỏi thăm ý kiến 1 vài người ( Web dev) thì họ bảo là không nên dùng như vậy, nên cấu hình Nginx làm proxy gì gì đấy cho Apache em cũng không rành vấn đề này. Anh em cho mình hỏi:

  1. Cách làm nào là đúng nhất và hiệu quả nhất ạ?
  2. Sự khác nhau giữa 2 hướng này là gì ạ? theo em biết là phần rewrite và htaccess
  3. Nếu giữ nguyên những gì HocVPS Script cài đặt thì có bị hạng chế gì không ạ? (môi trường dev của em là XAMPP)
  4. Hiện tại website của em vẫn truy cập được = IP trực tiếp ko cần thông qua domain. Anh em hướng dẫn mình với.
  5. Nếu mình muốn chia nhỏ VPS này ra để có thể host thêm vài website nữa thì có được không ạ? và làm thế nào? Vì theo mình nhớ là lúc cài đặt HocVPS Script có phần cấu hình domain, vậy phần cấu hình này có ảnh hưởng về sau gì không ạ?
  6. Nếu mình muốn học từ cơ bản thì anh em có tài liệu nào hay mục nào trên HocVPS để học được không ạ?

Cảm ơn cả nhà nhiều.


(Bò Cạp Đen) #2

Vấn đề 1: Vụ database bị tắt, bạn có thể tạo 1 cronjob kiểm tra 5p hoặc 10p 1 lần, nếu thấy mysql tắt thì khởi động lại nó.
Bạn tham khảo bài bên hostingaz nhé: https://hostingaz.vn/3480-huong-dan-tao-crontab-tu-dong-bat-lai-mysql-khi-no-bi-stop-tren-vps-server.html

Vấn đề 2:
1 và 2. Chẳng có cái nào gọi là đúng nhất, vì đây hầu hết là mã nguồn mở, mỗi coder có kiểu code riêng, có người thích nginx vì nó nhẹ, xử lý nhanh, tuy nhiên, để điều chỉnh gì đó về cấu trúc website thì phải restart lại dịch vụ nginx, lỡ cấu hình sai thì các web còn lại đều không chạy được, ảnh hưởng nhiều người dùng chung. có người lại thích apache vì nó có nhiều mở rộng, và cũng có nhiều tài liệu hướng dẫn, không bị lỗi nhiều, có thể cấu hình trên file htaccesss mà không cần restart lại dịch vụ apache.
Cái nào cũng có ưu nhược điểm riêng, nhưng hiện nay apache vẫn rất phổ biến và dùng nhiều trên các hosting.

  1. Môi trường dev của bạn sử dụng apache2, php và mysql. nên qua nginx lỗi sẽ xảy ra, nhưng theo mình vẫn có thể dùng được. Nhưng bạn lưu ý: hocscript chỉ nên sử dụng cho VPS ít người quản lý, vì nó xài trực tiếp tài khoản root của VPS, tất cả mọi cài đặt đều thông qua SSH. Do đó nếu nhiều người dùng chung thì không nên xài

  2. Cái này chưa hỗ trợ được

  3. Cái này mình chia 2 trường hợp
    Trường hợp 1: 1 người quản lý, cài nhiều website: Hocscipt có sẵn tính năng cài nhiều website, khỏi lo
    Trường hợp 2: Nhiều người quản lý, muốn chia host ra để mỗi người quản lý 1 web riêng, thì không nên dùng, và phạn có thể sử dụng các panel ví dụ như Direct Admin (có phí). Sentora, Vesta (Miễn phí).


#3

Hi Bò Cạp Đen,

Cảm ơn bạn đã trả lời những câu hỏi của mình rất chi tiết, vậy theo bạn mình nên theo bên nào? Vì mình chỉ có kiến thức về Web chứ ko có hiểu sâu rộng về VPS, server. Vì môi trường dev của mình là XAMPP (Apache) nên thật tế mà nói là mình quen thuộc với Apache hơn.

Phần cronjob này mình chưa thử nhưng vì khi MySQL bị tắt, mình chạy lên “service mysql restart” thì gặp lỗi MySQL PID file could not be found! buộc phải reboot cả VPS, vậy liệu giải pháp này có khả thi không bạn?

Cảm ơn bạn.


(Bò Cạp Đen) #4

Nếu vậy bạn dùng Sentora đi. Mình có các bài viết về tối ưu cho Sentora. Có thể hỗ trợ bạn nhiều hơn
Nó sử dụng như hosting thôi., có thể tạo nhiều tài khoản. Sử dụng apache2 luôn


#5

Ah mình xin nói thêm là mục đích sử dụng của mình đang là dùng Wordpress + Woocommerce để host 1 website ecommerce với quy mô vừa.

Bạn có tài liệu không cho mình xin với. Đây có thể được xem là Control Panel ko? Nếu sử dụng Sentora thì khác gì với HocVPS Script vậy bạn?

Cảm ơn bạn.


(Bò Cạp Đen) #6

Về quy mô lớn hay nhỏ nó không nằm ở đây nhiều, bạn có thể xài VPS cấu hình cao hơn nếu thấy chậm
Hiện mình đang dùng Sentora chạy nhiều web bán hàng woocommerce
Tài liệu cài đặt căn bản thì bạn xem tại hocvps.com
Còn cài đặt nâng cáp php, mysql, hay tối ưu thêm cho sentora, bạn có thể xem tại trang https://legiang.vip của mình.

Sentora được xem là 1 Control Panel cho VPS, nhưng nó không phải cpanel nha bạn, tránh hiểu nhầm.
Và dĩ nhiên cái này sẽ khác hocscript, cái này dùng Apache2, có thể cấu hình thêm nginx proxy

Còn hình ảnh thì đây


(Luân Trần) #7

Thực ra sử dụng Nginx dễ lắm, bạn chỉ cần hiểu một số rule căn bản là convert được htaccess qua rule Nginx ngon ơ rồi.

Một số code hiện tại đã support chạy trên Apache hoặc Nginx không cần cấu hình gì thêm, ví dụ như WordPress.

Mình thấy chủ yếu shared hosting dùng Apache thôi, chứ lên môi trường VPS/Server với những người có nhiều kinh nghiệm, không ai dùng Apache nữa đâu.


#8

Hi Luân,

Mình có follow theo HocVPS Script của bạn, cảm ơn bạn vì Script đó. Vậy theo bạn mình vẫn nên tiếp tục theo Nginx dù môi trường dev là XAMPP?

Bạn có thể cho mình xin 1 vài lời khuyên dựa theo danh sách câu hỏi mình có cung cấp ở trên được không? Mình đang dùng Wordpress + Woocommerce.

Cảm ơn.


(Luân Trần) #9

Nên dùng Nginx nhé bạn, Wordpress + Woocommerce thì không cần cấu hình thêm gì cả, cứ thế up lên chạy thôi :smiley:


(ThucLe Blog) #10

Mình có theo dõi các bài viết hiện tại mình đang bị lỗi cái cấu hình nginx các bài viết thì không sao nhưng các sản phẩm hiện không thể xem được các thư mục, hiện đang bị lỗi rewrite bạn có thể xem giúp mình https://thucphamkho.vn/do-kho