官方文档,演示站点: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、访问网址
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扩展后刷新页面,红色项将通过
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-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,用于防止内存泄漏。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...