发卡系统-emshop容器化部署

发布于 2025年11月27日

获取源码解压

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-fpm

2、进入容器,安装扩展

#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
#确认扩展还在,就退出到宿主机进行打包新镜像
exit

3、提交镜像构建新镜像

#docker commit -a "您的名字" -m "描述信息,例如:安装完整的PHP扩展" <容器名或容器ID> <新镜像名>:<标签>
docker commit -a "frwuc" -m "emshop1.1.28php运行环境" php74-fpm php74-fpm:emshop1.1.28

php74-fpm:emshop1.1.28 镜像我已经上传到镜像仓库,可以直接pull下来后使用。

安装启动mysql

docker network create app-network
mkdir -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.28

2、安装配置nginx

apt update && apt install -y nginx
systemctl enable --now nginx

3、创建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 reload

5、访问前台ip:端口/install界面进行安装.同时也查看运行日志

docker logs -f emshop

安装完成

最后,安装成功,成功登录后台。

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



评论