华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统

  • 一、前言
    • 1.1 云耀云服务器L实例简介
    • 1.2 PrestaShop简介
  • 二、本次实践介绍
    • 2.1 本次实践简介
    • 2.2 本次环境规划
  • 三、购买云耀云服务器L实例
    • 3.1 购买云耀云服务器L实例
    • 3.3 查看云耀云服务器L实例状态
    • 3.4 重置服务器密码
  • 四、检查Docker环境
    • 4.1 Xshell远程连接服务器
    • 4.2 检查Docker版本
    • 4.3 检查docker compose版本
    • 4.4 检查本地当前容器
  • 五、下载PrestaShop镜像
    • 5.1 配置Docker镜像加速
    • 5.2 下载PrestaShop镜像
  • 六、部署PrestaShop电子商务系统
    • 5.1 创建挂载目录
    • 5.2 编辑docker-compose.yaml文件
    • 5.3 部署PrestaShop
    • 5.4 查看容器运行状态
  • 七、访问PrestaShop网站
    • 7.1 放行安全组端口
    • 7.2 PrestaShop的初始化配置
    • 7.3 访问PrestaShop后台
    • 7.4 访问PrestaShop前台

一、前言

1.1 云耀云服务器L实例简介

云耀云服务器L实例是新一代的轻量应用云服务器,专为中小企业和开发者设计,提供便捷的开箱即用体验。该产品提供丰富且经过严格筛选的应用镜像,可一键部署应用,极大程度简化了客户在云端构建电商网站、Web应用、小程序、学习环境以及各类开发测试等任务的过程。

在这里插入图片描述

1.2 PrestaShop简介

PrestaShop 是一款开源电子商务网络应用程序,致力于为商家和客户提供最佳的购物车体验。它是用 PHP 编写的,高度可定制,支持所有主要支付服务,被翻译成多种语言并针对许多国家进行本地化,具有完全响应式设计(前台和后台)等。

二、本次实践介绍

2.1 本次实践简介

1.本次实践为个人测试学习环境,旨在快速部署应用,生产环境请谨慎;
2.本次实践环境为云耀云服务器L实例,使用的应用镜像为Portainer 2.18.4;
3.在Portainer平台上部署PrestaShop电子商务系统。

2.2 本次环境规划

服务器类别 应用镜像 内网IP地址 Docker版本 Portainer版本 PrestaShop版本
云耀云服务器L实例 Docker可视化Portainer 192.168.0.168 24.0.4 2.18.4 8.1.1

三、购买云耀云服务器L实例

3.1 购买云耀云服务器L实例

1.官网链接:https://www.huaweicloud.com/product/hecs-light.html
2.购买规格:
区域:华北—北京四;
应用镜像:Docker可视化-Portainer;
实例规格:2核2G/系统盘40G/峰值带宽 3Mbps/流量包400G;
实例名称:自定义即可,这里编辑为HECS-L-Portainer;
购买时长:1个月。

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第1张图片

3.3 查看云耀云服务器L实例状态

查看购买的云耀云服务器L实例状态,处在正常运行中。

在这里插入图片描述

3.4 重置服务器密码

点击远程登录云耀云服务器L实例

在这里插入图片描述

在这里插入图片描述

重置密码,点击右侧的重置密码选项,需要进行身份验证,选择手机验证后,即可重置密码成功。

在这里插入图片描述

在这里插入图片描述

四、检查Docker环境

4.1 Xshell远程连接服务器

  • 复制弹性公网IP地址,远程连接服务器时使用。

在这里插入图片描述

  • 在Xshell工具中,填写服务器弹性公网IP地址、账号密码信息,ssh连接远程服务器。

在这里插入图片描述

在这里插入图片描述

4.2 检查Docker版本

检查Docker当前版本,云耀云服务器L实例使用Portainer应用镜像时,Docker环境已自动安装完毕,无需重新安装Docker环境。

root@hcss-ecs-f91c:~# docker version
Client: Docker Engine - Community
 Version:           24.0.4
 API version:       1.43
 Go version:        go1.20.5
 Git commit:        3713ee1
 Built:             Fri Jul  7 14:50:55 2023
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          24.0.4
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.5
  Git commit:       4ffc614
  Built:            Fri Jul  7 14:50:55 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3dce8eb055cbb6872793272b4f20ed16117344f8
 runc:
  Version:          1.1.7
  GitCommit:        v1.1.7-0-g860f061
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

4.3 检查docker compose版本

检查docker compose版本,新版Docker自动集成安装了docker compose 工具。

root@hcss-ecs-f91c:~# docker compose version
Docker Compose version v2.19.1

4.4 检查本地当前容器

检查本地当前运行容器,云耀云服务器L实例使用Portainer应用镜像时,会部署Docker环境以及创建portainer服务的容器。

root@hcss-ecs-f91c:~# docker ps
CONTAINER ID   IMAGE                           COMMAND        CREATED        STATUS        PORTS                                                           NAMES
866f19377f2d   portainer/portainer-ce:2.18.3   "/portainer"   44 hours ago   Up 43 hours   8000/tcp, 9443/tcp, 0.0.0.0:9091->9000/tcp, :::9091->9000/tcp   portainer

五、下载PrestaShop镜像

5.1 配置Docker镜像加速

