1Panel 部署 爱影CMS

前言

本文以 爱影CMS 为例提供了一种在 1Panel 面板中在 docker 内运行二进制程序的一种思路。符合 1Panel 基于容器管理并部署应用,实现最小的漏洞暴露面的思路。

环境准备

获取最新版爱影CMS

官方下载地址
在该页面上我们找到下载按钮,选择适合自己的服务器架构的压缩包
pic_3e74cbc0.png

容器化运行

  1. 进入 1Panel 管理面板,左侧导航栏点击 容器 - 编排 - 文件夹按钮(嘿这个VIP黑金你真的不爱吗🤣
    pic_a079585c.png

  2. 创建容器运行目录:在该目录下创建文件夹 cms 用于存放容器持久化数据以及 docker-compose.yml 等文件pic_25e20cfb.png

  3. 创建 docker-compose.ymlDockerfile 文件,参考如下:

    1
    2
    3
    4
    5
    6
    7
    # Dockerfile
    FROM alpine:latest
    WORKDIR /app
    COPY . /app
    EXPOSE 21007
    RUN chmod +x /app/cms
    CMD ["/app/cms"]
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # docker-compose.yml
    services:
    cms:
    container_name: iycms
    build: .
    ports:
    - "127.0.0.1:21007:21007" # 后台管理端口
    - "127.0.0.1:21006:80" # 站点端口
    volumes:
    - .:/app # 持久化
    restart: always
    networks:
    - 1panel-network # 使用 1Panel 创建的 docker 网络
    networks:
    1panel-network:
    external: true

    记住此处的 docker-compose.yml 的路径,如此处:/opt/1panel/docker/compose/cms/docker-compose.yml
    pic_810892d6.png

  4. 拷贝运行文件
    将下载的爱影CMS安装包放入当前目录下,解压获得 CMS 二进制文件和 HTML 主题文件夹,如图
    pic_f3de42ae.png

  5. 构建运行容器
    左侧导航栏点击 容器 - 编排 - 创建编排 - 路径选择 粘贴刚才复制的 docker-compose.yml 路径,确认构建容器。
    pic_d55fcdcb.png

安装 OpenResty 和 PostgreSQL

在 1Panel 左侧导航栏 应用商店 搜索安装 OpenResty 和 PostgreSQL 用于反代和数据库
pic_729707c7.png
pic_3611a9fe.png

反向代理连接后台

在 1Panel 左侧导航栏 网站 - 创建网站 - 反向代理 添加CMS后台端口和站点端口。
pic_f8a8e989.png
pic_40a3f146.png
根据需要自行开启 HTTPS 等。

测试

访问后台域名:
pic_dbf75799.png
pic_00bc97c0.png
访问前台域名(需要自行添加内容)
pic_ba9a9e91.png
自此安装完毕。