网站搭建需要 Web 前后端的知识:前端包括 HTML、CSS、JavaScript 等,其中 HTML 是页面的文字部分,CSS 是其格式部分,JavaScript 是其交互部分;后端通常使用 PHP+MySQL+Nginx,其中 PHP 是种编程语言,MySQL 是数据库管理系统,Nginx 是 Web 服务器软件。从头搭建一个网站是非常困难的,好在现在有大量框架可以使用,其中一个比较出名的是 thinkcmf。
thinkcmf 基于 ThinkPHP 开发,同时支持 PHP-FPM 和 Swoole 双模式;支持大数据量和多种缓存方式;数据库读写分离和集群部署。前端使用的是 Bootstrap 框架,jQuery 库,后端使用 ThinkPHP 框架,使用 Composer 进行其依赖管理,遵循 PSR-2,PSR-4 规范,轻松兼容多平台。
开发环境搭建
最简单方便的方式无疑是使用 Docker,Docker 在 Web 开发环境搭建方面非常擅长。下面是具体步骤:
- 使用
git clone
命令下载ThinkCMF Docker: ThinkCMF for Docker - 阅读其 README 和概览所有目录和文件,大概理解之
- Windows 上安装 Docker Desktop,安装完成后在命令行(powershell 或 cmd 或 Git bash)中执行
docker --help
和docker-compose --help
命令,确保安装成功 - 打开
Git bash
(理论上 Powershell 或 pwsh 也可以),并cd
到之前下载的 docker 目录(后面简称该目录为docker/
)中 -
执行
docker-compose up
命令,检查命令是否执行成功,如果失败,则分析原因并处理。该命令会根据当前目录下docker-compose.yml
文件的内容去拉取(docker pull
)对应的镜像(images),然后根据此配置启动相关容器(containers),通常会涉及多个容器,构成一个容器群(或容器组)。温馨提示:
- 如果没有开启docker daemon 的代理,则
docker pull
阶段通常会失败。 - 如果开启了docker cli 的代理,则可能会遇到如下错误:
1
curl error 35 while downloading https://repo.packagist.org/packages.json: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to 192.168.56.200:7890
以及:
1
curl error 6 while downloading https://mirrors.aliyun.com/composer/packages.json: Could not resolve host: mirrors.aliyun.com
- 如果没有开启docker daemon 的代理,则
-
执行完毕后,如果没有报错,则说明 thinkcmf 相关组件安装完毕,此时即可访问
127.0.0.1
进行部署:- 首先会检查条件,应全部满足,如不满足,需检查并分析原因。如果没问题则直接点击下一步。
- 点击下一步后要求配置数据库等信息,这里需要按
docker/README.md
中的说明将数据库服务器地址从127.0.0.1
改为mysql
,然后再输入其root
用户的默认密码thinkcmf
,否则会提示“密码错误或 mysql 异常”。然后配置管理后台的密码和邮箱等,OK后就下一步。 - 最后就是 thinkcmf 自动完成部署,成功后即可访问前台(
http://127.0.0.1/
)和后台(http://127.0.0.1/admin/
)页面。
- 注意后续使用就不能轻易在
docker/
目录下执行docker-compose down
或up
了,应使用start
和stop
命令,否则会重新构建容器。
开发例程
可参考 thinkcmf/portal: ThinkCMF企业门户解决方案,基于ThinkCMF5.1开发
也可参见 Web开发笔记