Ở đây chắc cũng không ít bạn trải qua cảm giác đổ mồ hôi hột vừa chân ướt chân ráo khi mà tới giai đoạn deploy ứng dụng Laravel của mình lên production. Mình cũng từng trải qua cảm giác như vậy, thấu hiểu được tâm tư tình cảm của mọi người đặc biệt là những bạn lần đầu tham gia vào quá trình deploy ứng dụng của mình lên production.

Vậy nên, hôm nay mình sẽ hướng dẫn các bạn một số setup server cơ bản và cần thiết để quá trình deploy trở nên đơn giản, mượt mà hơn. Về phần nội dung của hướng dẫn sẽ bao gồm một số setup cơ bản sau đây:
- Setup Nginx
- Setup PHP FPM
- Setup PhpmyAdmin
- Migrate database
- Test deploy
Về yêu cầu thì cần mọi người phải hiểu cơ bản về một số lệnh cài đặt Linux, vai trò của Nginx và PHP FPM trong ứng dụng. Không để mọi người đợi lâu nữa thì mình sẽ giải thích các thành phần mình cần phải thiết lập trước khi đi vào trong ứng dụng.
Trước khi đi vào cấu hình thì mọi người chạy với quyền sudo nhé.
Setup NGINX
Trước hết thì mình sẽ giới thiệu sơ qua Nginx thì Nginx hiểu đơn giản là một máy chủ web và proxy giúp giải quyết các vấn đề cân bằng tải nhờ sử dụng kỹ thuật không đồng bộ (asynchronous) việc này giúp cho máy chủ Nginx đạt được hiệu suất và ổn định cao.
Thì lý thuyết mình tóm gọn lại như vậy để các bạn hình dung về công dụng và vai trò của Nginx còn rất nhiều công dụng của Nginx các bạn có thể tham khảo trên trang chủ https://www.nginx.com/. Sau khi mà cài đặt xong nginx trên môi trường Linux của bạn thì mặc định thông tin cấu hình Nginx sẽ được đặt ở trong thư mục /etc/nginx/. Ở trong đây sẽ có rất nhiều file và thư mục khác nhau. File quan trọng nhất để ứng dụng Nginx bạn cần hoạt động là nginx.conf. Tập tin này sẽ chứa những thông tin cấu hình cần thiết để cấu hình ứng dụng web hoạt động. Một file nginx.conf cơ bản chứa các phần sau:
- Cấu hình chung: user, worker_processes, pid, events block,...
- Cấu hình HTTP blocks: keepalive, timeout, và buffers,...
- Cấu hình máy chủ (Server block): location, ssl,...
Cấu hình file nginx.conf các bạn có thể tham khảo dưới đây:
