Docker部署苹果CMS

Article6个月前更新 Done
674 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
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
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
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
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
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;
}
}
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
docker-compose up -d

8、查看容器状态

docker ps
docker ps

9、根目录授权

docker exec -it php chmod -R 777 /var/www/html
docker exec -it php chmod -R 777 /usr/share/nginx/html
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'
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
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
docker commit a23e97fad6f8 php1:7.4-fpm

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

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

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

vim apple/html/application/database.php
vim apple/html/application/database.php

PHP参数设定

vim /usr/local/etc/php-fpm.d/www.conf
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,用于防止内存泄漏。
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
暂无评论...