Docker部署苹果CMS

Article3周前更新 Done
125 00

官方文档,演示站点: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 html

2、拉取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.php

4、拉取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/apple

5、创建容器(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/Shanghai

6、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 -d

8、查看容器状态

docker ps

9、根目录授权

docker exec -it php chmod -R 777 /var/www/html
docker exec -it php chmod -R 777 /usr/share/nginx/html

9、访问网址

Docker部署苹果CMS

 

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 php

12、安装PHP扩展后刷新页面,红色项将通过

Docker部署苹果CMS

 

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

Docker部署苹果CMS

14、网站搭建成功

Docker部署苹果CMS

 

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

Docker部署苹果CMS

 

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

Docker部署苹果CMS

 

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

Docker部署苹果CMS

 

18、设置默认主题

Docker部署苹果CMS

 

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

Docker部署苹果CMS

 

20、将带有PHP扩展的容器封装为镜像

docker commit a23e97fad6f8 php1:7.4-fpm

21、将镜像打包到本地方便后续迁移使用

docker save -o php1-7.4-fpm-arm.tar b3003d769676

*迁移数据,修改数据库信息

vim apple/html/application/database.php

PHP参数设定

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,用于防止内存泄漏。

 

© 版权声明

相关文章

暂无评论

none
暂无评论...