如何在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 就安装好了。