My Blog

Just do it.

文章

16

标签

34

评论

2

数据统计

成立

470天

文章

16篇

评论

2条

标签

34个

最近文章

Debian托管MES系统-学习篇

MES系统托管前测试,保证无缝切换,需要先对原有环境测试,MES系统有大概3个版本,分别用了Apache + PHP + MariaDB和Nginx + PHP + MariaDB,所以一次性测试好所有环境很有必要,所需文件点击这里下载

1.创建准备目录

mkdir -p ~/mes/{php,nginx,customers/customer1/app,customers/customer2/app}
cd ~/mes

2.把我给你的文件对应放进去:

docker-compose.yml → ~/mes/docker-compose.yml[所需文件工具.zip][2]
    
php/Dockerfile → ~/mes/php/Dockerfile   //注意这个文件没有扩展名,文件名自己修改
    
nginx/default.conf → ~/mes/nginx/default.con

app/index1.php → ~/mes/customers/customer1/app/index1.php

app/index1.php → ~/mes/customers/customer1/app/index1.php

3.使用rz命令上传,没有安装rz安装:

# CentOS/RHEL
yum install lrzsz -y

# Ubuntu/Debian
apt-get install lrzsz -y

4.放置应用代码位置:

~/mes/customers/customer1/app/index1.php
~/mes/customers/customer2/app/index2.php

5.回到~/mes/运行查看是否报错命令:

docker compose up -d 

6.一般都是docker报错,就是镜像被屏蔽,在宿主机编辑 /etc/docker/daemon.json命令:

nano /etc/docker/daemon.json

贴入以下镜像地址

{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://hub-mirror.c.163.com",
    "https://mirror.iscas.ac.cn",
    "https://registry.docker-cn.com"
  ]
}

②重启 Docker:

systemctl daemon-reexec
systemctl restart docker

③重新启动服务

docker compose pull   # 先拉取镜像
docker compose up -d  # 重启服务

7.如果docker compose up -d需要修改dockerfile文件里面源并且兼容不同版本系统之间软件格式问题,文件已经提供在附件
如果想用阿里云的源把 tuna.tsinghua.edu.cn 全部换成 mirrors.aliyun.com 即可。

8.重建与验证:

docker compose build c2_php
docker compose up -d
docker logs -f c2_php | sed -n '1,200p'

9.默认访问逻辑:

Apache、Nginx 的 index 默认是 index.php/index.html

如果文件名改成 index1.php、index2.php,浏览器直接访问 http://服务器IP:8081/,它找不到,就会显示空白或目录。

你可以直接在 URL 里访问:

客户1测试:http://服务器IP:8081/index1.php

客户2测试:http://服务器IP:8082/index2.php

这样完全没问题。
10.输入http://192.168.31.6:8081/index1.php提醒Customer1 - Apache + PHP + MariaDB 测试,如果出现以下错误:

当前时间: 2025-09-17 16:36:06
❌ 数据库连接失败: could not find driver

解决方法

mkdir -p ~/mes/php-apache          //创建文件夹
nano ~/mes/php-apache/Dockerfile   //创建并编辑Dockerfile

以下为Dockerfile代码:

FROM php:8.2-apache

# 切国内源(兼容 deb822)
RUN set -eux; \
    if [ -f /etc/apt/sources.list ]; then \
        sed -i 's|http://deb.debian.org/debian|https://mirrors.tuna.tsinghua.edu.cn/debian|g' /etc/apt/sources.list; \
        sed -i 's|http://security.debian.org/debian-security|https://mirrors.tuna.tsinghua.edu.cn/debian-security|g' /etc/apt/sources.list || true; \
    elif [ -f /etc/apt/sources.list.d/debian.sources ]; then \
        sed -i -E 's|URIs: .*debian$|URIs: https://mirrors.tuna.tsinghua.edu.cn/debian|g' /etc/apt/sources.list.d/debian.sources; \
        sed -i -E 's|URIs: .*debian-security$|URIs: https://mirrors.tuna.tsinghua.edu.cn/debian-security|g' /etc/apt/sources.list.d/debian.sources; \
    fi; \
    apt-get update; \
    apt-get install -y --no-install-recommends libzip-dev libpng-dev libicu-dev libonig-dev git curl; \
    docker-php-ext-install pdo pdo_mysql mysqli zip intl gd; \
    pecl install apcu; \
    docker-php-ext-enable apcu; \
    docker-php-ext-install opcache; \
    rm -rf /var/lib/apt/lists/*

# Apache 常用模块(支持 .htaccess 重写等)
RUN a2enmod rewrite headers

ENV TZ=Asia/Shanghai
WORKDIR /var/www/html

11.重建并启(时间久耐心等待)

cd ~/mes
docker compose build c1_apache
docker compose up -d

再次访问http://192.168.31.6:8081/index1.php得到正确信息

12.检查2好配置访问情况,访问http://192.168.31.6:8082/index2.php 提醒Customer2 - Nginx + PHP + MariaDB 测试,如果出现以下错误:

无法访问此网站 192.168.31.6 拒绝了我们的连接请求。

需要检查以下三处

~/mes/docker-compose.yml  =》c2_nginx 与 c2_php 都在 c2_net 网络里,例如:networks: [c2_net]
~/mes/docker-compose.yml  =》ports: - "8082:80"
~/mes/nginx/default.conf  =》 fastcgi_pass c2_php:9000; 

13.修正错误后重启服务

docker compose restart c2_nginx

再次访问http://192.168.31.6:8082/index2.php得到正确信息

Debian托管MES系统-学习篇

发布于

September 17, 2025

分类

教程记录

版权协议

MIT

#教程
评论
😀

感谢支持!

微信二维码

请使用微信扫描二维码打赏。

支付宝二维码

请使用支付宝扫描二维码打赏。