mac下docker搭建nginx+php+mysql,并实现nginx负载均衡

这应该是最完善的一篇php xdebug 配置了 (mac + docker) 原理了解 安装 #dockerfile RUN set -ex; \ wget http://xdebug.org/files/xdebug-2.8.0.tgz; \ tar -xzvf xdebug-2.8.0.tgz; \ cd ./xdebug-2.8.0; \ phpize; \ ./configure --enable-xdebug; \ make && make install COPY xdebug.ini /usr/local/etc/php/conf.d/ma 阅读详情

一 环境

  • 系统:macOS Sonoma 14.3
  • 芯片:Apple M3 Pro
  • docker 版本:25.0.5

二 软件

  • OrbStack [推荐,一款轻量化的docker管理软件,还是docker的命令]
  • item2

三 步骤

  1. 拉取 nginx 镜像
docker pull nginx
  1. 新建一个 nginx 容器
docker run --name nginx5 -d -p 80:80 nginx 
  1. 确认 nginx 内部的目录 [第一次一定要确认下目录]
- 配置目录 /etc/nginx
- 文件目录 /usr/share/nginx
- 日志目录 /var/log/nginx 
  1. 将上面的需要挂载到本地的文件夹,先拷贝一份到本地
docker cp nginx5:/etc/nginx       /Users/zq/Desktop/03-work_record/2024/0412/docker/nginx
docker cp nginx5:/usr/share/nginx /Users/zq/Desktop/03-work_record/2024/0412/docker/www
docker cp nginx5:/var/log/nginx   /Users/zq/Desktop/03-work_record/2024/0412/docker/log
  1. 关闭nginx5 然后删除. 上面的步骤,是为了确认目录和挂载目录。
docker stop nginx5
docker rm nginx5
  1. 新建 php 容器并挂载到本地,注意php容器中的目录:“/var/www/html”. [注意:‘/var/www/html’ 这个目录,如果不确认,可以先建一个容器查看下,然后删除。]
docker pull php:7.4-fpm

docker run --name myphp -d -v /Users/zq/Desktop/03-work_record/2024/0412/docker/www/nginx/html:/var/www/html php:7.4-fpm
  1. 新建容器nginx5,并挂载上面文件夹 .[注意看具体位置,在目录下都多了一个nginx,挂载的时候,注意加上]
docker run 
    --name nginx10
    -p 80:80
    // 文件目录
    -v /Users/zq/Desktop/03-work_record/2024/0412/docker/www/nginx/html:/usr/share/nginx/html 
    // nginx配置目录
    -v /Users/zq/Desktop/03-work_record/2024/0412/docker/nginx/nginx:/etc/nginx 
    // 日志目录
    -v /Users/zq/Desktop/03-work_record/2024/0412/docker/log/nginx:/var/log/nginx 
    // 和php关联上
    --link myphp:php  
    -d nginx

# 用下面运行
docker run --name nginx10 -p 80:80 -v /Users/zq/Desktop/03-work_record/2024/0412/docker/www/nginx/html:/usr/share/nginx/html -v /Users/zq/Desktop/03-work_record/2024/0412/docker/nginx/nginx:/etc/nginx -v /Users/zq/Desktop/03-work_record/2024/0412/docker/log/nginx:/var/log/nginx --link myphp:php -d nginx

注意:–link myphp:php 和 myphp 容器关联上

  1. 修改nginx配置
vim /etc/nginx/conf.d/default.conf 

location ~ \.php$ {
#    root           html;
   fastcgi_pass   myphp:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
   include        fastcgi_params;
}

注意 :
1、fastcgi_pass 指定为 php 容器名字:端口
2、fastcgi_param 参数 SCRIPT_FILENAME 要设置为 php容器中的目录地址$fastcgi_script_name, 我这里php容器的代码地址是 /var/www/html, 也挂载到本地了, 和nginx挂载的位置是一个位置. 所以可以访问到. 这一步非常关键.

  1. 重启nginx容器
docker restart nginx5
  1. 安装mysql
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

如果在容器中,想使用宿主机的mysql,可以在 数据库连接中,将 host 修改成 ‘host.docker.internal’ 即可。

// 数据库连接参数:

// $mysql_server = array('127.0.0.1', 'root','root', 'guahaobbwznkyy', 'gbk');
$mysql_server = array('host.docker.internal', 'root', 'root', 'guahaobbwznkyy', 'gbk');
  1. 安装redis
