php8.1
- 使用 docker compose 对 Nexusphp 环境进行统一管理。简化部署,迁移操作。
如果有帮助的话,不妨点个 Star 吧~
- fork 并 clone 本项目
- 删除所有 .gitignore 文件:
find /nexusphp -type f -name ".gitignore" -delete - 正常安装
- 将所有变更 commit 并 push
- 添加定时任务,比如一小时:将所有变更定时 commit 并 push
- 假设现在机器被收回了。。。
- 只需要 git clone xx && docker-compose up -d 满血复活
- 修改定时任务,添加 supervisor 任务,如 队列守护进程(>=1.8需要)
- 默认情况下 compose 文件已经将 MySQL,Redis 的数据映射出来了。然后 nexusphp 的 .env 手动保存下差不多就可以了.
- 构建镜像
- clone 站点源码:
git submodule init && git submodule update - 切换需要的分支,比如:
v1.8.4 - 修改
docker-compose.yml里面password相关字段。都是密码相关的,注意安全... - 按需修改
nginx/sites-enabled/nexusphp.conf - 启动容器:
docker-compose up -d - 进入 nginx 容器:
docker exec -it nginx bash - 安装依赖:
composer install cp -R nexus/Install/install public/,复制nexus/Install/install到public/,保证最后public/install/install.php存在- 安装之前需要手动创建数据库,执行
docker exec -it mysql bash - 登录数据库:
mysql -uroot -p,密码无回显
# https://doc.nexusphp.org/installation.html#%E5%88%9B%E5%BB%BA%E6%95%B0%E6%8D%AE%E5%BA%93
create database `nexusphp` default charset=utf8mb4 collate utf8mb4_general_ci;- 打开
http://localhost:8080/, 正常情况下自动跳转到http://localhost:8080/install/install.php - 从界面可以看出安装一共5步。检查环境, 创建 .env, 创建 MySQL 表, 导入数据, 建立管理员账户
- 第一步,直接下一步。
- 第二步,按需填入相关配置。最后会保存在
nexusphp/.env. 这里可能会有权限问题。 因为 php 默认是以 www-data 用户运行而非 root。映射的文件大概率没有权限。可以在容器内选择一下做法其中一种.touch .env然后再修改权限chmod -R 777 /nexusphp- 备份原目录,chmod 777,安装完成后 cp .env 文件,恢复目录
- 第三步,直接下一步。
- 第四步,直接下一步。
- 第五步按需填写,完成。至此
nexusphp已经安装完成,打开http://localhost:8080/登录即可。 - 可以的话,可以考虑删除 install 目录,
rm -rf nexusphp/public/install。 - 修改定时任务,添加 supervisor 任务,如 队列守护进程(>=1.8需要)
docker-compose build
docker-compose up -d --build && docker exec -it nginx bash
# 重定向镜像构建日志至 1.log
# docker-compose up -d --build >./1.log 2>&1 && docker exec -it nginx bash



