Thiết lập Môi trường Máy chủ Phát triển và Sản xuất PHP
Như hầu hết các lập trình viên đều biết, để một máy chủ hoạt động ổn định, bạn cần một hệ sinh thái phần mềm hoàn chỉnh. Các thành phần cơ bản như Apache, PHP, và MySQL giống như "các cơ quan" của máy chủ – tất cả đều cần thiết và phải hoạt động cùng nhau một cách hài hòa. Chúng ta sẽ giả định rằng bạn đã hiểu các nguyên tắc cơ bản về cách máy chủ hoạt động, vì vậy hãy tập trung vào các chiến lược cấu hình cụ thể.
Trong số rất nhiều kiến trúc máy chủ, bộ LAMP (Linux, Apache, MySQL, PHP) là một cấu hình cổ điển. Nó không chỉ dễ cài đặt mà còn tự hào có sự hỗ trợ cộng đồng mạnh mẽ, và có thể xử lý mọi thứ từ blog cá nhân đến các nền tảng thương mại điện tử cỡ trung bình.
Tất nhiên, các lựa chọn công nghệ luôn đa dạng. Nginx, như một ngôi sao đang lên, hoạt động đặc biệt tốt trong các tình huống có tính đồng thời cao do kiến trúc hướng sự kiện của nó. Bạn có thể chạy các bài kiểm tra so sánh để chọn giải pháp phù hợp nhất với nhu cầu của bạn. Tuy nhiên, bất kể bạn chọn máy chủ web nào, triết lý cấu hình PHP vẫn nhất quán: bạn phải phân biệt rõ ràng giữa môi trường phát triển và môi trường sản xuất.
Bảo mật là huyết mạch của môi trường sản xuất. Bây giờ, chúng ta hãy đi qua cấu hình từng bước của hai môi trường này.
Môi trường Phát triển (Development Environment)
Windows
Việc thiết lập môi trường phát triển trên Windows không yêu cầu mua phiên bản máy chủ đắt tiền của hệ điều hành; các gói tích hợp của bên thứ ba làm cho mọi thứ trở nên dễ dàng. Một số ứng dụng này là XAMPP và WAMP. Tất cả các ứng dụng của bên thứ ba này đều làm điều tương tự – cài đặt Apache, MySQL và PHP trong chương trình.
XAMPP là ứng dụng được sử dụng phổ biến nhất – bạn có thể tải xuống tại www.apachefriends.org – vì nó đa nền tảng. XAMPP là viết tắt của cross-platform (đa nền tảng), Apache, MariaDB, PHP, Perl. Cài đặt XAMPP rất đơn giản. Sau khi nhấp đúp vào trình cài đặt, chỉ cần giữ các cài đặt mặc định. Tuy nhiên, hãy nhớ chọn tùy chọn "Developer Tools". Bước quan trọng này sẽ tự động cấu hình php.ini
để bật chế độ gỡ lỗi. Nếu thông báo lỗi không được hiển thị, bạn có thể điều hướng thủ công đến C:\xampp\php\php.ini
và thực hiện các thay đổi sau:
display_errors = On
display_startup_errors = On
error_reporting = E_ALL
Khi XAMPP cài đặt xong, nó sẽ mở một bảng điều khiển (dashboard) mà bạn có thể sử dụng để khởi động, dừng và định cấu hình các dịch vụ.
Sau khi cài đặt và chạy XAMPP, thư mục gốc web (webroot) được đặt tại c:xampp/htdocs/
. Đây là nơi bạn tạo trang web/ứng dụng của mình. Để xem công việc của bạn, chỉ cần nhập localhost
vào thanh địa chỉ của trình duyệt và nó sẽ ngay lập tức khởi chạy tệp index
trong htdocs
.
Mac
Cài đặt trên Mac rất giống với Windows. Cách dễ nhất và ít tốn kém nhất để thiết lập môi trường phát triển của bạn là cài đặt một ứng dụng của bên thứ ba, chẳng hạn như ServBay hoặc MAMP.
ServBay là lựa chọn yêu thích cá nhân của tôi ở đây, và bạn có thể tải xuống tại www.servbay.com. Với ServBay, bạn không cần phải làm gì khác. Chỉ cần nhấp vào phiên bản PHP bạn muốn, đi lấy một tách cà phê, và khi bạn quay lại, PHP sẽ được cài đặt. Bạn thậm chí không cần phải mở terminal. Toàn bộ quá trình mất chưa đầy 3 phút, đó là lý do tại sao tôi giới thiệu nó. Bảng điều khiển ServBay tích hợp hiển thị thông tin chính trong thời gian thực, chẳng hạn như trạng thái dịch vụ, mức sử dụng cổng và luồng nhật ký.
Hơn nữa, ServBay đi kèm với phpMyAdmin và Adminer, giúp chúng ta tiết kiệm công sức cấu hình.
Linux (dựa trên Debian)
Trong thế giới Linux, tôi ủng hộ việc cài đặt gốc để đạt được hiệu suất tối ưu. Trước tiên, hãy cập nhật kho phần mềm để đảm bảo tính tương thích của thành phần. Bạn có thể thực hiện việc này bằng cách chạy các lệnh sau trong terminal:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
Các lệnh này chỉ đơn giản đảm bảo rằng hệ thống của bạn được cập nhật với các phiên bản phần mềm mới nhất. Điều này cũng giúp đảm bảo bạn không có bất kỳ vấn đề phụ thuộc nào.
Sau khi cập nhật hệ thống của bạn, Apache2 lẽ ra đã được cài đặt trên hầu hết các máy Linux. Tuy nhiên, nếu bạn không chắc chắn, chỉ cần chạy sudo apt-get install apache2
(hãy nhớ rằng, nếu một cái gì đó đã được cài đặt, việc chạy lệnh cài đặt sẽ chỉ kiểm tra xem có phiên bản cập nhật của phần mềm đó hay không).
Bây giờ bạn cũng sẽ cần cài đặt một cơ sở dữ liệu. Bạn có thể sử dụng bất kỳ cơ sở dữ liệu nào bạn thích, nhưng tôi sử dụng MySQL. Để cài đặt MySQL, hãy chạy lệnh sau trong terminal của bạn:
sudo apt-get install mysql-server
sudo mysql_secure_installation
Làm theo lời nhắc và nhập mật khẩu an toàn.
Khi bạn chắc chắn rằng bạn đã cài đặt Apache2 và MySQL, bạn có thể cài đặt PHP bằng cách chạy:
sudo apt-get install php
Thao tác này sẽ cài đặt PHP với cài đặt mặc định, vì vậy bạn sẽ cần xác định vị trí tệp php.ini
, có thể tìm thấy trong /etc/php/7.0/apache2
và /etc/php/7.0/cli
. Bạn sẽ cần cập nhật phần "Xử lý lỗi và ghi nhật ký" (Error handling and logging) (khoảng dòng 392) để hiển thị tất cả lỗi. Có những nhận xét sẽ giúp bạn thực hiện các thay đổi chính xác. Tuy nhiên, một quy tắc đơn giản là: đối với phát triển, hãy bật tất cả, và đối với sản xuất, hãy tắt tất cả.
Bạn cũng sẽ muốn cài đặt phpMyAdmin, điều này sẽ giúp việc thiết lập và thay đổi cơ sở dữ liệu của bạn dễ dàng hơn nhiều.
Làm như vậy khá đơn giản, chỉ cần mở terminal của bạn và nhập:
sudo apt-get install phpmyadmin
Khi bạn đã làm điều đó, bạn cần định cấu hình tệp cấu hình Apache để bao gồm phpMyAdmin. Điều này có thể được thực hiện bằng cách thực hiện như sau:
sudo echo -e "\nInclude /etc/phpmyadmin/apache.conf" >> /etc/apache2/apache2.conf
Bây giờ tất cả những gì bạn cần làm là khởi động Apache và MySQL, và mọi thứ sẽ hoạt động. Sử dụng lệnh sau để làm như vậy:
sudo service apache2 start && service mysql start
Và thế là xong, tất cả đã được thiết lập trên máy Linux của bạn.
Môi trường Sản xuất (Production Environment)
Khi mã của bạn đối mặt với người dùng thực, cấu hình bảo mật là áo giáp kỹ thuật số của bạn. Trên máy Mac, điều này thật dễ dàng. Với ServBay, bạn có thể tắt nhiều tham số khác nhau chỉ bằng một cú nhấp chuột, và sau đó bạn có thể bắt đầu viết mã ngay lập tức bằng IDE ưa thích của mình.
Tuy nhiên, cho dù bạn đang chạy máy chủ Windows hay máy chủ Linux, các nguyên tắc điều chỉnh php.ini
đều giống nhau:
- Tắt tất cả hiển thị lỗi:
display_errors = Off
- Bật ghi nhật ký lỗi:
log_errors = On
- Chỉ định đường dẫn nhật ký:
error_log = /var/log/php_errors.log
Trên Linux, bạn nên sử dụng công cụ xoay vòng nhật ký (log rotation tool) để ngăn các tệp nhật ký phát triển quá lớn:
sudo apt install logrotate -y
Đối với máy chủ Windows, bạn nên thường xuyên sử dụng Event Viewer để kiểm tra nhật ký hệ thống.
Lưu ý quan trọng: Sự khác biệt trong cấu hình giữa môi trường phát triển và sản xuất nên được quản lý thông qua một hệ thống kiểm soát phiên bản, chẳng hạn như sử dụng các nhánh Git để phân biệt các tệp cấu hình môi trường.
Cảm ơn bạn đã đọc hướng dẫn của tôi, và tôi hy vọng nó sẽ giúp bạn thiết lập hệ thống của mình cho mục đích chính xác mà bạn cần.
All rights reserved