docker run --name redis -d redis:5.0

四 nginx负载均衡

  1. 按照上述步骤,新建3个 nginx 的容器,例如 nginx1,nginx2,nginx3。分别查看nginx1,nginx2,nginx3的ip地址。
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx1  
# 192.168.228.2
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx2
# 192.168.228.3
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx3
# 192.168.228.4
  1. 本地添加测试域名,指向 nginx1的地址
sudo vim /etc/hosts

www.test.com 192.168.228.2
  1. 在 nginx1 的 /etc/nginx/conf.d 下,新建 负载均衡的文件 slb.conf
upstream test {
    server 192.168.228.2:81 weight=3 fail_timeout=3s max_fails=3;	    
    server 192.168.228.3:81 weight=3 fail_timeout=3s max_fails=3;
	server 192.168.228.4:81 weight=4 fail_timeout=3s max_fails=3;
}

server {
    listen  80;
    listen  443 ssl http2;
    server_name  www.test.com;

    if ($scheme != https) {
        rewrite ^(.*)$  https://$host$1 permanent;
    }

    ssl_certificate /etc/nginx/cert/nanfei/nanfei.chery.test.pem;
    ssl_certificate_key /etc/nginx/cert/nanfei/nanfei.chery.test-key.pem;
    ssl_protocols TLSv1.2;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;

    location / {
        proxy_pass http://test;
        
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_ssl_session_reuse off;
        proxy_ssl_server_name on;
        proxy_ssl_name $proxy_host;
        proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
    }
}

如上,www.test.com 通过默认的80进来之后,会被接受,并打到 upstream test 中。然后代理到 3台服务器的 81端口上。所以,在3台电脑上,都需要加上一个 test.conf 文件,其中是监听81 端口。

  1. test.conf
server {
    listen       81;
    listen  [::]:81;
    server_name  www.test.com;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/test;
        index index.php index.html index.htm default.php default.htm default.html;
    }

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /etc/nginx/rewrite/yinni/test.conf;
    #REWRITE-END

    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null; 
    }

    access_log /etc/nginx/log/test/test.log;
    error_log  /etc/nginx/log/test/test.error.log;
}


五 docker 常用的一些命令

// 新建网络
docker network create my-nginx-network

// 新建容器[相同网络]
docker run -d --name nginx1 -p 8081:80 --network=my-nginx-network --label my-label nginx
docker run -d --name nginx2 -p 8082:80 --network=my-nginx-network --label my-label nginx
docker run -d --name nginx3 -p 8083:80 --network=my-nginx-network --label my-label nginx

docker run -d --name myphp -p 9000:9000 --network=my-nginx-network php:7.4-fpm
docker run -d --name nginx4 -p 8084:80 --network=my-nginx-network --label my-label --link myphp:php nginx


// 拷贝配置[可选]
docker cp /Users/zq/Desktop/02-daywork/01-daily_work/nginx.conf nginx1:/etc/nginx/conf.d/nginx.conf
docker cp /Users/zq/Desktop/02-daywork/01-daily_work/nginx.conf nginx2:/etc/nginx/conf.d/nginx.conf

// 重启容器
docker restart nginx1
docker restart nginx2

// 查询ip
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx2
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx3
mac 基于docker搭建若依项目前端(node、nginx),本地搭建若依项目后端,含试错记录 基于macOS,本地部署若依后端服务器,docker部署mysql、redis、node或nginx容器。通过node容器或nginx部署若依前端,并调用部署在本地的后端服务器。 阅读详情

相关推荐

Docker Compose 搭建 Laravel+Nginx+MySQL 开发环境

Docker Compose 是一种声明式容器编排工具,通过 YAML 文件定义多容器应用的服务依赖、网络与存储,实现环境的一致性与可复现性。其核心原理在于利用 Docker 内置 DNS、自定义桥接网络和卷挂载机制,使 PHP-FPM、Nginx 与 MySQL 在隔离进程中按需通信。该方案显著提升 PHP 开发效率与协作可靠性,避免宿主机环境碎片化问题,支撑 Laravel 服务端渲染及 Vue/React 前端集成等现代全栈场景。本文聚焦于基于 Docker Compose 构建稳定、可调试、生产对齐

cuankuangzhong6373的博客 361

Mac Docker安装配置nginx,配置代理前端访问服务器后端访问本地启动项目

