怎样在 Arch Linux 上安装 LEMP 堆栈

介绍

本指南解释了如何在 Arch Linux (LEMP) 上安装 Nginx、MariaDB 和 PHP,并使用免费的 Let’s Encrypt 证书保护网站。

先决条件

在开始本指南之前,请:

部署一个新的 Arch Linux 实例 创建一个 sudo 用户。 更新系统 创建指向您服务器 IP 地址的 DNS“A”记录。

本指南使用 app.example.com 作为服务器的示例 DNS 名称。

安装 UFW 防火墙

UFW(简单防火墙)是一种简单且可配置的防火墙。

安装 UFW。

$ sudo pacman -S --noconfirm ufw

配置UFW

配置 UFW 以允许传出流量,但默认情况下拒绝任何传入或路由流量。

$ sudo ufw default allow outgoing
$ sudo ufw default deny incoming
$ sudo ufw default deny routed

允许 TCP 端口 22 (SSH)、80 (HTTP) 和 443 (HTTPS) 上的流量。

$ sudo ufw allow 22/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp

启用防火墙以使新配置处于活动状态。 如果您通过 SSH 连接,它将显示一条警告消息,提示可能会中断连接。 您可以忽略此警告,因为在前面的步骤中允许 TCP 端口 22 (SSH) 通过防火墙。

$ sudo ufw enable

安装 Nginx

安装 Nginx 包。

$ sudo pacman -S --noconfirm nginx

启动 Nginx 服务并使其在启动时自动启动。

$ sudo systemctl start nginx.service
$ sudo systemctl enable nginx.service

安装 MariaDB

安装 MariaDB 包。

$ sudo pacman -S --noconfirm mariadb

初始化 MariaDB 的内部数据库和系统表。

$ sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

启动 MariaDB 服务并使其在启动时自动启动。

$ sudo systemctl start mariadb.service
$ sudo systemctl enable mariadb.service

运行安全安装脚本以配置 MariaDB 安全性。

$ sudo mysql_secure_installation

当提示输入 root 的当前密码时,按 ENTER 键不输入。 当要求提供新的 root 密码时,请使用安全密码。 对于所有剩余的提示,回答 Y 或按 ENTER。

安装 PHP

安装 PHP 和 PHP-FPM 包。

$ sudo pacman -S --noconfirm php php-fpm

启动 PHP-FPM 服务并使其在启动时自动启动。

$ sudo systemctl start php-fpm.service
$ sudo systemctl enable php-fpm.service

安装证书机器人

Certbot 用于请求免费的 Let’s Encrypt SSL/TLS 证书。 在 Arch 上安装 Certbot 的推荐方法是使用 Snap。

跟着 eff.org 上的说明在 Arch Linux 上为 Nginx 安装 Certbot.

使用 Certbot 请求 SSL/TLS 证书。 代替 [email protected] 用你的电子邮件和 app.example.com 使用您的完全限定域名。

    $ sudo certbot certonly --agree-tos --no-eff-email --nginx -m [email protected] -d app.example.com

测试 PHP

在 web 根目录中创建一个 PHP 测试页面。

$ sudo nano /srv/http/index.php

粘贴以下几行。

<?php
phpinfo();

保存并退出文件。

要查看测试页面,请在 Web 浏览器中导航到您的完全限定域名。 它应该显示 PHP 版本以及其他系统信息。

LEMP 堆栈安装现已完成。 接下来,将您的网页上传到 /srv/http.

更多资源

Nginx 文档
PHP 文档
MariaDB 文档
Certbot 文档

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com