在2019年的Arch Linux服务器上安装Nginx,MariaDB,PHP7(LEMP)

在先前的教程中,我解释了如何在KVM VPS上安装Arch Linux。 现在,本教程将向您展示如何在Arch Linux服务器上安装Nginx,MariaDB,PHP7(又名LEMP堆栈)。 您也可以按照本指南在Arch Linux家用计算机上安装LEMP堆栈。

步骤1:更新Arch Linux服务器

在Arch Linux上安装任何软件包之前,始终最好刷新存储库并先执行更新。 在终端中输入以下命令来升级软件。

sudo pacman -Syu

步骤2:安装Nginx Web服务器

Arch Linux存储库包含Nginx Web服务器的两个版本: nginxnginx-mainline。 Nginx是更稳定且较旧的版本,而Nginx-mainline是最新版本。 这并不一定意味着nginx-mainline是不稳定的。 实际上,如果您没有充分的理由使用较早版本,nginx.org建议使用nginx主线。

要安装旧版本:

sudo pacman -S nginx

本教程将安装主线版本。

sudo pacman -S nginx-mainline

默认情况下,上述两个命令也会安装 geoipgeoip-database 包。 安装完成后,检查Nginx状态。

systemctl status nginx

输出:

● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
     Active: active (running) since Tue 2016-04-12 13:10:57 CST; 1 day 7h ago
   Main PID: 2010 (nginx)
      Tasks: 2 (limit: 512)
     CGroup: /system.slice/nginx.service
             ├─2010 nginx: master process /usr/bin/nginx -g pid /run/nginx.pid; daemon on; master_process on
             └─2011 nginx: worker process

如果它没有运行,请使用systemctl启动它:

sudo systemctl start nginx

引导Arch Linux服务器时,使Nginx自动启动。

sudo systemctl enable nginx

检查Nginx版本。

nginx -v

输出:

nginx version: nginx/1.17.1

在浏览器地址栏中输入Arch Linux服务器的IP地址,如果看到以下文本,则表明Nginx运行正常。

您可以使用以下命令检查服务器的公共IP。

curl http://icanhazip.com

如果要在Arch Linux家用计算机上安装Nginx,只需键入 127.0.0.1 要么 localhost 在地址栏中。

步骤3:安装MariaDB数据库服务器

自2013年以来,MariaDB是Arch Linux的MySQL的默认实现。OracleMySQL降为AUR。 如此看来,Arch Linux确实希望您从MySQL迁移到MariaDB。

MariaDB随mariadb软件包一起提供。

sudo pacman -S mariadb

您需要在启动服务之前初始化MariaDB数据目录。 这可以通过mariadb-install-db命令完成。

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

现在启动MariaDB。

sudo systemctl start mariadb

检查它是否正在运行:

systemctl status mariadb

输出:

● mysqld.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-04-13 21:09:45 CST; 5s ago
  Process: 8373 ExecStartPost=/usr/bin/mysqld-post (code=exited, status=0/SUCCESS)
 Main PID: 8372 (mysqld)
    Tasks: 26 (limit: 512)
   CGroup: /system.slice/mysqld.service
           └─8372 /usr/bin/mysqld --pid-file=/run/mysqld/mysqld.pid

启动Arch Linux时,使MariaDB自动启动。

sudo systemctl enable mariadb

运行安装后的安全脚本。

sudo mysql_secure_installation

系统将要求您输入您的MariaDB根密码。 由于您还没有MariaDB根密码,请按Enter。

拱linux mysql_secure_installation

当询问是否要切换到unix_socket身份验证时,可以按Enter键。 (请注意,Y是大写的,这意味着它是默认答案。)当询问您是否要更改root密码时,请回答’n’,因为unix_socket身份验证不需要MariaDB根用户具有密码。 然后,您可以按Enter键回答所有剩余的问题,这将删除测试数据库,匿名用户并禁用root远程登录。

要登录MariaDB控制台,只需运行以下命令。

sudo mysql -u root

要退出,请运行

exit

默认的主配置文件位于 /etc/my.cnf

步骤4:安装PHP7

Arch Linux存储库中的最新PHP版本是7.3.6。 要安装它,请运行以下命令:

sudo pacman -S php php-fpm

安装完成后,我们需要告诉Nginx使用php-fpm运行PHP。 为此,请编辑 /etc/nginx/nginx.conf 文件。

sudo nano /etc/nginx/nginx.conf

找出 location ~ .php$ 部分(第65行)并将其修改为以下内容。

location ~ .php$ {
            root           /usr/share/nginx/html;
            fastcgi_pass   unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
}

保存并关闭文件。 然后测试Nginx配置。

sudo nginx -t

如果测试成功,请重新加载Nginx。

sudo systemctl reload nginx

然后使用以下命令启动并启用php-fpm服务:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

步骤5:测试PHP处理

创建一个 test.php 在Web根目录下的文件。

sudo nano /usr/share/nginx/html/test.php

将这些行添加到文件。

<?php
  phpinfo();
?>

保存并关闭文件。 现在,在您的浏览器地址中,键入 http://your-server-ip/test.php。 您应该看到所有PHP信息。 如果要在Arch Linux台式机或笔记本电脑上安装LEMP,请键入 127.0.0.1/test.php 要么 localhost/test.php

在Arch Linux上安装LEMP堆栈

test.php文件仅用于测试目的。 出于安全原因,您现在可以将其删除。

sudo rm /usr/share/nginx/html/test.php

启用PHP扩展

编辑 /etc/php/php.ini 配置文件。

sudo nano /etc/php/php.ini

找到以下两行(922和926行),删除分号以启用这两个扩展。

;extension=mysqli
;extension=pdo_mysql

您也可以运行以下2条命令在Arch Linux上启用mysqli和pdo_mysql扩展,因此您不必打开文件并找到2行。

sudo sed -i 's/;extension=mysqli/extension=mysqli/g' /etc/php/php.ini
sudo sed -i 's/;extension=pdo_mysql/extension=pdo_mysql/g' /etc/php/php.ini

重新加载php-fpm服务,以使更改生效。

sudo systemctl reload php-fpm

mysqli.so 用于将PHP与MariaDB / MySQL数据库连接。 pdo_mysql.so 是展示Drupal网站所必需的。 您可能还需要为PHP启用imagemagick扩展,以便在WordPress等CMS平台中裁剪和旋转图像。

包起来

恭喜! 您已在Arch Linux服务器上成功安装了Nginx,MariaDB和PHP7! 与往常一样,如果您发现这篇文章很有用,请订阅我们的免费新闻通讯以获取更多提示和技巧。 保重🙂

Sidebar