Mac Docker安装配置nginx,配置代理前端访问服务器后端访问本地启动项目

weixin_53132877的博客 3898

零基础实战:基于Docker与Zabbix构建Linux运维监控环境

这次我们来看一个面向零基础新手的 Linux 运维全技能学习路径。对于想入行或转行运维的朋友来说,最头疼的往往不是某个单一技术,而是面对 Linux、监控、容器、数据库、Web 服务这一整套技术栈时,不知道从哪里开始,以及如何将它们串联起来解决实际问题。 这篇文章的核心就是帮你理清这条线。我们不空谈概念,而是聚焦于一个可落地的实战目标: 从零搭建一套包含 Zabbix 监控、Docker 容器、MySQL 数据库和 Nginx Web 服务的完整运维环境 。通过这个实战项目,你将一次性触及 Linux 运维

weixin_30562507的博客 400

用MacBook实操:docker本地部署mysql+php+nginx坏境

用macbook,带大家实操用docker部署mysql+php+nginx环境。之前的,欢迎阅读。之前的是服务器上配置环境,现在在mac本地搭建全栈开发环境。本文环境:时间:2023年mac:MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) 版本11.6处理器:2.3 GHz 四核Intel Core i7mysql:5.6php:7.2.34……

happy921212的博客 4651

Docker Compose 部署 WordPress:可复现、可隔离、生产就绪的容器化方案

WordPress 是全球最流行的开源内容管理系统,其本地开发与部署长期受困于环境不一致、依赖冲突和配置碎片化问题。Docker 作为轻量级容器运行时,通过进程隔离与镜像分层实现应用与宿主机解耦;Docker Compose 则在此基础上提供声明式多容器编排能力,将 PHP、MySQL、Nginx 等服务依赖关系固化为可版本控制的 YAML 文件。该技术组合显著提升开发一致性、安全合规性与交付效率,广泛应用于主题调试、团队协作、客户预览及小型生产站点。本文聚焦基于 Docker Compose 的 Word

ithome 403

Debian 9+LEMP部署WordPress:稳定、轻量与安全的生产实践

WordPress 是最主流的开源建站系统,其性能与安全高度依赖底层 LEMP(Linux+Nginx+MySQL+PHP)环境的配置合理性。理解 Nginx 请求生命周期、MySQL 字符集兼容性、PHP-FPM 进程模型等核心原理,是解决‘wordpress后台很慢’‘502 Bad Gateway’等高频故障的技术基础。Debian 系统以极致稳定性与精简服务管理著称,尤其 Debian 9 的 SysVinit 架构和 APT 包版本锁定机制,为 WordPress 提供了可追溯、低干扰的运行环境。

cishan3804的博客 372

两个nginx一个mysql_使用PHP,MySQL,nginx同时运行多个Dockerize项目

问题我有使用相同配置(PHP,MysqL,Nginx)的docker-compose配置的项目.当我使用docker-compose运行一个项目时没有问题,但我需要每天在它们之间切换几次以进行开发.问题:> Nginx的相同端口的共享配置>默认数据库和连接的共享配置(名称和用户)>每个项目的域名我有>适用于Mac的Docker – 边缘目前现在只需每次都上下运行-v.大多数...

weixin_36128990的博客 252

Docker与Kubernetes实战指南:从容器化到云原生应用部署

容器技术是现代软件开发和部署的核心,它通过操作系统级别的虚拟化,将应用及其依赖打包成标准化的单元,实现了环境的一致性和应用的快速迁移。其核心原理在于利用Linux内核的命名空间和控制组(cgroups)实现资源隔离与限制,从而在共享宿主机内核的同时,确保每个容器拥有独立的运行环境。这项技术的巨大价值在于彻底解决了“在我机器上能运行”的经典难题,为持续集成/持续部署(CI/CD)和微服务架构提供了天然载体。在应用场景上,容器技术是构建云原生应用、实现DevOps自动化流程的基石。本文聚焦于容器生态中的两大核心

weixin_34056162的博客 515

Ubuntu 20.04 LEMP环境搭建:Nginx+PHP7.4+MySQL8.0实战配置

