2024年3月19日

HYEOS

随事而为

debian10 使用 nginx php8 mysql 安装magento2

3 min read

在Debian 10上安装Magento 2需要一些先决条件,如PHP 7.4或PHP 8、MySQL、Nginx等。下面是在Debian 10上安装Magento 2所需的步骤:

更新系统

在开始安装Magento 2之前,请确保您的系统已经更新到最新的版本。可以使用以下命令更新系统:

sudo apt-get update
sudo apt-get upgrade
安装PHP 8和相关扩展

Magento 2需要PHP 7.4或PHP 8,并且需要安装一些相关的PHP扩展。可以使用以下命令安装PHP 8和相关扩展:

sudo apt-get install php8.0-fpm php8.0-mysql php8.0-xml php8.0-curl php8.0-gd php8.0-intl php8.0-soap php8.0-mbstring

安装完成后,使用以下命令启动PHP FPM服务:

sudo systemctl start php8.0-fpm
sudo systemctl enable php8.0-fpm
安装MySQL

Magento 2需要一个MySQL数据库来存储数据。可以使用以下命令安装MySQL:

sudo apt-get install mysql-server

安装完成后,使用以下命令启动MySQL服务:

sudo systemctl start mysql
sudo systemctl enable mysql
安装Nginx

Magento 2需要一个Web服务器来处理HTTP请求。可以使用以下命令安装Nginx:

sudo apt-get install nginx

安装完成后,使用以下命令启动Nginx服务:

sudo systemctl start nginx
sudo systemctl enable nginx
配置Nginx

在安装完Nginx之后,需要修改Nginx的配置文件以便正确地处理Magento 2的请求。可以使用以下命令打开默认的Nginx配置文件:

sudo nano /etc/nginx/sites-available/default

在文件中添加以下内容:

server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

将“yourdomain.com”替换为您的域名,并将“/var/www/html”替换为您将Magento 2安装在哪个目录下。保存并关闭文件。

下载并安装Magento 2

接下来,您需要下载Magento 2并将其解压到您选择的目录中。可以使用以下命令下载Magento 2:

wget https://github.com/magento/magento2/archive/refs/tags/2.4.2.tar.gz

然后将文件解压缩到您选择的目录中:

tar -xzvf 2.4.2.tar.gz -C /var/www/html/

将“/var/www/html/”替换为您选择的目录

设置文件和目录权限

Magento 2需要某些目录和文件的特定权限。使用以下命令更改Magento 2所需的目录和文件的权限:

sudo chown -R www-data:www-data /var/www/html/magento2/
sudo chmod -R 755 /var/www/html/magento2/
sudo chmod -R 777 /var/www/html/magento2/var/ /var/www/html/magento2/pub/
创建MySQL数据库

在继续之前,您需要创建一个MySQL数据库,以便Magento 2可以使用它来存储数据。可以使用以下命令登录到MySQL:

mysql -u root -p

在登录后,使用以下命令创建一个新的MySQL数据库:

CREATE DATABASE magento2;

然后,创建一个新的MySQL用户并授予该用户对新创建的数据库的访问权限。可以使用以下命令创建新的MySQL用户和授予权限:

CREATE USER 'magento2'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON magento2.* TO 'magento2'@'localhost';
FLUSH PRIVILEGES;

将“password”替换为您选择的密码。

运行Magento 2安装程序

现在,您可以通过浏览器访问您的Magento 2安装并运行安装程序。在浏览器中输入您的域名或IP地址,您应该会看到Magento 2的安装页面。按照屏幕上的指示进行操作,填写必要的信息,并在安装程序提示您时输入MySQL数据库详细信息。

完成安装

安装程序完成后,您应该能够使用管理员帐户登录到Magento 2的后台管理界面。从那里,您可以开始配置您的Magento 2商店并添加产品。

以上是在Debian 10上使用Nginx、PHP 8和MySQL安装Magento 2的步骤。

如果您需要使用HTTPS协议保护Magento 2的Web界面,可以使用Let's Encrypt证书进行配置。下面是安装Let's Encrypt证书的步骤:

安装Certbot

Certbot是Let's Encrypt的官方客户端,可以轻松获取和安装SSL/TLS证书。使用以下命令安装Certbot:

sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
配置Nginx服务器块

在配置SSL/TLS证书之前,您需要在Nginx中配置Magento 2的服务器块。使用以下命令创建一个新的Nginx服务器块:

sudo nano /etc/nginx/sites-available/magento2

然后,将以下内容粘贴到文件中:

server {
        listen 80;
        server_name example.com www.example.com;

        root /var/www/html/magento2/pub;
        index index.php;

        location / {
                try_files $uri $uri/ /index.php$is_args$args;
        }

        location /static/ {
                expires max;
                add_header Cache-Control public;
        }

        location /media/ {
                expires max;
                add_header Cache-Control public;
        }

        location /pub/ {
                add_header Cache-Control no-store;
        }

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }

        location = /robots.txt {
                log_not_found off;
                access_log off;
                allow all;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php8.0-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

        location ~* ^.+.(jpg|jpeg|gif|png|webp|svg|css|js|ico|xml)$ {
                expires max;
                access_log off;
                log_not_found off;
        }

        location ~ /\.(?!well-known).* {
                deny all;
        }
}

请记住将“example.com”替换为您的域名。然后,使用以下命令创建一个符号链接:

sudo ln -s /etc/nginx/sites-available/magento2 /etc/nginx/sites-enabled/
配置Let's Encrypt证书

