在 Fedora 22 上安装 LEMP(Linux、Nginx、MariaDB 和 PHP)
LEMP 是一套类似于更流行的 LAMP 的工具。 LEMP 包括可用于构建网站的最著名的软件包之一。它的缩写取自其包含的每个软件包的第一个字母 - Linux、Nginx(发音为Engine X、MariaDB)和PHP。
本文假设您已经完成 Fedora 22 的安装。如果没有,您可以查看以下安装 Fedora 22 的指南:
- Fedora 22 服务器安装指南
- Fedora 22 工作站安装指南
在开始安装之前,建议更新您的系统。 Fedora 22 附带了名为 DNF 的新默认包管理器。要发布更新,您需要运行以下命令。
dnf update
注意:为了方便和更好地理解该过程,我将把 LEMP 设置分为 3 个简单的步骤。每个包都有一个。
第 1 步:安装 Nginx Web 服务器
1. Nginx 已经在网络上出现了一段时间了,但它每天都变得越来越流行。它是许多管理员的首选 Web 服务器,因为它重量轻并且可以快速交付静态内容。它还可以设置为反向代理,与另一个 Web 服务器(例如 Apache)协同工作。
要安装Nginx,您可以使用:
dnf install nginx
2. 安装 Nginx 后,您可以通过发出以下命令来启动并检查服务状态:
systemctl start nginx
systemctl status nginx
3. 要确认 Nginx 正常工作,请启动您最喜欢的网络浏览器并指向您的服务器 IP 地址 http://your-ip-address
。如果您不知道服务器 IP,可以使用以下命令查找您的 IP 地址:
ifconfig | grep inet
4.知道 IP 地址后,您可以在浏览器中输入您的 IP 地址,您应该会看到类似于以下内容的页面:
注意:如果页面无法加载,可能是防火墙阻止了端口 80 的访问,该端口是默认端口HTTP 请求。您可以使用以下一系列命令允许默认 Nginx 端口(80 和 443)上的连接并重新加载防火墙设置:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd –reload
5. 要确保 Nginx 在启动时自动启动,请运行以下命令。
systemctl enable nginx
注意:您网站文件的默认 Nginx Web 根目录是 /usr/share/nginx/html
,请确保放置您的文件这里。
第2步:安装MariaDB
6. MariaDB 是著名 MySQL 关系数据库引擎的社区分支。分叉的原因是 Oracle 收购了 MySQL。 MariaDB 旨在根据 GNU 通用公共许可证保持免费。许多 Linux 发行版已经改用 MariaDB 作为默认数据库引擎。
要在 Fedora 22 中完成 MariaDB 的安装,请运行以下命令:
dnf install mariadb-server
7. 安装 mariadb 后,您可以通过发出以下命令来启动 MariaDB 并使其在服务器启动时自动启动:
systemctl start mariadb
systemctl enable mariadb
8. 在安装过程中,系统不会要求您为 MariaDB root 用户设置密码。用户没有密码,因此您需要手动保护密码,如下所示。
mysql_secure_installation
执行后,第一个选项会要求您输入 MySQL root 密码 - 只需按 Enter 即可继续。其余选项是不言自明的,您可以在下面的屏幕截图中找到示例输出和配置建议:
第 3 步:安装 PHP 模块
9. PHP 是一种最强大的编程语言,可用于创建动态 Web 应用程序。要在 Fedora 22 上安装 PHP 及其库,请运行以下单个命令。
dnf install php php-fpm php-mysql php-gd php-mcrypt php-mbstring
10.安装完成后,我们需要对PHP安装进行一些小的更改,以便php文件能够正确执行。否则,浏览器将尝试下载您的 PHP 文件而不是运行它。
首先使用以下命令打开 www.conf
文件:
vim /etc/php-fpm.d/www.conf
找到以下几行:
; RPM: apache Choosed to be able to access some dir as httpd
user = apache
; RPM: Keep a group allowed to write in log dir.
group = apache
并将它们更改为:
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
现在保存文件并退出。
11.现在您需要使用以下命令重新启动php-fpm,以便新更改生效:
systemctl restart php-fpm
12. 现在您可以通过在 Nginx 根目录下创建 PHP 信息页面“info.php”来测试您的配置,即 /usr/share/nginx/html
然后重新启动 Nginx 服务以确认浏览器 IP 地址 http://your-ip-address/info.php
处的 PHP 信息页面。
echo "<?php phpinfo(); ?>" > /usr/share/nginx/html/info.php
systemctl restart nginx
就是这样!您的 LEMP 堆栈现已完成并准备好部署您的 Web 项目。如果您在设置过程中遇到任何问题,请随时在下面的评论部分提交评论。