如何在ArchLinux上安装(LEMP)nginx、MySQL、PHP堆栈

来自菜鸟教程
跳转至:导航、​搜索

关于 Lemp

LEMP 堆栈是一组用于启动和运行 Web 服务器的开源软件。 该首字母缩写词代表 Linux、nginx(发音为 Engine x)、MySQL 和 PHP。 由于服务器已经在运行 Arch Linux,因此需要处理 linux 部分。 这是安装其余部分的方法。

设置

本教程中的步骤要求用户具有 root 权限。 您可以在 初始服务器设置教程 的第 3 步和第 4 步中查看如何设置它。

第一步——吃豆人

因为 pacman,arch 包管理器,有一个滚动包发布,我们应该在继续任何其他步骤之前更新 Arch 及其存储库:

sudo pacman -Syu

第二步——安装 MySQL

一旦一切都是最新的,我们就可以开始安装服务器软件,从 MySQL 开始。

sudo pacman -S mysql

安装 MySQL 后,启动 mysql 和安全安装过程。 您还可以在安装过程中设置 MySQL root 密码。

sudo systemctl start mysqld && mysql_secure_installation

当最初提示输入 MySQL root 密码时,您可以继续并按 enter,因为它尚未设置。 您的安装应如下所示:

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorization.

Set root password? [Y/n] y
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...



All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

通过重新启动 MySQL 进行跟进:

sudo systemctl restart mysqld

第三步——安装nginx

一旦 MySQL 设置完毕,我们就可以继续在 VPS 上安装 nginx。

sudo pacman -S nginx

nginx 不会自行启动。 要让 nginx 运行,请键入:

sudo systemctl start nginx

您可以通过将浏览器定向到您的 IP 地址来确认 nginx 已安装您的 Web 服务器。

您可以运行以下命令来显示您的 VPS 的 IP 地址。

curl -s icanhazip.com

第四步——安装 PHP-FPM

为了处理 php 应用程序,我们需要安装 php-fpm。

sudo pacman -S php-fpm

安装后,启动它。

sudo systemctl start php-fpm

最后,我们需要告诉 nginx 使用 php-fpm 运行 php。 为此,首先打开 nginx 配置文件:

sudo nano /etc/nginx/nginx.conf 

找到处理 php 应用程序的位置块,并将该部分中的文本替换为以下内容:

location ~ \.php$ {
      fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
      fastcgi_index  index.php;
      root   /srv/http;
      include        fastcgi.conf;
 }

保存,退出,重启nginx:

sudo systemctl restart nginx

第五步——创建一个 PHP 信息页面

我们可以很快看到新的 php 配置的所有细节。

要设置它,首先创建一个新文件:

sudo nano /srv/http/info.php

添加以下行:

<?php
phpinfo();
?>

然后保存并退出。

重启nginx

sudo systemctl restart nginx

访问 http://youripaddress/info.php 可以看到 nginx 和 php-fpm 的配置细节

您的 LEMP 堆栈现在已在您的虚拟专用服务器上设置和配置。

第六步 - 将守护程序配置为在引导时启动

要确保所有 LEMP 程序在任何服务器重新启动后自动启动:

sudo systemctl enable nginx mysqld php-fpm

这样,LEMP 就安装好了。

埃特尔·斯维尔德洛夫