LEMP堆栈环境由一组服务于动态网页和Web应用程序的服务器端软件组成,它是代表四个独立组件的首字母缩写词:(L) Linux OS、(E) Nginx Web服务器、(M) MySQL/MariaDB 数据库和 (P) PHP 脚本语言。
Rocky Linux是最受欢迎的Red Hat Enterprise Linux 替代品之一,是一种可靠、安全和稳定的Linux发行版,可确保服务器正常运行。由于这些特性,它成为Linux服务器系统管理员的首要选择,并且备受青睐。
在本文中,小编简单介绍在Rocky Linux 9系统上安装LEMP堆栈(Nginx、MariaDB和PHP)的详细步骤,并将其应用于Web服务器。废话不多说,下面一起来看看吧。
先决条件
需要具有访问Rocky Linux 9服务器系统的完全权限。此外,本文执行的所有命令均由具有 sudo
执行权限的普通用户运行。当然,你也可以跳过使用 sudo
用户命令,直接以root用户身份运行。两种情况下的结果都是一样的。
此外,如果准备使用SSL ,请确保防火墙不会阻止服务器的端口80和端口443,命令如下:
sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload
1、更新软件存储库
首先使用DNF命令更新可用包的列表,这确保了在Rocky Linux 9系统上安装LEMP堆栈的整个过程中只使用最新版本的软件包,并防止出现问题。
此外,请确保系统已完全更新。如果软件包正在等待更新,建议在继续之前更新它们。
sudo dnf update
2、在Rocky Linux 9上安装Nginx Web服务器
Web 服务器使你能够向网站访问者提供网页等内容,此步骤是处理LEMP堆栈中的第二个要求,即Nginx Web服务器。 使用以下命令在Rocky Linux 9服务器上安装最新的Nginx版本。出现提示时,输入“Y”以确认安装。
sudo dnf install nginx
sudo systemctl enable nginx
sudo systemctl start nginx
现在让检查一下Nginx服务器是否已成功启动,命令如下:
sudo systemctl status nginx
3、在Rocky Linux 9上安装MariaDB服务器
现在有了一个工作的Web服务器,接下来还需要安装数据库服务器来存储和管理网站的数据。在本教程中,小编安装的是MariaDB,而不是MySQL数据库。
MariaDB是一个开源 RDBMS(关系数据库管理系统),向后兼容,二进制插入式 替代 MySQL。与MySQL相比, MariaDB通过更快的复制速度、更严格的安全措施和额外的存储引擎提供了更高的性能 。要安装MariaDB数据库,请运行以下命令,并在出现提示时,键入“Y”并按“Enter”确认安装。
sudo dnf install mariadb-server
然后让使用以下命令启用并启动MariaDB服务,命令如下:
sudo systemctl enable mariadb
sudo systemctl start mariadb
3.1:设置MariaDB服务器保护
接下来,将使用mariadb服务器包提供的脚本(mysql_secure_installation)来限制对服务器的访问并删除未使用的帐户,因为默认设置会使您的mariadb安装不安全。运行脚本命令如下:
sudo mysql_secure_installation
运行上述命令后,会提示输入MariaDB root密码,只需将root密码留空,然后按“Enter”键,其余的继续输入“Y”并点击“Enter”。
需要注意的是,上面为MariaDB Root帐户指定的密码仅适用于远程用户。要从我们安装的主机登录,则无需输入密码,也不会被要求输入密码,只需键入“ sudo mysql
”即可访问MariaDB shell。
3.2:测试 MariaDB 安装
现在登录并运行一个简单的查询来检查数据库服务器是否正常运行。要登录数据库,请键入如下所示的命令:
sudo mysql
这样将连接到MariaDB服务器,并且MariaDB shell应该会出现。然后,运行一个简单的查询:
select version();
为了响应查询,MariaDB服务器应该会返回其版本状态(如下图所示)。最后,要退出MariaDB shell并返回系统终端,请使用“ quit
”命令。
4、在Rocky Linux 9上安装PHP
在Rocky Linux 9系统上安装完整的LEMP堆栈的最后一步是安装PHP脚本语言。要将PHP添加到Nginx,必须安装并使用PHP-FPM来执行PHP文件。因此,要将PHP-FPM与几个最广泛使用的PHP模块一起安装,请键入以下命令,并在出现提示时输入“Y”以确认安装。
sudo dnf install php-fpm php-mysqlnd php-gd php-cli php-curl php-mbstring php-bcmath php-zip php-opcache php-xml php-json php-intl
安装完成后,需要对PHP-FPM服务再做一次调整。因为默认情况下,PHP-FPM服务以Apache用户身份运行。但是,因为这里使用的是Nginx,所以必须修改PHP-FPM配置文件,并将默认用户从“apache”切换为“nginx”。
sudo vim /etc/php-fpm.d/www.conf
找到这两行:
user = apache
group = apache
然后将它们更改为如下所示内容:
user = nginx
group = nginx
保存并退出文件。然后,启用并启动PHP-FPM服务,命令如下:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
最后,检查PHP-FPM服务的状态,命令如下:
sudo systemctl status php-fpm
5、创建Nginx虚拟主机
现在已经在Rocky Linux 9服务器上安装了所有LEMP 组件,接下来还需要为该站点添加一个配置文件。为此,将创建一个新的服务器块,通常称为虚拟主机。在这里,出于演示目的, 使用example-domain.com,最简单的方法是在/etc/hosts
文件中添加一行,其中包含example-domain.com的条目即可。
你需要将域名记录指向服务器的IP地址。在我们的例子中,服务器IP地址是192.168.122.211。因此,如果你使用Linux系统,请在台式PC上打开/etc/hosts
文件,并将以下行添加到该文件中:
192.168.122.211 example-domain.com
然后,保存并退出文件。
接下来,为应用程序创建一个新的Web文件目录。首先,确保将“example-domain.com”替换为你自己的域名。
sudo mkdir /var/www/example-domain.com
然后,创建一个测试PHP文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/example-domain.com/index.php
授予Nginx对该目录的读写权限,命令如下:
sudo chown -R nginx:nginx /var/www/example-domain.com
现在是时候创建服务器块了,它是一个包含站点配置的文件。
sudo vim /etc/nginx/conf.d/example-domain.com.conf
将以下内容添加到文件中,然后保存并退出。
server {
listen 80;
listen [::]:80;
server_name example-domain.com www.example-domain.com;
root /var/www/example-domain.com;
index index.php index.html;
try_files $uri $uri/ /index.php?$args;
access_log /var/log/nginx/example-domain.com.access;
error_log /var/log/nginx/example-domain.com.error;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
注意:请记住将“example-domain.com”替换为你自己使用的实际域名和路径。
最后,重启Nginx Web服务器,使更改生效,命令如下:
sudo systemctl restart nginx
6、测试Rocky Linux 9 LEMP安装
现在已经在Rocky Linux 9上完成了Nginx、MariaDB和PHP的安装,因此LEMP堆栈环境现在应该可以完全运行了。启动浏览器并访问站点的域名以测试配置。这时候应该会出现一个网页,其中包含有关PHP安装的完整信息,如下图所示:
恭喜!到这里已在Rocky Linux 9上成功安装了功能齐全的LEMP堆栈。后面就可以上传程序源码来搭建网站了。
结论
在本文中,小编主要介绍如何在Rocky Linux 9系统上安装LEMP堆栈(Nginx、MariaDB 和 PHP) 。因此,基于PHP的Web应用程序现在可以在Rocky Linux服务器上运行了。
另外,如果有条件的话,小编建议大家了解下Nginx服务器上设置SSL证书的相关教程, 以确保网站通过安全的SSL (HTTPS) 连接,从而确保网站数据的传输安全。