<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel>
<title>钟志胜的个人网站 - 部署</title>
<link>https://zzs.tdcktz.com/index.php/tag/%E9%83%A8%E7%BD%B2/</link>
<atom:link href="https://zzs.tdcktz.com/index.php/feed/tag/%E9%83%A8%E7%BD%B2/" rel="self" type="application/rss+xml" />
<language>zh-CN</language>
<description></description>
<lastBuildDate>Mon, 26 May 2025 00:20:00 +0000</lastBuildDate>
<pubDate>Mon, 26 May 2025 00:20:00 +0000</pubDate>
<item>
<title>私有化部署DIFY手记</title>
<link>https://zzs.tdcktz.com/index.php/archives/90/</link>
<guid>https://zzs.tdcktz.com/index.php/archives/90/</guid>
<pubDate>Mon, 26 May 2025 00:20:00 +0000</pubDate>
<dc:creator>钟志胜</dc:creator>
<category><![CDATA[技术相关]]></category>
<description><![CDATA[安装指南：微信视频号：从0到1玩转AI：Dify平台安装 @跟克里斯陈学AI.env配置指南：https://blog.csdn.net/xuhao824/article/details/146...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<ol><li>安装指南：微信视频号：从0到1玩转AI：Dify平台安装 @跟克里斯陈学AI</li><li>.env配置指南：<a href="https://blog.csdn.net/xuhao824/article/details/146333997">https://blog.csdn.net/xuhao824/article/details/146333997</a></li><li>在腾讯云主机上开放相应的端口</li><li>主机域名解析：<a href="https://console.cloud.tencent.com/cns/detail/xxx.com/records">https://console.cloud.tencent.com/cns/detail/xxx.com/records</a>里添加一个dify的A记录</li><li>在腾讯云域名控制台相应的域名申请免费的SSL证书，放到./docker/nginx/ssl目录里，文件分别是：dify.crt和dify.key(根据2.env配置指南)</li><li>在终端启动项目：docker-compose -p dify-docker up -d</li><li>在浏览器上打开<a href="https://dify.xxx.com/">https://dify.xxx.com/</a></li></ol><p>注：xxx.com为你的域名</p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://zzs.tdcktz.com/index.php/archives/90/#comments</comments>
<wfw:commentRss>https://zzs.tdcktz.com/index.php/feed/tag/%E9%83%A8%E7%BD%B2/archives/90/</wfw:commentRss>
</item>
<item>
<title>豆包深度分析：通过Docker部署CRMEB Java版本</title>
<link>https://zzs.tdcktz.com/index.php/archives/85/</link>
<guid>https://zzs.tdcktz.com/index.php/archives/85/</guid>
<pubDate>Fri, 23 May 2025 22:57:00 +0000</pubDate>
<dc:creator>钟志胜</dc:creator>
<category><![CDATA[技术相关]]></category>
<description><![CDATA[CRMEB Java版本完全支持Docker部署，且官方提供了Docker镜像和配置示例，可显著简化部署流程。以下是具体实现方案：一、Docker部署优势环境隔离：避免与现有系统环境冲突，确保J...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p>CRMEB Java版本完全支持Docker部署，且官方提供了Docker镜像和配置示例，可显著简化部署流程。以下是具体实现方案：</p><h3><strong>一、Docker部署优势</strong></h3><ol><li><strong>环境隔离</strong>：避免与现有系统环境冲突，确保Java版本依赖（如JDK 1.8+、MySQL 5.7+）一致性。</li><li><strong>快速部署</strong>：单节点部署时间从传统方式的2-3天缩短至1小时内。</li><li><strong>弹性扩展</strong>：支持Docker Compose或Kubernetes集群部署，轻松应对高并发场景（如双11促销）。</li><li><strong>版本管理</strong>：通过镜像标签（如<code>crmeb/crmeb-java:v4.4.2</code>）快速回滚或升级。</li></ol><h3><strong>二、单节点Docker部署步骤</strong></h3><h4><strong>1. 环境准备</strong></h4><ul><li><strong>服务器配置</strong>：4核8G以上，推荐8核16G（生产环境）</li><li><strong>软件依赖</strong>：Docker 20.10+、Docker Compose 1.29+</li></ul><h4><strong>2. 下载Docker Compose配置</strong></h4><pre><code class="lang-yaml">version: &#039;3&#039;
services:
  # MySQL服务
  mysql:
    image: mysql:5.7
    container_name: crmeb-mysql
    restart: always
    ports:
      - &quot;3306:3306&quot;
    volumes:
      - ./mysql/data:/var/lib/mysql
      - ./mysql/conf:/etc/mysql/conf.d
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: crmeb
      MYSQL_USER: crmeb
      MYSQL_PASSWORD: crmeb123

  # Redis服务
  redis:
    image: redis:6.2
    container_name: crmeb-redis
    restart: always
    ports:
      - &quot;6379:6379&quot;
    volumes:
      - ./redis/data:/data

  # CRMEB Java服务
  crmeb-java:
    image: crmeb/crmeb-java:v4.4.2  # 替换为最新版本
    container_name: crmeb-java
    restart: always
    ports:
      - &quot;8080:8080&quot;
    volumes:
      - ./crmeb/config:/app/config
      - ./crmeb/logs:/app/logs
    environment:
      - SPRING_DATASOURCE_URL=jdbc:mysql://mysql:3306/crmeb?useUnicode=true&amp;characterEncoding=utf-8&amp;useSSL=false&amp;serverTimezone=Asia/Shanghai
      - SPRING_DATASOURCE_USERNAME=crmeb
      - SPRING_DATASOURCE_PASSWORD=crmeb123
      - SPRING_REDIS_HOST=redis
      - SPRING_REDIS_PORT=6379
    depends_on:
      - mysql
      - redis</code></pre><h4><strong>3. 启动容器</strong></h4><pre><code class="lang-bash"># 创建目录结构
mkdir -p crmeb-docker/mysql/{data,conf} crmeb-docker/redis/data crmeb-docker/crmeb/{config,logs}

# 下载docker-compose.yml到crmeb-docker目录
wget -O crmeb-docker/docker-compose.yml https://example.com/crmeb-java-docker-compose.yml

# 启动服务
cd crmeb-docker &amp;&amp; docker-compose up -d</code></pre><h4><strong>4. 验证部署</strong></h4><ul><li>访问 <code>http://服务器IP:8080</code> 查看CRMEB管理后台登录页面</li><li>检查容器状态：<code>docker ps -a</code></li><li>查看日志：<code>docker logs -f crmeb-java</code></li></ul><h3><strong>三、生产环境高可用部署</strong></h3><h4><strong>1. 集群架构设计</strong></h4><ul><li><strong>负载均衡</strong>：Nginx或Traefik</li><li><strong>应用层</strong>：3个CRMEB Java实例（部署在不同物理机）</li><li><strong>数据层</strong>：MySQL主从复制 + Redis集群</li></ul><h4><strong>2. Docker Swarm部署示例</strong></h4><pre><code class="lang-yaml">version: &#039;3.8&#039;
services:
  crmeb-java:
    image: crmeb/crmeb-java:v4.4.2
    deploy:
      replicas: 3
      update_config:
        parallelism: 1
        delay: 10s
      restart_policy:
        condition: on-failure
    ports:
      - &quot;80:8080&quot;
    networks:
      - crmeb-network
    secrets:
      - db-password
      - redis-password

networks:
  crmeb-network:

secrets:
  db-password:
    external: true
  redis-password:
    external: true</code></pre><h3><strong>四、注意事项</strong></h3><ol><li><strong>数据持久化</strong>：确保MySQL和Redis数据目录挂载到宿主机，避免容器重建导致数据丢失。</li><li><p><strong>配置优化</strong>：</p><ul><li>修改<code>crmeb/config/application-prod.yml</code>调整JVM参数（如<code>-Xmx2g -Xms2g</code>）</li><li>调整MySQL配置（如<code>innodb_buffer_pool_size=2G</code>）</li></ul></li><li><p><strong>安全加固</strong>：</p><ul><li>禁用不必要的端口暴露</li><li>定期更新镜像（<code>docker-compose pull &amp;&amp; docker-compose up -d</code>）</li><li>添加防火墙规则（如<code>ufw allow 80/tcp</code>）</li></ul></li></ol><h3><strong>五、泉州地区部署建议</strong></h3><ol><li><p><strong>云服务选择</strong>：</p><ul><li>中小型企业：阿里云ECS（4核8G）+ RDS MySQL（2核4G）+ Redis实例，月成本约1500元。</li><li>大型企业：自建物理机集群（3台8核16G服务器），年成本约8-10万元。</li></ul></li><li><p><strong>本地技术支持</strong>：</p><ul><li>与泉州本地Docker服务商合作（如泉州某科技公司），提供7×24小时运维服务。</li><li>利用泉州PHP开发者社区资源，快速解决部署问题。</li></ul></li></ol><h3><strong>六、常见问题与解决方案</strong></h3><table><thead><tr><th><strong>问题</strong></th><th><strong>解决方案</strong></th></tr></thead><tbody><tr><td>容器启动失败</td><td>检查<code>docker logs</code>输出，确认数据库连接参数是否正确</td></tr><tr><td>访问超时</td><td>检查Nginx配置，调整<code>proxy_connect_timeout</code>和<code>proxy_send_timeout</code>参数</td></tr><tr><td>内存溢出</td><td>在<code>docker-compose.yml</code>中添加<code>JVM_OPTS</code>环境变量，如<code>-Xmx1g -Xms1g</code></td></tr><tr><td>数据库连接池耗尽</td><td>修改<code>application-prod.yml</code>，增加<code>spring.datasource.hikari.maximum-pool-size</code>值（推荐15-20）</td></tr></tbody></table><p>通过Docker部署CRMEB Java版本，可显著降低部署复杂度和运维成本，尤其适合泉州地区技术团队规模较小的企业。建议在测试环境验证后再迁移至生产环境，并预留20%的硬件资源应对业务增长。</p><h2>CRMEB Java版本的官方Docker部署资源可通过以下渠道获取：</h2><h3><strong>一、官方文档指南</strong></h3><p>CRMEB官方提供了完整的Docker部署文档，包含从环境准备到集群配置的全流程说明：</p><ul><li><p><strong>文档链接</strong>：<a href="https://doc.crmeb.com/java/crmeb_java">https://doc.crmeb.com/java/crmeb_java</a></p><ul><li><p><strong>核心内容</strong>：</p><ul><li>Docker Compose配置示例（含MySQL、Redis、CRMEB Java服务）</li><li>生产环境高可用架构设计（Nginx负载均衡+容器集群）</li><li>镜像构建与版本管理策略</li><li>常见问题排查（如端口冲突、内存溢出）</li></ul></li></ul></li></ul><h3><strong>二、GitHub仓库资源</strong></h3><p>官方Java版本的GitHub仓库提供了Docker相关的配置文件和部署脚本：</p><ul><li><p><strong>仓库地址</strong>：<a href="https://gitee.com/ZhongBangKeJi/crmeb_java">https://gitee.com/ZhongBangKeJi/crmeb_java</a></p><ul><li><p><strong>关键文件</strong>：</p><ul><li><code>docker-compose.yml</code>：基础单节点部署配置</li><li><code>Dockerfile</code>：自定义镜像构建模板</li><li><code>application-prod.yml</code>：生产环境配置模板</li></ul></li></ul></li></ul><h3><strong>三、镜像获取方式</strong></h3><p>CRMEB Java版本的Docker镜像可通过以下两种方式获取：</p><ol><li><p><strong>官方镜像仓库</strong>（推荐）：</p><ul><li><strong>镜像地址</strong>：<code>crmeb/crmeb-java:v4.4.2</code>（需替换为最新版本）</li><li><p><strong>拉取命令</strong>：</p><pre><code class="lang-bash">docker pull crmeb/crmeb-java:v4.4.2</code></pre></li><li><strong>版本说明</strong>：通过标签（如<code>v4.4.2</code>）指定版本，可在官方文档中查看最新镜像版本</li></ul></li><li><p><strong>自行构建镜像</strong>：</p><ul><li><p>从GitHub仓库下载代码后，执行以下命令构建：</p><pre><code class="lang-bash">docker build -t crmeb-java:latest .</code></pre></li><li><strong>优势</strong>：可根据项目需求定制依赖（如添加自定义插件）</li></ul></li></ol><h3><strong>四、泉州地区部署优化建议</strong></h3><ol><li><p><strong>网络加速</strong>：</p><ul><li><p>使用国内镜像源（如阿里云、USTC）加速镜像拉取：</p><pre><code class="lang-bash"># 修改Docker配置文件 /etc/docker/daemon.json
{
  &quot;registry-mirrors&quot;: [&quot;https://docker.mirrors.ustc.edu.cn/&quot;]
}</code></pre></li></ul></li><li><p><strong>本地技术支持</strong>：</p><ul><li>与泉州本地技术团队合作（如厦门、福州的Java开发公司），降低沟通成本</li><li>加入泉州PHP开发者社区，获取本地化技术资源</li></ul></li></ol><h3><strong>五、验证与反馈</strong></h3><ul><li><p><strong>部署验证</strong>：</p><ol><li>启动容器后访问 <code>http://服务器IP:8080</code>，检查登录页面是否正常加载</li><li>执行 <code>docker logs -f crmeb-java</code> 查看服务日志，确认无报错信息</li><li>使用Postman测试核心API接口（如商品列表、订单创建）</li></ol></li><li><p><strong>版本更新</strong>：</p><ul><li>定期执行 <code>docker-compose pull &amp;&amp; docker-compose up -d</code> 更新镜像</li><li>关注官方文档的版本更新说明，避免兼容性问题</li></ul></li></ul><p>通过以上链接和资源，可快速完成CRMEB Java版本的Docker部署。建议在测试环境验证后再迁移至生产环境，并预留20%的硬件资源应对业务增长。</p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://zzs.tdcktz.com/index.php/archives/85/#comments</comments>
<wfw:commentRss>https://zzs.tdcktz.com/index.php/feed/tag/%E9%83%A8%E7%BD%B2/archives/85/</wfw:commentRss>
</item>
<item>
<title>用Docker compose部署pocketbase的配置文件和初始化管理员用户和密码的办法</title>
<link>https://zzs.tdcktz.com/index.php/archives/54/</link>
<guid>https://zzs.tdcktz.com/index.php/archives/54/</guid>
<pubDate>Wed, 30 Apr 2025 05:05:00 +0000</pubDate>
<dc:creator>钟志胜</dc:creator>
<category><![CDATA[技术相关]]></category>
<description><![CDATA[docker-compose.yml配置文件services:  pocketbase:    image: ghcr.nju.edu.cn/muchobien/pocketbase:lates...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<h2>docker-compose.yml配置文件</h2><pre><code>services:
  pocketbase:
    image: ghcr.nju.edu.cn/muchobien/pocketbase:latest
    container_name: pocketbase
    restart: unless-stopped
    ports:
      - &quot;127.0.0.1:8090:8090&quot;  # 仅本地访问
    environment:
      - POCKETBASE_DEBUG=false  # 生产环境禁用调试模式
    volumes:
      - ./pb_data:/pb_data
      - ./backups:/backups  # 备份目录
    healthcheck:  # 健康检查[3]()
      test: wget --no-verbose --tries=1 --spider http://127.0.0.1:8090/api/health || exit 1
      interval: 5s
      timeout: 5s
      retries: 5
    logging:  # 日志优化[2]()
      driver: &quot;json-file&quot;
      options:
        max-size: &quot;10m&quot;
        max-file: &quot;3&quot;
    deploy:  # 资源限制（兼容Swarm）
      resources:
        limits:
          cpus: &#039;1.0&#039;
          memory: 512M</code></pre><h2>初始化管理员用户和密码的办法：运行下面的命令获取</h2><pre><code>docker logs pocketbase</code></pre>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://zzs.tdcktz.com/index.php/archives/54/#comments</comments>
<wfw:commentRss>https://zzs.tdcktz.com/index.php/feed/tag/%E9%83%A8%E7%BD%B2/archives/54/</wfw:commentRss>
</item>
<item>
<title>好办法：将原来由docker-compose安装的stack交给Dockge中管理</title>
<link>https://zzs.tdcktz.com/index.php/archives/17/</link>
<guid>https://zzs.tdcktz.com/index.php/archives/17/</guid>
<pubDate>Tue, 08 Apr 2025 00:19:00 +0000</pubDate>
<dc:creator>钟志胜</dc:creator>
<category><![CDATA[技术相关]]></category>
<description><![CDATA[将原来由docker-compose安装的stack交给Dockge中管理，需要将 compose 文件移动到 stacks 目录中1，停止你的堆栈2，将您的 compose 文件移至 /opt...]]></description>
<content:encoded xml:lang="zh-CN"><![CDATA[
<p><img src="https://dockge.kuma.pet/screenshot.png" alt="将原来由docker-compose安装的stack交给Dockge中管理" title="将原来由docker-compose安装的stack交给Dockge中管理"></p><p>将原来由docker-compose安装的stack交给Dockge中管理，需要将 compose 文件移动到 stacks 目录中</p><p>1，停止你的堆栈<br>2，将您的 compose 文件移至 /opt/stacks/<stackName>/compose.yaml<br>3，在 Dockge 中，单击右上角下拉菜单中的 “扫描堆栈文件夹” 按钮</p><p>现在您应该在列表中看到您的堆栈</p><p><a href="https://blog.csdn.net/wbsu2004/article/details/136203025">来源</a></p>
]]></content:encoded>
<slash:comments>0</slash:comments>
<comments>https://zzs.tdcktz.com/index.php/archives/17/#comments</comments>
<wfw:commentRss>https://zzs.tdcktz.com/index.php/feed/tag/%E9%83%A8%E7%BD%B2/archives/17/</wfw:commentRss>
</item>
</channel>
</rss>