使用NGINX在Ubuntu 20.04中安装Magento 2.4

使用Composer和命令行(CLI)在Ubuntu 20.04中使用NGINX安装Magento 2.4的逐步指南

首先必须有一个非root用户,具有sudo操作权限的用户登录服务器系统。当前操作系统是Ubuntu 20.04 .

安装和配置NGINX

首先,更新您的Ubuntu 20.04系统软件包。

ysq@ubuntu:~/Desktop$ sudo apt update

ysq@ubuntu:~/Desktop$ sudo apt update

系统软件更新

之后,使用CLI中的以下命令下载并安装NGINX。

ysq@ubuntu:~/Desktop$ sudo apt install nginx
安装nginx

安装完成后,您需要调整防火墙设置以允许HTTP和HTTPS通信。

要列出所有当前可用的UFW应用程序配置文件,可以运行:

sudo ufw app list
防火墙服务列表

防火墙打开nginx服务:

sudo ufw allow in "Nginx Full"
打开防火墙

Nginx Full:此配置文件同时打开端口80(正常,未加密的网络流量)和端口443(TLS / SSL加密的流量)。

您可以使用以下命令启用并验证更改:

sudo ufw enable
sudo ufw status
查看防火墙状态

现在,在浏览器中打开您的域,您将看到默认的Nginx网页。它看起来应该像这样:

对于本地主机:http:// localhost

测试nginx

如果您看到此页面,则您的Web服务器现在已正确安装并可以通过防火墙访问。 
使用以下systemctl命令,验证nginx服务是否处于活动状态/正在运行,并且已启用以在系统启动时自动启动

sudo systemctl is-active nginx
sudo systemctl is-enabled nginx
sudo systemctl status nginx
激活开机启动nginx

安装MySQL

使用apt命令安装MySQL 8

sudo apt install mysql-server
安装mysql

出现提示时,通过键入确认安装 Y,然后 ENTER

输入Y继续安装

安装完成后,建议您运行MySQL随附的安全脚本。该脚本将删除一些不安全的默认设置,并锁定对数据库系统的访问。

sudo mysql_secure_installation

回答 Y 是

选择密码验证级别,输入 0或者1或者2,我们在这里输入0, 
然后输入密码:root1234

如果启用了密码验证,将显示您刚刚输入的根密码的密码强度,服务器将询问您是否要继续使用该密码。如果您对当前密码感到满意,请Y 在提示符下输入 “y”:

对于其余的问题,请 在每个提示下按 Y 并 ENTER按键。

完成后,通过键入以下内容来测试是否能够登录到MySQL控制台:

登录mysql
sudo mysql

这将以管理数据库用户root身份连接到MySQL服务器,这是通过在运行此命令时使用Sudo推断出来的。您应该看到如下输出:

输出mysql

要退出MySQL控制台,请输入:exit

您的MySQL服务器现已安装并保护。接下来,我们将安装PHP。

安装PHP

使用以下命令安装PHP FPM 7.4和其他软件包。
sudo apt install php-fpm php-mysql php7.4-bcmath php7.4-intl php7.4-soap php7.4-curl php-xml php7.4-gd php7.4-zip
安装php

验证已安装的PHP版本

php -v
php版本

添加index.php的/etc/nginx/sites-available/default文件。行号:44

添加index.php

安装mbstringPHP扩展

安装mbstring扩展

启用 mbstringPHP扩展

sudo phpenmod mbstring

重新加载Nginx,以使更改生效:

sudo systemctl reload nginx

分别修改下面php的配置文件。

  • /etc/php/7.4/fpm/php.ini
  • /etc/php/7.4/fpm/php.ini

增加下面代码: 
memory_limit = 2G 
max_execution_time = 1800 
zlib.output_compression = On

为MySQL用户配置密码访问

sudo mysql

或者,如果您为MySQL根用户启用了密码身份验证,

mysql -u root -p
SELECT user,authentication_string,plugin,host FROM mysql.user;
数据库列表

为Magento 2网站创建新的MySQL用户

在这里,您可以为用户选择更安全的名称。 但是对于本教程,我将创建magento用户。

sudo mysql

或者,如果您为MySQL根用户启用了密码身份验证,

mysql -u root -p
SELECT user,authentication_string,plugin,host FROM mysql.user;

将’your_secure_password‘换成你自己的密码

创建Magento2用户如下:

CREATE USER 'magento2'@'localhost' IDENTIFIED BY 'your_secure_password';

例如:

CREATE USER 'magento2'@'localhost' IDENTIFIED BY 'Ysq123!@#';

修改密码:

ALTER USER 'magento2'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_secure_password';

例如:ALTER USER ‘magento2’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘sds237%#’;

刷新权限:

GRANT ALL PRIVILEGES ON *.* TO ‘magento2’@’localhost’ WITH GRANT OPTION;

创建数据库用户:magento2

创建数据库magento2

mysql -u magento2 -p
CREATE DATABASE magento2;
exit
创建Magento2数据库

安装Elastic Search

在安装Magento Commerce 企业版本或Magento Open Source 开源社区版本2.4.0之前必须安装Elasticsearch。

本文参考:https://techstorm.io/install-magento-2-in-ubuntu-20-04-with-nginx/