使用以下命令获取和安装Let's Encrypt证书:

sudo certbot --nginx -d example.com -d www.example.com

请记住将“example.com”替换为您的域名。按照屏幕上的提示操作,输入您的邮箱地址和接受条款的同意。Certbot将自动配置SSL/TLS证书并将Nginx服务器块更新为使用HTTPS协议。

重启Nginx服务器

使用以下命令重启Nginx服务器以应用新的配置:

sudo systemctl restart nginx

现在,您应该可以通过HTTPS协议访问Magento 2的Web界面了。

以上是在Debian 10上使用Nginx、PHP 8和MySQL安装Magento 2并配置Let's Encrypt证书的步骤。

安装Magento 2

现在,您可以使用以下命令下载Magento 2的源代码:

cd /var/www/html
sudo rm -rf magento2
sudo git clone https://github.com/magento/magento2.git

然后,将访问权限授予Web服务器用户(例如www-data):

sudo chown -R www-data:www-data magento2/
sudo chmod -R 755 magento2/

接下来,使用以下命令安装Magento 2的依赖项:

cd magento2
sudo composer install

等待Composer安装Magento 2所需的所有依赖项。然后,使用以下命令启用Magento 2的维护模式:

php bin/magento maintenance:enable

最后,使用以下命令安装Magento 2:

php bin/magento setup:install \
--base-url=https://example.com \
--db-host=localhost \
--db-name=magento2 \
--db-user=magento2 \
--db-password=yourpassword \
--backend-frontname=admin \
--admin-firstname=Admin \
--admin-lastname=User \
--admin-email=admin@example.com \
--admin-user=admin \
--admin-password=admin123 \
--language=en_US \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--elasticsearch-host=es.example.com \
--elasticsearch-port=9200

请记住将“example.com”替换为您的域名,将“yourpassword”替换为您的数据库密码。按照屏幕上的提示操作,等待安装完成。完成后,使用以下命令禁用维护模式:

php bin/magento maintenance:disable

现在,您可以通过访问https://example.com来访问Magento 2的Web界面,并使用您在安装过程中设置的管理员凭据登录。

配置Magento 2

如果您需要进一步配置Magento 2,可以通过以下步骤完成:

配置Magento 2的Store、Store View和网站设置
安装和配置Magento 2的扩展和主题
安装和配置Magento 2的语言包

以上是在Debian 10上使用Nginx、PHP 8和MySQL安装Magento 2的全部步骤。通过按照这些步骤操作,您可以快速轻松地在Debian 10上安装Magento 2,并将其配置为使用HTTPS协议。

更新Magento 2

要更新Magento 2,您可以使用以下命令:

cd /var/www/html/magento2
sudo composer update

等待Composer下载并安装最新版本的Magento 2。然后,使用以下命令清除缓存:

php bin/magento cache:clean
备份Magento 2

为了保护您的Magento 2数据和设置,您应该定期备份Magento 2的数据库和文件。您可以使用以下命令备份Magento 2的数据库:

sudo mysqldump -u magento2 -p magento2 > magento2_backup.sql

这将创建一个名为“magento2_backup.sql”的MySQL备份文件。您可以将此文件保存在安全的地方,以便以后还原。要备份Magento 2的文件,请使用以下命令:

sudo tar -czvf magento2_backup.tar.gz /var/www/html/magento2

这将创建一个名为“magento2_backup.tar.gz”的压缩文件,其中包含Magento 2的文件。您可以将此文件保存在安全的地方,以便以后还原。

结论

在本教程中,我们介绍了如何在Debian 10上使用Nginx、PHP 8和MySQL安装Magento 2,并将其配置为使用HTTPS协议。我们还介绍了如何更新和备份Magento 2。现在,您可以开始使用Magento 2来创建和管理电子商务网站了。如果您遇到任何问题,请查看Magento 2的官方文档,或在社区论坛上寻求帮助。

接下来该做什么?

现在,您已经成功安装和配置了Magento 2,您可以开始创建和管理您的电子商务网站了。以下是一些您可以做的事情:

安装和配置Magento 2的主题和扩展程序,以增强网站的外观和功能。
添加产品和类别,设置价格和库存等详细信息。
设置支付和配送选项,以便顾客可以购买您的产品。
创建促销活动和优惠券,以吸引更多的顾客并提高销售额。
使用Magento 2的报告和分析工具,以跟踪销售数据和网站流量等信息。
定期备份您的Magento 2数据库和文件,以保护您的数据和设置。

总结

在本教程中,我们介绍了如何在Debian 10上使用Nginx、PHP 8和MySQL安装Magento 2,并将其配置为使用HTTPS协议。我们还介绍了如何更新和备份Magento 2,以及一些您可以做的事情来管理您的电子商务网站。我们希望这个教程对您有帮助,让您能够成功地启动和运行Magento 2。


nginx配置

upstream fastcgi_backend {
        server  unix:/run/php/php-fpm.sock;
}

server {
        listen 80;
        listen 443 ssl http2;
        server_name shop.hyeos.net; 
        set $MAGE_ROOT /var/www/html/magento2;

        ssl_session_cache  builtin:1000  shared:SSL:10m;
        ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        ssl_prefer_server_ciphers on;
        ssl_certificate  /ssl/shop.hyeos.net.cer;
        ssl_certificate_key  /ssl/shop.hyeos.net.key;

        include /var/www/html/magento2/nginx.conf.sample;

}

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注