LEMP(Linux、Nginx、MySQL、PHP)是现代Web开发的基础运行时环境,其核心在于事件驱动的Nginx高效处理并发请求,配合PHP-FPM进程管理与MySQL事务型存储,构成轻量、可控、可调试的服务栈。在Ubuntu 20.04这一长期支持版本中,PHP 7.4与MySQL 8.0的组合虽稳定,但存在caching_sha2_password认证不兼容、php7.4-fpm.sock路径绑定、utf8mb4字符集配置等典型技术断点。掌握这些细节,不仅能规避502网关错误、PDO连接失败等高频

475

Wukong AICRM Docker部署全攻略:从环境准备到生产实践

1. 先搞清楚 Wukong AICRM 和 Docker 部署到底解决了什么问题 如果你正在找一个能本地部署、带 AI 能力的客户关系管理系统,并且希望安装过程别太折腾,那 Wukong AICRM 的 Docker 部署方案就值得你花时间研究一下。它本质上是一个打包好的 CRM 应用,里面集成了 AI 功能,比如智能线索分配、客户画像分析或者自动回复,具体看版本。而 Docker 部署,就是把整个应用连同它的运行环境(比如数据库、Web 服务器、各种依赖库)一起打包成一个“集装箱”,让你在 Window

weixin_33795093的博客 473

您是否在 MacOS 上使用 Docker 进行 PHP 开发?本文向您展示了更好的选择

大约两年前,我购买了第一台配备 M1 处理器的 MacBook Pro,从 Manjaro 过渡过来。从一开始,MacBook 上的 Docker 就显得比 Linux 慢得多。我尝试了各种技巧,例如使用Mutagen。问题是页面加载速度慢得多,同步问题,但促使我放弃 Docker 的主要问题是磁盘空间问题。Docker 占用大量磁盘空间,这是一个问题,因为当时我有 256GB 选项。

iCloudEnd的博客 226

CDN搭建

