Magento2项目部署笔记

news/2024/12/22 1:47:12/

一.去获取Adobe Commerce的个人秘钥

Adobe Commerce Extensions & Themes for Your Online Store | Marketplace

这个个人秘钥不收费,用于作为下载Magento2源代码的凭证

二. 检查Magento2最新版本 以及最新版本对应的环境要求

System requirements | Adobe Commerce

例如

三. 根据第二步的需求安装好对应的环境

1.数据库部分笔记

选取需要的使用,不要盲目使用

选取需要的使用,不要盲目使用

选取需要的使用,不要盲目使用

移除现有的 MySQL 安装
sudo systemctl stop mysql
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo rm -rf /etc/mysql /var/lib/mysql /var/log/mysql
sudo apt-get update
sudo apt-get install mysql-server
安装指定版本的MariaDB

添加 MariaDB 官方仓库

sudo apt-get install software-properties-common
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.globo.tech/repo/10.6/ubuntu focal main'

更新包列表并安装 MariaDB 10.6

sudo apt-get update
sudo apt-get install mariadb-server=1:10.6.*
重新创建目录并设置权限
sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld
sudo chmod 755 /var/run/mysqld
重置 root 用户密码

启动 MariaDB 并跳过权限表

sudo mysqld_safe --skip-grant-tables &

登录 MariaDB 并重置 root 用户密码

mysql -u root
USE mysql;
UPDATE mysql.user SET authentication_string='' WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
EXIT;

停止 MariaDB 并重新启动

sudo killall mysqld
sudo systemctl start mysql
sudo systemctl status mysql

设置 root 用户密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;
EXIT;
检查 MariaDB 版本
mysql --version
修改绑定地址
sudo nano /etc/mysql/my.cnf

添加以下配置

[mysqld]
bind-address = 0.0.0.0
创建数据库和用户
CREATE DATABASE magento;
CREATE USER 'magento_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON magento.* TO 'magento_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

允许远程访问

GRANT ALL PRIVILEGES ON magento.* TO 'magento_user'@'%' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
查询用户和数据库

查询用户和数据库

SELECT host, user FROM mysql.user WHERE user = 'magento_user';

连接到远程数据库

mysql -u magento_user -pyour_password -h 172.21.238.165 -P 3306
其他

使用数据库并删除特定模块

USE magento;
DELETE FROM setup_module WHERE module = 'Magento_BundleSampleData';
DELETE FROM setup_module WHERE module LIKE 'Magento_%SampleData';

显示数据库列表

mysql -u magento_user -pyour_password -h 172.21.238.165 -P 3306 -e "SHOW DATABASES;"

登录 MariaDB 并显示数据库和表

mysql -u root -p
SHOW DATABASES;
USE magento;
SHOW TABLES;
SHOW GRANTS FOR 'magento_user'@'localhost';
配置文件设置

编辑 MariaDB 配置文件

sudo nano /etc/mysql/my.cnf

示例

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking[mysqld_safe]
log-error = /var/log/mysql/error.log
pid-file = /var/run/mysqld/mysqld.pid

2.OpensSearch部分笔记

选取需要的使用,不要盲目使用

选取需要的使用,不要盲目使用

选取需要的使用,不要盲目使用

下载 OpenSearch
wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.3.0/opensearch-2.3.0-linux-x64.tar.gz
解压安装包
tar -xzf opensearch-2.3.0-linux-x64.tar.gz
进入 OpenSearch 目录
cd opensearch-2.3.0
安装 OpenSearch
./opensearch-tar-install.sh
启动 OpenSearch

进入 OpenSearch 目录并启动 OpenSearch

cd ~/OpenSearch/opensearch-2.12.0
./bin/opensearch
访问 OpenSearch

OpenSearch 默认运行在 http://localhost:9200。如果你需要从远程访问,可以使用服务器的 IP 地址,例如 http://172.21.238.165:9200

如果一切正常,你应该会看到类似于以下的 JSON 响应

