Docker + 宝塔 + 苹果CMS 自建站

看网上资料大部分都是使用宝塔进行建站的,但是经过我自己的实践后,发现宝塔并没有想象中那么简单。主要还是宝塔不够完善,建站过程中出现各种莫名其妙的问题。比如下载lnmp环境成功,但实际上是失败、在应用商店中无法下载软件、下载好了mysql后一直提示“数据库密码错误”等等问题,虽然和客服沟通了,效率比较低,而且还未能解决。左思右想后,隐约觉得是环境配置问题导致的这些错误,所以最终决定使用docker试一下,果然是建站成功了。

建站成果

1. 安装Docker,参见WordPress建站

2. 安装宝塔镜像

// 由于之前的一些端口被占用了,所以需要设置不同的端口映射
// 将以下“新端口”替换成宿主机未被占用的端口
docker run -tid --name baota -p 新端口(如8080):80 -p 新端口:443 -p 新端口(如8888):8888 -p 888:888 -p 3306:3306 --privileged=true --shm-size=1g --restart always -v ~/wwwroot:/www/wwwroot pch18/baota

安装成功后,即可通过 http://你的服务器ip地址:8888 访问宝塔面板

管理面板

3. 新建网站

  1. 在宝塔面板中选择网站->添加站点->输入相关信息(域名,数据库信息等)
    域名默认80端口即可(这个端口是在docker中的端口)
  2. 将上面填写的域名添加解析路径(域名控制台里修改)
  3. 此时可以通过 http://你的服务器ip地址:8080访问你的网站,它会提示你已建站成功。这个 8080端口是docker容器生成时设置的映射端口,这个端口是宿主机的。(可以通过宿主机的nginx 将8080 端口换成80端口)

4. 安装 苹果CMS

  1. 下载苹果CMS安装包,使用宝塔的文件上传功能或者 scp 进行上传,并且在宝塔中给文件加权限,或者使用chmod命令进行加权限。 然后再次访问网站就会看到CMS安装的界面了(如果显示没有权限则是因为文件没有加读写权限)。


    添加权限
  2. 进入网站界面进行安装,在第二步的时候会监测环境,一般会缺少fileinfo文件

    缺少文件

    解决办法:宝塔面板->下载的PHP的设置->安装扩展->fileinfo->安装
    fileinfo安装

    其中,fileinfo可能安装失败。主要是内存不够的问题,可以通过建立虚拟内存来解决。
    在服务器中执行下方命令,就能正常安装了

dd if=/dev/zero of=/swap bs=1024 count=1M

mkswap /swap

swapon /swap

echo "/swap swap swap sw 0 0" >> /etc/fstab
  1. 点击下一步,可以看到安装后CMS的后台控制界面了。

参考文章;
Docker - 从入门到实践l
宝塔镜像
宝塔镜像安装
fileinfo 安装失败

最后,摸索了好久,终于有点明白Docker 的端口映射关系了 - -。这里主要是记录一下大致的思路,免得下次又重复相同的错误。

你可能感兴趣的:(Docker + 宝塔 + 苹果CMS 自建站)