对于一般的 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 参数的页面