官方文档,演示站点:https://tv.cddone.com
部署
部署Docker教程:https://bj.cddone.com/doc/14
1、创建目录
mkdir -p /home/docker/apple && cd /home/docker/apple && mkdir html && mkdir mysql && cd html2、拉取CMS源代码并解压
wget https://www.maccms.la/down/maccms10.zip && unzip maccms10.zip && rm maccms10.zip 3、修改登陆配置及配置
mv admin.php vip.php
wget -O application/extra/maccms.php https://raw.githubusercontent.com/kejilion/Website_source_code/main/maccms.php4、拉取mxone魔改版主题并解压
- 主题路径:mxoneX,/vip.php/admin/mxone/mxoneset
cd /home/docker/apple/html/template
wget https://github.com/dockkkk/mxone/releases/download/mxone/mxone.zip
unzip mxone.zip && rm mxone.zip
cd /home/docker/apple5、创建容器(arm版)
- 设置镜像
- 设置容器名称
- 设置容器自启动
- 映射端口
- 映射目录
- 数据持久化
- 数据库初始化
version: '3'
services:
  mysql:
    container_name: mysql
    image: mysql:8.4.0
    restart: always
    ports:
      - "13306:3306"
    volumes:
      - ./mysql:/var/lib/mysql
  php:
    container_name: php
    image: php:7.4-fpm-tv
    restart: always
    #network_mode: host
    ports:
      - "19000:9000"
    volumes:
      - ./html:/var/www/html
  nginx:
    image: nginx
    container_name: nginx
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx/conf:/etc/nginx/conf.d
      - ./nginx/logs:/var/log/nginx
      - ./ssl:/etc/letsencrypt
      - ./html:/usr/share/nginx/html
    environment:
      - TZ=Asia/Shanghai6、nginx配置
    server {
        listen  443 ssl;
        server_name localhost;
        ssl_certificate      /etc/letsencrypt/cdocd.com.pem;
        ssl_certificate_key  /etc/letsencrypt/cdocd.com.pem;
        root /usr/share/nginx/html;
        #root /var/www/html;
        index index.php;
        rewrite ^/index.php(.*)$ /index.php?s=$1 last;
        rewrite ^/vip.php(.*)$ /vip.php?s=$1 last;
        rewrite ^/api.php(.*)$ /api.php?s=$1 last;
        try_files $uri $uri/ =404;
        location ~ \.php$ {
        proxy_buffering off;
        fastcgi_pass 127.0.0.1:19000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
        include fastcgi_params;
        }
    }
7、启动容器
docker-compose up -d8、查看容器状态
docker ps9、根目录授权
docker exec -it php chmod -R 777 /var/www/html
docker exec -it php chmod -R 777 /usr/share/nginx/html9、访问网址

10、安装PHP扩展(pdo_mysql、zip)
docker exec php apt update && docker exec php apt install -y libmariadb-dev-compat libmariadb-dev libzip-dev libmagickwand-dev imagemagick
docker exec php docker-php-ext-install pdo_mysql zip bcmath gd intl opcache
docker exec php pecl install imagick && docker exec php sh -c 'echo "extension=imagick.so" > /usr/local/etc/php/conf.d/imagick.ini'11、重启容器
docker restart php12、安装PHP扩展后刷新页面,红色项将通过

13、配置数据库及后台登录账号

14、网站搭建成功

15、将admin.php改为vip.php进行后台登录

16、进入后台先进行数据库升级

17、添加主题路径:mxoneX,/vip.php/admin/mxone/mxoneset

18、设置默认主题

19、搭建完成访问前端测试

20、将带有PHP扩展的容器封装为镜像
docker commit a23e97fad6f8 php1:7.4-fpm21、将镜像打包到本地方便后续迁移使用
docker save -o php1-7.4-fpm-arm.tar b3003d769676*迁移数据,修改数据库信息
vim apple/html/application/database.phpPHP参数设定
vim /usr/local/etc/php-fpm.d/www.conf- 4核心8GB内存配置服务器修改如下配置
pm = dynamic                   #进程管理器模式设置为“dynamic”,表示动态管理子进程。
pm.max_children = 20           #设置最大子进程数为20,即同时处理的最大请求数。
pm.start_servers = 5           #启动时创建的子进程数为5,仅在“dynamic”模式下使用。
pm.min_spare_servers = 3       #持的最小空闲子进程数为3,仅在“dynamic”模式下使用。
pm.max_spare_servers = 10      #保持的最大空闲子进程数为10,仅在“dynamic”模式下使用。
pm.process_idle_timeout = 10s  #空闲进程被终止的时间为10秒,仅在“ondemand”模式下使用。
pm.max_requests = 1000         #每个子进程在重启前可以处理的最大请求数为1000,用于防止内存泄漏。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...