云耀云服务器L实例的Docker应用镜像场景中,从docker hub拉取镜像的速度还是比较快的。当某些镜像拉取过慢时,可尝试配置镜像加速。

  • 编辑或新建/etc/docker/daemon.json文件,向其中添加registry-mirrors项。
 vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.sjtug.sjtu.edu.cn"]
}
  • 重启Docker服务
systemctl daemon-reload
systemctl restart docker

5.2 下载PrestaShop镜像

从docker hub下载PrestaShop镜像

docker pull mariadb:10.6
docker pull prestashop/prestashop:latest

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第2张图片

六、部署PrestaShop电子商务系统

5.1 创建挂载目录

新建目录/data/prestashop/

mkdir -p /data/prestashop/{data,db} && cd /data/prestashop

5.2 编辑docker-compose.yaml文件

新建编辑docker-compose.yaml文件,其中PS_DOMAIN变量的IP地址为服务器的内网IP地址,可通过云耀云服务器L实例的管理页面查询到。

version: "3.9"
services:
  db:
    image: mariadb:10.6
    container_name: prestashop-db
    hostname: prestashop-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD-SHELL", "mysqladmin ping -u root -pprestashop | grep 'mysqld is alive' || exit 1"]
    volumes:
      - /data/prestashop/db:/var/lib/mysql:rw
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: prestashop
      MYSQL_USER: prestashop
      MYSQL_PASSWORD: prestashop
      MYSQL_DATABASE: prestashop

  prestashop:
    image: prestashop/prestashop:latest
    container_name: prestashop
    hostname: prestashop
    security_opt:
      - no-new-privileges:true
    ports:
      - 8910:80
    volumes:
      - /data/prestashop/data:/var/www/html:rw
    environment:
      DB_SERVER: prestashop-db
      DB_NAME: prestashop
      DB_USER: prestashopuser
      DB_PASSWD: prestashoppass
      PS_DOMAIN: 192.168.0.168:8910
    depends_on:
      - db
    links:
      - db:prestashop-db

5.3 部署PrestaShop

  • 可通过Portainer的堆栈方式部署

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第3张图片

  • 通过docker compose直接部署
root@hcss-ecs-f91c:/data/prestashop# ls
data  db  docker-compose.yaml
root@hcss-ecs-f91c:/data/prestashop# docker compose up -d
[+] Running 3/3
 ✔ Network prestashop_default  Created                                                                                                                                    0.0s
 ✔ Container prestashop-db     Started                                                                                                                                    0.4s
 ✔ Container prestashop        Started                                                                                                                                    0.6s

5.4 查看容器运行状态

查看容器运行状态,确保容器正常运行。

root@hcss-ecs-f91c:/data/prestashop# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED         STATUS                   PORTS  NAMES
82a8ee3b23b7   prestashop/prestashop:latest    "docker-php-entrypoi…"   2 minutes ago   Up 2 minutes             0.0.0.0:8910->80/tcp, :::8910->80/tcp  prestashop
b04c3a22c40c   mariadb:10.6                    "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes (healthy)   3306/tcp

七、访问PrestaShop网站

7.1 放行安全组端口

在云瑶云服务器L实例的安全组管理页面,在入方向上放行8910端口。

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第4张图片

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第5张图片

7.2 PrestaShop的初始化配置

  • 访问地址:http://弹性公网IP地址:8910,将IP替换为自己服务器的弹性公网IP地址。

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第6张图片

  • 设置系统语言为中文

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第7张图片

  • 同意许可协议

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第8张图片

  • 设置网站信息

店铺名称:myshop;
主要业务:自定义,这里选择计算机硬件和软件;
是否启动ssl:选择否;
名:san;
姓:zhang;
邮箱地址:[email protected];
店铺密码:自定义。

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第9张图片

  • 安装演示产品和模块

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第10张图片

  • 系统配置,填写数据库信息。

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第11张图片

  • 开始安装PrestaShop

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第12张图片
华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第13张图片

7.3 访问PrestaShop后台

  • 点击访问后台,会提示以下报错,根据报错信息修改。

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第14张图片

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第15张图片

  • 进入PrestaShop容器内,删除install/目录和重命名admin/目录。
root@hcss-ecs-f91c:/data/prestashop# docker exec -it prestashop /bin/bash
root@prestashop:/var/www/html# ls
INSTALL.txt  admin	   bin	    composer.lock  docs		  img	     install	   mails     pdf		templates  translations  vendor
LICENSES     app	   cache    config	   download	  index.php  js		   modules   phpstan.neon.dist	themes	   upload	 webservice
Makefile     autoload.php  classes  controllers    error500.html  init.php   localization  override  src		tools	   var
root@prestashop:/var/www/html# rm -rf install/
root@prestashop:/var/www/html# mv admin/ admin730gc0bh93h9hpfocrm/
  • 重新访问后台地址:http://弹性公网IP地址/admin730gc0bh93h9hpfocrm/

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第16张图片
华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第17张图片

7.4 访问PrestaShop前台

访问前台地址:http://xxxx:8910/index.php
将IP改为自己服务器的弹性公网IP地址。

华为云云耀云服务器L实例评测|在Docker环境下部署PrestaShop电子商务系统_第18张图片

你可能感兴趣的:(华为云,服务器,docker,容器,云耀云服务器L实例,PrestaShop)