Máy chủ LAMP: một giải pháp hợp lý để tạo các trang web động
Khi phân biệt các loại trang web, có hai loại chung khác nhau mà trang web của bạn có thể thuộc – tĩnh hoặc động. Các trang web tĩnh hiển thị các tài liệu HTML trên các máy chủ tương ứng của chúng và nội dung của chúng chỉ có thể được điều chỉnh khi nhà phát triển thay đổi mã nguồn. Mặt khác, nội dung của các trang web động được tạo chủ động khi nhận được yêu cầu từ người dùng. Phương pháp này mang lại lợi thế chính cho các trang web yêu cầu cập nhật thường xuyên cho dữ liệu luôn thay đổi, như báo cáo thời tiết hoặc giá thị trường chứng khoán. Các trang web động yêu cầu cơ sở hạ tầng đặc biệt bao gồm hệ điều hành, máy chủ web, hệ thống cơ sở dữ liệu và trình thông dịch tập lệnh; cơ sở hạ tầng này bao gồm cấu trúc cơ bản của ngăn xếp LAMP.
nội dung
Máy chủ LAMP là gì?
LAMP có tên theo một từ viết tắt bắt nguồn từ bốn thành phần phần mềm tạo nên cơ sở hạ tầng của nó: L inux, A pache, M ySQL và P HP. Các yếu tố kết hợp này cung cấp cơ sở hạ tầng máy chủ có khả năng lưu trữ và tạo các trang web động. Các thành phần riêng lẻ bổ sung và xây dựng dựa trên nhau , do đó tên của gói phần mềm là LAMP stack.
Máy chủ web, Apache, chạy trên Linux. Mặc dù máy chủ này không thể diễn giải nội dung động, nhưng nó được lập trình để tính đến việc trình thông dịch tập lệnh PHP có thể thực hiện nhiệm vụ này. Vì lý do này, máy chủ sẽ gửi mã nguồn tương ứng, bao gồm thông tin về hành vi của khách truy cập trang web, tới trình thông dịch PHP. Trình thông dịch này lần lượt truy cập cơ sở dữ liệu, MySQL. Kết quả hoàn thành của quá trình này sau đó được gửi trở lại Apache nơi nó được hiển thị cho khách truy cập trong trình duyệt web tương ứng của nó.
Do giá cả hợp lý và tính khả dụng dễ dàng, các máy chủ LAMP đã được chứng minh là một lựa chọn phổ biến cho các nhà phát triển web. Các thành phần máy chủ riêng lẻ có thể được thay thế bằng các lựa chọn thay thế tương đương. Các hệ điều hành như Windows (WAMP) hoặc Mac OS (MAMP) cũng có thể được sử dụng. Máy chủ web nginx thường được sử dụng thay cho Apache. Đối với mục đích cơ sở dữ liệu, MySQL và MariaDB được sử dụng với tỷ lệ tương tự nhau. Các ngôn ngữ lập trình bổ sung là: Perl, Ruby và Python.
Cách cài đặt máy chủ LAMP
Cần xóa một số thứ trước khi cài đặt máy chủ LAMP. Điều quan trọng trước tiên là đảm bảo rằng phần cứng cung cấp đủ dung lượng để cài đặt và các chức năng khác nhau của ngăn xếp ĐÈN. Về nguyên tắc, các hệ thống LAMP không yêu cầu hiệu năng tính toán hàng đầu. Tuy nhiên, tùy thuộc vào loại nội dung sẽ được gửi đến khách truy cập trang web, có thể cần một hệ thống hiệu suất cao. Ví dụ, các dịch vụ cung cấp phương tiện phát trực tuyến có thể không thể bỏ qua các thiết bị cao cấp như vậy. Số lượng người dùng cũng nên được tính đến trước khi mua phần cứng.
Một khi phần cứng đã được tính đến, nhiệm vụ tiếp theo là xác định xem nhà phân phối Linux nào phù hợp với công việc. Cho dù đó là Red Hat, openSUSE, Debian, Ubuntu hay CentOS, việc chọn nhà phân phối phù hợp phụ thuộc vào cả mục đích dự định của máy chủ LAMP cũng như trình độ năng lực Linux của bạn.
Hướng dẫn sau đây đưa ra các bước để cài đặt bốn thành phần của máy chủ Ubuntu LAMP.
Bước 1: Chọn hệ điều hành phù hợp
Như trường hợp của Ubuntu, nhiều nhà phân phối Linux mã nguồn mở khác (thường được viết tắt đơn giản là “distro”) được cung cấp miễn phí trực tuyến. Các bước sau đây là hướng dẫn về hệ điều hành dựa trên Debian:
- Tải xuống hoặc mua phiên bản máy chủ Ubuntu trên trang chủ của họ: Ubuntu ; sau khi quá trình tải xuống hoàn tất, hãy lưu hoặc ghi tệp ISO trên thẻ nhớ USB hoặc CD
- Sử dụng thẻ nhớ USB hoặc CD, khởi động hệ điều hành.
- Chọn ngôn ngữ và bắt đầu cài đặt máy chủ.
- Chọn hoặc nhập chi tiết về tùy chọn ngôn ngữ, bố cục bàn phím, cấu hình mạng, tên máy chủ , múi giờ và mật khẩu.
- Cấu hình ổ cứng.
- Tại thời điểm này, trình cài đặt sẽ quét đĩa CD để tìm các gói phần mềm cũng như thông tin liên quan đến các tùy chọn cập nhật. Đảm bảo chọn không thực hiện cập nhật tự động.
- Cuối cùng, sau khi cài đặt , hãy khởi động lại hệ thống và nhập đoạn mã sau vào dòng lệnh.
sudo apt-get cập nhật
Ubuntu hiện đã được cài đặt đầy đủ. Bây giờ, các bước tiếp theo để cài đặt thêm các thành phần máy chủ Ubuntu LAMP có thể được tiến hành.
Bước 2: Cài đặt máy chủ web
Trong trường hợp máy chủ web Apache không được cài đặt thành công trong quá trình cài đặt Ubuntu, hãy thực hiện lệnh sau:
sudo apt-get cài đặt apache2
Làm theo bước này, đảm bảo rằng Apache 2 (“2” là phiên bản mới nhất) hiện đã được cài đặt bằng cách truy cập trang localhost hoặc IP máy chủ. Khi đó cần thực hiện các điều chỉnh sau:
- Mặc dù KeepAlive cải thiện tốc độ trang web cho người dùng nhưng nó cũng yêu cầu một lượng bộ nhớ hoạt động đáng kể. Việc điều chỉnh KeepAlive trong tệp cấu hình chính /etc/apache2/apache2.conf thành „KeepAlive Off“ đặc biệt đáng giá đối với những người làm việc trên các hệ thống kém mạnh mẽ hơn.
- Mô-đun MultiProcessing thông thường (MPM) cho Apache là mô-đun sự kiện, trong khi PHP sử dụng mô-đun Prefork. Chạy /etc/apache2/mods-available sẽ tạo tệp mpm_prefork.conf. Tập tin này nên được điều chỉnh như được hiển thị:
<IfModule mpm_prefork_module> Máy chủ khởi động 2 MinSpareServers 6 MaxSpareServers 12 MaxRequestWorkers 39 MaxConnectionsPerChild 3000 </IfModule>
- Tiếp theo, nên tắt mô-đun sự kiện và bật mô-đun Prefork.
sudo a2dismod mpm_event sudo a2enmod mpm_prefork
- Cuối cùng, máy chủ sẽ được khởi động lại:
khởi động lại dịch vụ sudo apache2
Bước 3: Cài đặt cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu MySQL hoạt động như một máy chủ cho phép tạo nhiều cơ sở dữ liệu trên đó; nhiều bảng dữ liệu có thể được thiết lập cho mỗi cơ sở dữ liệu. Một hoặc nhiều máy khách gửi truy vấn đến máy chủ MySQL, được cài đặt bằng lệnh sau:
Sudo apt-get cài đặt máy chủ mysql
Trong quá trình cài đặt, có thể xác định mật khẩu cho người dùng root MySQL; bước này phải luôn luôn được thực hiện. Bước tiếp theo liên quan đến bảo mật MySQL. MySQL Secure cung cấp các tùy chọn thay đổi mật khẩu , xóa tài khoản người dùng ẩn danh hoặc cơ sở dữ liệu kiểm tra hoặc ngăn chặn tất cả thông tin đăng nhập gốc từ máy chủ lưu trữ cục bộ. Đây là lệnh cài đặt:
sudo mysql_secure_installation
Để tạo cơ sở dữ liệu, hãy đăng nhập vào MySQL sau:
mysql -u root -p
Theo bước này, cơ sở dữ liệu, bao gồm cả người dùng có quyền truy cập, được tạo:
tạo cơ sở dữ liệu webdata; cấp tất cả trên webdata.* cho “một số người dùng” được xác định bằng “mật khẩu”;
Bước 4: Cài đặt phần mềm Script
Trong bước cuối cùng, ngôn ngữ tập lệnh PHP và thư viện PEAR ( P HP E xtension và A pplication R kho lưu trữ) được thêm vào ngăn xếp LAMP. PEAR chứa các mô-đun và phần mở rộng có giá trị cho PHP. Chúng được cài đặt bằng lệnh sau:
sudo apt-get cài đặt php5 php-lê
Cài đặt hỗ trợ MySQL cho PHP5 cũng nên được thực hiện vào thời điểm này:
sudo apt-get cài đặt php5-mysql
Ngay sau khi quá trình cài đặt kết thúc, tệp cấu hình PHP sẽ được sửa đổi; nó có thể được tìm thấy bằng cách truy cập như sau: /etc/php5/apache2/php.ini
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR error_log = /var/log/php/error.log max_input_time = 30
Thông qua quá trình này, người dùng nhận được nhiều báo cáo lỗi thông tin hơn và hiệu suất tốt hơn. Ngoài ra, có thể lưu lỗi trong error.log. Tiếp theo, một thư mục nhật ký phải được tạo cho PHP và máy chủ Apache cần được trao quyền sở hữu.
sudo mkdir /var/log/php sudo chown www-data /var/log/php
Sau khi tải lại Apache, quá trình cài đặt toàn bộ máy chủ LAMP sẽ hoàn tất:
dịch vụ sudo apache2 tải lại
LAMP-Stacks: phần mềm nguồn mở cho mọi dự án web
Ưu điểm của phần mềm mã nguồn mở không chỉ là nó có sẵn miễn phí. Một điểm cộng nữa của phần mềm nguồn mở, đúng như tên gọi của nó, là mọi người dùng đều có quyền truy cập vào mã phát triển của nó . Điều này cho phép người dùng chỉnh sửa độc lập và tiếp tục phát triển phần mềm. Đối với người dùng có kinh nghiệm, phần mềm mở loại bỏ nhu cầu lo lắng về việc ngừng hỗ trợ cho một phần mềm cụ thể.
Cài đặt máy chủ LAMP không chỉ mang lại tính linh hoạt cao và giá thấp: nó kết hợp các thành phần mạnh mẽ kết hợp tốt với nhau. Máy chủ LAMP cho phép người dùng vận hành cả trang web tĩnh và động. Wikipedia chạy trên phần mềm MediaWiki, đây chỉ là một trong nhiều ví dụ về trang web được phát triển trên hệ thống LAMP .