获取源码解压
1、从下载源码 – EMSHOP下载获取源码
2、服务器新建目录
mkdir -p /opt/emshop;cd /opt/emshop
#上传源码到/opt/emshop目录下3、在/opt/emshop目录下解压源码
unzip emshop_v1.1.28.zip -d /opt/emshop
rm -f emshop_v1.1.28.zip
构建运行环境镜像
1、使用php:7.4-fpm基础镜像启动容器
docker run -d --name php74-fpm php:7.4-fpm2、进入容器,安装扩展
#1.进入容器
docker exec -it php74-fpm /bin/bash
##查看已安装好的扩展
php -m
#2.执行以下命令安装常用依赖
apt update
apt install -y \
build-essential \
autoconf \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libwebp-dev \
libzip-dev \
zlib1g-dev \
libonig-dev \
libxml2-dev \
libssl-dev \
libcurl4-openssl-dev \
libldap2-dev
3.安装php扩展
# 首先配置并安装 gd 扩展
docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp
docker-php-ext-install gd
4.正式安装扩展
docker-php-ext-install \
bcmath \
gd \
intl \
mysqli \
pcntl \
pdo_mysql \
soap \
sockets \
zip \
#5.验证安装
php -m
#退出容器
exit
#重启容器
docker restart php74-fpm
#再重新进入容器确定刚刚安装扩展是否还在
docker exec -it php74-fpm /bin/bash
php -m
#确认扩展还在,就退出到宿主机进行打包新镜像
exit3、提交镜像构建新镜像
#docker commit -a "您的名字" -m "描述信息,例如:安装完整的PHP扩展" <容器名或容器ID> <新镜像名>:<标签>
docker commit -a "frwuc" -m "emshop1.1.28php运行环境" php74-fpm php74-fpm:emshop1.1.28php74-fpm:emshop1.1.28 镜像我已经上传到镜像仓库,可以直接pull下来后使用。
安装启动mysql
docker network create app-networkmkdir -p /data/mysql
docker run --name mysql -d \
--network app-network \
--restart always \
-e MYSQL_ROOT_PASSWORD=Abc123# \
-p 3316:3306 \
-v /data/mysql:/var/lib/mysql \
swr.cn-southwest-2.myhuaweicloud.com/springboot-projiect-ckgl/mysql:8.0.15进入数据库容器,创建数据库
docker exec -it mysql /bin/bash
mysql -uroot -pAbc123#
#创建数据库
CREATE DATABASE emshop CHARACTER SET utf8mb4;
#创建用户
-- 创建用户 emshop 并允许从任意IP登录
CREATE USER 'emshop'@'%' IDENTIFIED BY 'emshop';
-- 授权 emshop 管理 emshop 数据库
GRANT ALL PRIVILEGES ON emshop.* TO 'emshop'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
#退出数据库
quit;
#退出容器
exit安装启动emshop
1、启动emshop容器
#删除启动的基础镜像
docker stop php74-fpm && docker rm php74-fpm
#其中/opt/emshop为emshop源码解压后的路径,
docker run -d --network app-network --name emshop -p 9002:9000 -v /opt/emshop:/var/www/html php74-fpm:emshop1.1.282、安装配置nginx
apt update && apt install -y nginx
systemctl enable --now nginx3、创建nginx的配置文件如下
vi /etc/nginx/conf.d/emshop.conf内容如下:
upstream phpupstream {
server localhost:9002 fail_timeout=5s max_fails=5;
}
server {
listen 8082;
server_name localhost;
root /opt/emshop;
index index.php index.html index.htm;
client_max_body_size 2048M;
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php last;
}
}
location ~ \.php$ {
fastcgi_pass phpupstream;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
# 可选:增加以下一行以更好地处理路径信息
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
}
}
4、重载nginx,
nginx -t
nginx -s reload5、访问前台ip:端口/install界面进行安装.同时也查看运行日志
docker logs -f emshop
安装完成
最后,安装成功,成功登录后台。

再最后,在后台进行一些基本的配置,使用体验一段时间,如果没有问题,即搭建成功。