{"name" : "your-node-name","cluster_name" : "opensearch","cluster_uuid" : "your-cluster-uuid","version" : {"number" : "2.3.0","build_type" : "tar","build_hash" : "your-build-hash","build_date" : "your-build-date","build_snapshot" : false,"lucene_version" : "your-lucene-version","minimum_wire_compatibility_version" : "your-minimum-wire-compatibility-version","minimum_index_compatibility_version" : "your-minimum-index-compatibility-version"},"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

3.安装Composer

选取需要的使用,不要盲目使用

选取需要的使用,不要盲目使用

选取需要的使用,不要盲目使用

没有安装 PHP,可以使用以下命令安装
sudo apt-get update
sudo apt-get install php php-cli
下载 Composer 安装脚本
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
验证安装脚本的完整性
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
验证下载的安装脚本
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
安装 Composer
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
删除安装脚本
php -r "unlink('composer-setup.php');"
验证 Composer 安装
composer --version

你应该会看到类似于以下的输出

Composer version 2.x.x 2023-xx-xx xx:xx:xx

4.获取Magento2资源

二选一

Magento Open Source

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition <install-directory-name>

Adobe Commerce

composer create-project --repository-url=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>

出现提示时,输入您的身份验证密钥。 在Commerce Marketplace中创建并配置公钥和私钥。

5. 设置文件权限

cd /var/www/html/<magento install directory>
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
chown -R :www-data . # Ubuntu
chmod u+x bin/magento

6.安装应用程序

示例

sudo -u www-data php bin/magento setup:install \
--base-url=http://172.21.238.165/ \
--db-host=172.21.238.165 \
--db-name=magento \
--db-user=magento_user \
--db-password=your_password \
--admin-firstname=admin \
--admin-lastname=admin \
--admin-email=111@qq.com \
--admin-user=admin \
--admin-password=admin123 \
--language=zh_Hans_CN \
--currency=CNY \
--timezone=Asia/Shanghai \
--use-rewrites=1 \
--search-engine=opensearch \
--opensearch-host=172.21.238.165 \
--opensearch-port=9200 \
--opensearch-enable-auth=1 \
--opensearch-username=admin \
--opensearch-password=Str0ngP@ssw0rd! \
--opensearch-index-prefix=magento2 \
--opensearch-timeout=15

7.配置 Apache 虚拟主机以运行 Magento

创建虚拟主机配置文件
sudo nano /etc/apache2/sites-available/magento.conf

在文件中添加以下内容

<VirtualHost *:80>ServerAdmin 111@qq.comDocumentRoot /home/ccsbridge/magento/magentoServerName 172.21.238.165<Directory /home/ccsbridge/magento/magento>Options Indexes FollowSymLinksAllowOverride AllRequire all granted</Directory>ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

启用虚拟主机配置
sudo a2ensite magento.conf
 启用 Apache 重写模块 
sudo a2enmod rewrite
重启 Apache 服务 
sudo systemctl restart apache2
检查 Apache 服务状态
sudo systemctl status apache2
重新加载 Apache 配置 
sudo systemctl reload apache2

8.配置 Magento 的 Cron 作业

选取需要的使用,不要盲目使用

选取需要的使用,不要盲目使用

选取需要的使用,不要盲目使用

检查 www-data 用户的 Crontab
sudo -u www-data crontab -l
进入 Magento 目录
cd /home/ccsbridge/magento/magento
安装 Magento Cron 作业
sudo -u www-data php bin/magento cron:install --force

执行后,你应该会看到类似于以下的输出

Crontab has been generated and saved
验证 Crontab 配置
sudo -u www-data crontab -l

你应该会看到类似于以下的输出

#~ MAGENTO START 39885cdc4e7da4088e0d5f9013aa938115817c6b494c886cd6d63888767a1200
* * * * * /usr/bin/php8.3 /home/ccsbridge/magento/magento/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /home/ccsbridge/magento/magento/var/log/magento.cron.log
#~ MAGENTO END 39885cdc4e7da4088e0d5f9013aa938115817c6b494c886cd6d63888767a1200
手动运行 Cron 作业
sudo -u www-data php bin/magento cron:run

执行后,你应该会看到类似于以下的输出

Ran jobs by schedule.

9.Magento 示例数据安装和开发模式切换

切换到 Magento 目录
cd /home/ccsbridge/magento/magento
清理生成的代码和元数据
sudo -u www-data rm -rf generated/metadata/* generated/code/*
切换到模式
sudo -u www-data php bin/magento deploy:mode:set developer
sudo -u www-data php bin/magento deploy:mode:set production
sudo -u www-data php bin/magento deploy:mode:set default

 验证当前模式

sudo -u www-data php bin/magento deploy:mode:show
安装和重置示例数据

移除现有的示例数据

sudo -u www-data php bin/magento sampledata:remove

重置示例数据

sudo -u www-data php bin/magento sampledata:reset

部署示例数据

sudo -u www-data php bin/magento sampledata:deploy

升级数据库以应用示例数据

sudo -u www-data php bin/magento setup:upgrade
部署静态内容和清理缓存

部署静态内容

sudo -u www-data php bin/magento setup:static-content:deploy -f

清理缓存

sudo -u www-data php bin/magento cache:clean

刷新缓存

sudo -u www-data php bin/magento cache:flush
卸载 Magento

没错,是卸载,从入门到卸载一条路服务!

sudo -u www-data php bin/magento setup:uninstall


http://www.ppmy.cn/news/1557074.html

相关文章

基于Spring Boot的水果蔬菜商城系统

一、系统概述 该系统主要适用于实体店的线上销售&#xff0c;旨在打造线上线下一体化的销售模式&#xff0c;带动水果蔬菜的销售量&#xff0c;提高店铺的销售额。系统前台主要面向用户&#xff0c;提供登录注册、首页展示、分类搜索、购物车、地址信息、个人信息、订单信息等…

Redis 常用配置项说明

目录 一&#xff1a;Redis 基础配置二&#xff1a;Redis 数据持久化1、RDB 机制&#xff08;全备份&#xff09;2、AOF 机制&#xff08;增量备份&#xff09;三&#xff1a; Redis 调优配置项 一&#xff1a;Redis 基础配置 # redis工作模式 # no&#xff1a;其它主机可以访…

【软件开发】做出技术决策

文章目录 专注于核心业务除非绝对必要,不要重写代码保持技术栈简单尽量减少依赖避免范围蔓延按照业务实际情况确定优先级在做出高风险决策前构建原型跨职能团队协作信任你的团队在过去的二十年里,我曾在多家初创企业担任软件开发人员、技术负责人以及首席技术官(包括创办自己…

基于Spring Boot的社区药房系统

一、系统背景与目的 随着医疗改革的深入和社区医疗服务的不断完善&#xff0c;社区药房在居民健康保障中扮演着越来越重要的角色。然而&#xff0c;传统的药房管理方式存在着库存管理混乱、药品销售不透明、客户信息管理不规范等问题。为了解决这些问题&#xff0c;基于Spring…

zookeeper基础命令详解

zookeeper基础命令详解目录 文章目录 zookeeper基础命令详解目录一、列出所有基础命令 一、列出所有基础命令 先启动一个zookeeper客户端连接zookeeper&#xff0c;如果还没有启动zookeeper集群的参考本文启动之后再做后续操作。 https://blog.csdn.net/weixin_42924400/artic…

【PPTist】画布状态管理

一、简介 在 PPTist 项目中&#xff0c;画布是指幻灯片编辑区域的主要工作区&#xff0c;具体包括&#xff1a; 基础尺寸主要功能&#xff1a;显示和编辑幻灯片、元素拖拽和缩放等、网格线和标尺对齐、元素的选择和多选相关状态&#xff1a;缩放比例、画布能否被拖拽、网格线…

上汽大通汽车CAN数据解析开发服务及技术商用领域详细解析

上汽大通G90是一款集豪华、科技与舒适于一身的中大型MPV&#xff0c;号称“国产埃尔法”。在国内市场&#xff0c;作为“卷王”的G90主要面向中大型MPV市场&#xff0c;满足家庭出行、商务接待和客运租赁等多元化场景需求&#xff0c;在国内市场上取得了不错的销售成绩。在海外…

数据结构的引入

百钱买百鸡C实现 #include <iostream> using namespace std; int main() { //目前在学习数据结构&#xff0c;书中有这个代码 //使用C完成百钱买百鸡代码 //1只鸡翁5元、1只鸡母3元、三只鸡雏1元 //100元最多买20只鸡翁&#xff0c;买33只鸡母、剩下的…