官方文档,演示站点: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 htmlmkdir -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.zipwget https://www.maccms.la/down/maccms10.zip && unzip maccms10.zip && rm maccms10.zip
3、修改登陆配置及配置
mv admin.php vip.phpwget -O application/extra/maccms.php https://raw.githubusercontent.com/kejilion/Website_source_code/main/maccms.phpmv 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/templatewget https://github.com/dockkkk/mxone/releases/download/mxone/mxone.zipunzip mxone.zip && rm mxone.zipcd /home/docker/applecd /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: mysqlimage: mysql:8.4.0restart: alwaysports:- "13306:3306"volumes:- ./mysql:/var/lib/mysqlphp:container_name: phpimage: php:7.4-fpm-tvrestart: always#network_mode: hostports:- "19000:9000"volumes:- ./html:/var/www/htmlnginx:image: nginxcontainer_name: nginxrestart: alwaysports:- "80:80"- "443:443"volumes:- ./nginx/conf:/etc/nginx/conf.d- ./nginx/logs:/var/log/nginx- ./ssl:/etc/letsencrypt- ./html:/usr/share/nginx/htmlenvironment:- TZ=Asia/Shanghaiversion: '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 -ddocker-compose up -d
8、查看容器状态
docker psdocker ps
9、根目录授权
docker exec -it php chmod -R 777 /var/www/htmldocker exec -it php chmod -R 777 /usr/share/nginx/htmldocker exec -it php chmod -R 777 /var/www/html docker exec -it php chmod -R 777 /usr/share/nginx/html
9、访问网址

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 imagemagickdocker exec php docker-php-ext-install pdo_mysql zip bcmath gd intl opcachedocker 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 phpdocker restart php
12、安装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-fpmdocker commit a23e97fad6f8 php1:7.4-fpm
21、将镜像打包到本地方便后续迁移使用
docker save -o php1-7.4-fpm-arm.tar b3003d769676docker save -o php1-7.4-fpm-arm.tar b3003d769676
*迁移数据,修改数据库信息
vim apple/html/application/database.phpvim apple/html/application/database.php
PHP参数设定
vim /usr/local/etc/php-fpm.d/www.confvim /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,用于防止内存泄漏。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...