推荐服务器最低配置:CPU双核、内存4GB、硬盘20GB、带宽5兆
v3.3.0之前版本升级上来,请看旧版本文档此文档只适合v3.3.0后版本全新部署的。
知识库系统涉及的运行环境比较复杂,建议使用Docker部署,Docker的使用在宝塔面板上操作非常方便。
运行环境#
在不影响其他站点的情况下,建议将宝塔升级到最新版本。
步骤1:
登录宝塔面板后,单击左侧菜单最底部的【自定义菜单】,开启【Docker】菜单。单击左侧菜单【Docker】,出现提示安装Docker,单击【安装】。
步骤2:
单击【软件商店】,安装好【Nginx】和【进程守护管理器】。
部署源码#
步骤1:
点击【文件】,进入【/www/wwwroot】目录,在目录下新建目录,后续步骤,我们都称该目录为【站点目录】。
Docker部署#
修改Docker编排文件#
一般情况下,docker端口挂载的格式都是"端口1:端口2","端口1"为挂载主机端口,"端口2"为容器内部端口。所以我们在主机访问端口时,要访问"127.0.0.1:端口1"。如果进入容器内部或者容器之间进行通信时,访问"端口2"。容器之间的访问,使用“容器名:端口"。本项目除了使用主机Nginx代理nginx容器,其他都是容器与容器他们之间通讯。
进入【站点目 录】下的docker目录
右键单击【docker-compose.example.yml】文件
单击【重命名】,将新文件命名为【docker-compose.yml】
打开【docker-compose.yml】文件,修改①~⑤的选项。
修改第①项:
浏览器打开新的窗口访问宝塔面板
单击【终端】,登录系统管理员账号
在终端输入id www并按回车键,可以看到终端返回的信息
信息为 www用户的用户id和用户组id
分别将uid的id和gid的id复制到【docker-compose.yml】文件中"user:"后面
要去掉前面#,格式如"uid的id:gid的id",
修改后【保存】文件,这样PHP容器就可以以www的权限进行运行。
user: "1000:1000" ①【挂载主机ID】
修改第②项:
修改MySQL的root密码,记住密码,安装程序需要填写。
MYSQL_ROOT_PASSWORD: 123456Abcd #②【123456Abcd】为MySQL容器root账号的密码,建议修改成复杂密码。
修改第③④⑤项: 分别修改postgres容器的帐号、密码、数据库名。记住 这些信息,安装程序需要填写。
- POSTGRES_USER=postgres #③【postgres】为postgres容器的默认账号。
- POSTGRES_PASSWORD=123456Abcd #④【123456Abcd】为postgres容器默认账号的密码。
- POSTGRES_DB=postgres #④【postgres】为postgres容器的默认数据库名。
使用docker-compose up -d 拉起来了可以忽略下面的Docker编排模板步骤了
添加Docker编排模板#
1.如果添加失败,很可能是编辑编排模板的时候没有操作正确,yml文件用缩进来表示层次结构,每一行需要有规则的对齐。
2.如果提示模板已存在,可以修改文件名,保持yml(结尾)格式。
单击【Docker】->【编排模板】->【搜索本地模块】->【📂(文件夹小图标)】,选择【站点目录下】的docker目录,单击【搜索】,模板名选择编辑的docker-compose.yml文件,单击【添加】。添加容器编排#
如果添加失败,很可能是编排模板问题,请重新编排编辑模板。注意挂载主机的端口号,不要与主机已有的其他软件冲突。
单击【容器编排】->【项目】->【添加Composer项目】,在【Composer模块】选择【docker】,填写名称,单击【添加】。添加成功以后,如图所示。然后在点击【容器】,可以看到项目运行的反向代理容器#
该反向代理为主机Nginx代理到Ngxin容器,代理的端口为Nginx容器挂载主机的端口。