對於一般的 Web 開發和託管,您需要編程語言、數據庫和 Web 服務器。 LAMP 堆棧是開源 Linux 工具的集合,其中包括 Apache、MySQL/MariaDB 和 PHP。這些工具緊密配合,使服務器能夠託管和運行現代動態 Web 應用程序。
下面詳細闡述了 LAMP 堆棧的組件:
① Apache:這是一個開源跨平臺 Web 服務器,運行着世界上 67% 的網站。該軟件由 Apache 軟件基金會開發和維護。
② MariaDB:這是一個由 MySQL 的原始開發人員開發的關係數據庫管理系統,並保證保持開源。
③ PHP:這是超文本預處理器的縮寫。這是一種開源通用腳本語言,用作 Web 應用程序的後端編程語言。此外,在創建 Web 應用程序時,這種語言還可以與 HTML 一起使用。 PHP 與 JavaScript 等其他語言的主要區別在於,代碼在服務器上執行,生成 HTML 腳本併發送給客戶端。
☛ LAMP 堆棧如何工作?
Apache Web 服務器接收瀏覽器的網頁請求。如果請求 PHP 文件,則會將請求傳遞給 PHP,然後 PHP 加載並執行文件中包含的代碼。 PHP 還與數據庫 ( MySQL / MariaDB ) 鏈接以獲取代碼中引用的任何數據。
然後,使用 PHP 代碼和從數據庫獲取的數據來生成用於顯示網頁的 HTML 腳本。 LAMP 堆棧在處理加載時數據不時變化的靜態和動態網頁時非常有效。
然後 PHP 將這些結果傳遞迴 Apache Web 服務器,然後 Apache Web 服務器將它們發送回瀏覽器。
在本指南中,我們將在 Rocky Linux 9.4 上安裝和使用 Apache、MariaDB 和 PHP (LAMP)。
㈠ 在 Rocky Linux 9.4 上安裝 Apache
這裏要安裝的第一個組件是 Apache Web 服務器。該軟件在 Rocky Linux 存儲庫中作爲 httpd 提供。要安裝它,請執行命令:
[root@localhost]#yum -y install httpd httpd-tools
安裝後,啓動並啓用該服務:
[root@localhost]#systemctl enable --now httpd
檢查服務的狀態:
[root@localhost]#systemctl status httpd
您還可以通過訪問瀏覽器上的默認頁面來驗證 Apache 是否正在運行。首先,允許 HTTP 流量通過防火牆:
[root@localhost]#firewall-cmd --add-service=http --permanent [root@localhost]#firewall-cmd --reload
使用 URL http://IP_Address 或 http://domain_name 訪問網頁
㈡ 在 Rocky Linux 9.4 上安裝 MariaDB
我們需要一個用於網絡託管的數據庫服務器。這裏有兩個選項,MySQL 或 MariaDB 數據庫。在本指南中,我們將選擇 MariaDB 數據庫,因爲它具有高性能的存儲引擎、更快、更安全的複製以及與 MySQL 的兼容性。
Rocky Linux 9.4 在默認存儲庫中提供 MariaDB 10。可以使用以下命令安裝:
[root@localhost]#yum -y install mariadb-server mariadb
安裝後,啓動並啓用 MariaDB 服務:
[root@localhost]#systemctl enable --now mariadb
驗證服務是否正在運行:
[root@localhost]#systemctl status mariadb
默認情況下,MariaDB 不安全,這可能會導致漏洞。要保護它,請按如下所示操作:
[root@localhost]#mysql_secure_installation .... Enter current password for root (enter for none): Just press Enter ...... Switch to unix_socket authentication [Y/n] Y ..... Change the root password? [Y/n] Y New password: New-root-password Re-enter new password: Re-enter New-root-password .... Remove anonymous users? [Y/n] Y .... Disallow root login remotely? [Y/n] Y ..... Remove test database and access to it? [Y/n] Y ...... Reload privilege tables now? [Y/n] Y ... Thanks for using MariaDB!
驗證是否可以使用創建的密碼登錄:
[root@localhost]#mysql -u root -p
㈢ 在 Rocky Linux 9.4 上安裝 PHP
Rocky Linux 9.4 存儲庫中可用的默認 PHP 版本是 PHP 8.0。此版本包含錯誤修復和增強功能,包括使用結構化元數據語法、與順序無關的新命名參數以及改進的即時編譯性能。
使用以下命令安裝 PHP 8.0 及其依賴項:
[root@localhost]#yum install php-{common,gmp,fpm,curl,intl,pdo,mbstring,gd,xml,cli,zip,mysqli}
檢查 PHP 版本:
[root@localhost]#php --version PHP 8.0.13 (cli) (built: Nov 16 2021 18:07:21) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.13, Copyright (c) Zend Technologies
㈣ 在 Rocky Linux 9.4 上爲 Apache 配置 PHP
要配置 PHP,請打開以下文件:
[root@localhost]vi /etc/php.ini
在文件中進行所需的設置。例如:
max_execution_time = 300 upload_max_filesize = 100M post_max_size = 128M date.timezone = Africa/Nairobi
進行所需的更改後,允許 Apache 加載 PHP 文件:
[root@localhost]#vi /etc/httpd/conf/httpd.conf
# LoadModule foo_module modules/mod_foo.so AddHandler php-script .php
您還可以使用以下命令創建測試 PHP 文件來檢查 PHP 版本:
[root@localhost]#vi /var/www/html/info.php
將以下行添加到文件中:
<?php phpinfo(); ?>
保存文件並重新啓動 Apache 和 PHP-FPM:
[root@localhost]#systemctl restart php-fpm [root@localhost]#systemctl restart httpd
使用 URL http://IP_Address/info.php 訪問顯示 PHP 參數的頁面