CDN client->cdn(squid->HA+F5/LVS(4)->HA+nginx/haproxy(7)->web(apache/nginx) ->app(php/jsp)->DB(mysql&redis) zabbix openstack kvm/docker/k8s|swarm   hadoop nginx可以反向代理 HA高可用 n...

m493096871的博客 4652

debian mirrors 镜像源 riscv 64 赛昉 星光 starfive vf2 InRelease‘ doesn‘t support architecture ‘riscv64‘

debian mirrors 镜像 riscv 64 赛昉 星光2 starfive vf2 InRelease' doesn't support architecture 'riscv64'

qq_29758759的博客 1258

运维经典面试题总结100道(含答案)---2026常见面试题

运维工程师面试总结(含答案)_运维面试

流水_鱼鱼的博客 7万+

3D Slicer肺部CT病灶体积测量:阈值法实操全流程

在医学影像分析中,病灶体积的精准测量是肿瘤评估、疗效随访和科研统计的重要基础。传统逐层手动勾画不仅耗时,且主观差异大,而基于CT值的阈值分割技术,通过设定灰度区间自动提取目标体素,能够快速生成三维分割结果,具有高效、可重复、边界标准统一的优势,尤其适用于肺部实性结节这类与周围肺实质对比度高的病灶。理解体素与CT值的关系,掌握阈值范围的设定逻辑,并配合连通域分析、边缘修正等工程化操作,即可在3D Slicer中稳定获得可靠的体积数据。本文从技术原理出发,系统梳理了DICOM导入、窗宽窗位调节、阈值选择、三维重

weixin_29050271的博客 251

命令行执行YOLO训练命令报错:1.PermissionError: [WinError 5] 拒绝访问 2.OMP: Error#15: Initializing libiomp5md.dll...

(已解决!)报错:1.PermissionError: [WinError 5] 拒绝访问 2.OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

Gpengyuyan的博客 1124

Docker从入门到精通

构建镜像的时候,从一个最基本的操作系统开始,每个构建提交的操作都相当于做一层的修改,增加了 一层文件系统,一层层往上叠加,上层的修改会覆盖底层该位置的可见性,这也很容易理解,就像上层 把底层遮住了一样,当使用镜像的时候,我们只会看到一个完全的整体,不知道里面有几层,镜像即创建容器的模版,含有启动容器所需要的文件系统及所需要的内容,因此镜像主要用于方便和快 速的创建并启动容器 镜像含里面是一层层的文件系统,,当后期有额外的需求时,只要在之前的 DockerFile添加或者修改响应的命令即可重新生成新的。

u010055345的专栏 359

在 SAP S/4HANA Public Cloud 中,用 RAP 一键生成 PDF 并在 Fiori 前端触发下载的完整方案

create;update;delete;// 生成并返回当前文档上下文。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 408

PHP微服务容器化部署:复杂网络环境下的4大最佳实践(附配置模板)

掌握PHP容器化网络配置难题,本文提供微服务部署在复杂网络环境下的4大最佳实践,涵盖Docker网络模式、服务发现与通信优化,提升PHP应用稳定性与性能,附可复用配置模板,值得收藏。

AlgoInk的博客 765

《YOLOv12魔术师专栏》专栏介绍 & 专栏目录

《YOLOv12魔术师专栏》专栏介绍 & 专栏目录

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 5058

机器人控制算法九之 位姿描述与空间变换

机器人控制算法九之 位姿描述与空间变换

yohnyang的博客 1031

Docker生态系统五大核心组件深度解析

Docker并非单一工具,而是基于容器技术构建的标准化软件交付生态系统。其底层依托Linux内核的cgroups与namespaces实现进程隔离,通过镜像分层、内容寻址与UnionFS机制保障可复现性与高效分发;容器作为运行时实例,依赖Docker Engine(含daemon、API与CLI)统一调度,并由Registry完成镜像的可信存储与分发,再经Compose等编排工具实现多服务协同。该体系支撑CI/CD自动化、环境一致性与云原生演进,广泛应用于微服务部署、测试环境快速构建及混合云迁移等工程实践场

359

VN1640 CH5 I/O通道终极指南:【从硬件原理—>工程实战—>自动化测试实战】

摘要:本文详细解析Vector VN1640 CH5 I/O通道的硬件原理与工程应用,涵盖模拟输入(AIN)、数字输入(DIN)和数字输出(DOUT)三大功能模块的配置指南。通过硬件隔离设计实现高精度信号采集与驱动控制,重点分析开漏输出特性及保护机制。提供PWM控制、ECU上电时序测试、传感器闭环控制等实战案例的CAPL脚本代码,并强调多设备同步采集的精准性(时间偏差<1µs)。适用于汽车电子HIL测试、ECU信号监测等场景,所有方案均通过实际项目验证。

汽车控制器系统开发、VIL测试、HIL测试、MIL测试、EMS电喷系统标定与开发、热管理系统标定 759

Docker容器化实践指南:从核心概念到生产环境部署

容器化技术通过将应用及其依赖打包成标准化的轻量级单元,解决了环境一致性和依赖管理这一软件开发中的核心痛点。其原理基于操作系统级别的虚拟化,共享主机内核,实现了资源的高效隔离与秒级启动。这项技术的价值在于构建了不可变基础设施的交付标准,使应用能够在开发、测试、生产环境中实现“一次构建,处处运行”。在应用场景上,它不仅是微服务架构的理想载体,也是实现高效CI/CD流水线和统一本地开发环境的关键。本文聚焦于Docker这一主流容器技术,深入探讨了如何构建安全、高效的容器化工作流,并提供了针对微服务项目部署和常见环

weixin_34292402的博客 483

《【一看就会】Autoware.universe的“规划”部分源码梳理》系列文章目录(持续更新中)

第零章:Planning综述 第一章:【一】全局路径生成模块——mission_planner 第二章:【二】路径行为规划模块——behavior_path_planner第一部分——behavior_path_planner模块 第三章:【二】路径行为规划模块——behavior_path_planner第二部分——behavior_path_planner_common模块(1) 第四章:【二】路径行为规划模块——behavior_path_planner第三部分——behavior_path_plan

weixin_48386130的博客 2339

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Docker容器化技术从入门到实战:核心概念、安装部署与微服务应用

容器化技术是现代软件开发和部署的核心范式,它通过操作系统级别的虚拟化,实现了应用运行环境的标准化与隔离。其核心原理是利用Linux内核的命名空间和控制组(Cgroups)进行资源隔离与限制,并借助联合文件系统构建轻量级、可移植的运行单元。这项技术的核心价值在于彻底解决了“环境不一致”的顽疾,实现了“一次构建,处处运行”,从而显著提升了开发、测试与部署的效率与一致性。在应用场景上,容器化天然契合微服务架构,作为独立的部署单元,支撑着持续集成和持续部署(CI/CD)的自动化流程,并广泛应用于云原生环境。本文将以

weixin_33923762的博客 429

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: Git规范
下一篇: mac+php5.3的docker-compose.yml分享
自娱自乐22
博客等级 码龄18年 241粉丝 135原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值