前言
很早就想部署一套自己的发卡自动售货系统,研究了很久发现 独角数卡相对更加成熟好用,可是折腾技术三年多最怕的就是 php和 Laravel之类的语言和框架,各种权限,守护之类配置麻烦,加上如果跑在 docker里更加头疼,只能先 尝试硬装了。
按照官方教程在 LNMP.org环境下一步步的按照,涉及到需要修改 php, composer, supoervisor, redis, mysql各种依赖,最终算是完美安装成功,使用上各方面都没问题,就是感觉部署太麻烦。于是又找到某大佬制作的 docker版本 Apocalypsor/dujiaoka-docker 经过测试也很完美,部署和维护实在是方便。
但是发现基础镜像只支持 X86架构,现在甲骨文 ARM 服务器这么火,完美党无法忍受,于是又经过一天的折腾解决了 ARM64 架构的基础镜像,所有就有了本教程。
竟然瞎聊了这么多,废话不多说,首先依次感谢以下开发者,docker 制作者的无私分享。
部署
项目地址
demo 示例
准备主目录
创建一个 dujiaoka主目录用于存放所有相关配置,数据,数据库和缓存文件。
1 2 3 4 5 |
<pre class="inline:true decode:1 " >mkdir dujiaoka && cd dujiaoka # 创建主目录 mkdir storage uploads chmod -R 777 storage uploads # 创建数据目录用于挂载 |
访问 项目地址下载 env.conf和 docker-compose.yml到上述的 dujiaoka目录中。
1 2 |
<pre class="inline:true decode:1 " >chmod -R 777 env.conf # 重要步骤 |
配置 nginx 反向代理
参考
domian.conf修改域名和证书路径。
由于 ngixn 安装不同,可能具体配置和路径有所不同,但必需参考以下
location ^~ /中的相关配置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<pre class="inline:true decode:1 " > location ^~ / { proxy_pass http://127.0.0.1:56789; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; add_header X-Cache $upstream_cache_status; proxy_set_header Accept-Encoding ""; sub_filter "http://" "https://"; sub_filter_once off; } |
启动容器
修改 docker-compose.yml中的 MySQL密码,首次启动:
1 |
<pre class="inline:true decode:1 " >docker-compose up -d |
首次启动后,会自动生成 mysql和 redis的数据目录。
网页安装
访问配置好的域名进行安装:
- 将 MySQL的地址改为 db
- 将 MySQL的用户名改为 dujiaoka
- 将 Redis的地址改为 redis
- 填写网站名称
- 填写网站 url地址(例如https://shop.ioiox.com)
点击安装,并成功安装,先修改其他参数后在进行登录使用。
停止容器
1 |
<pre class="inline:true decode:1 " >docker-compose down |
将
docker-compose.yml中的
INSTALL改为
false
将
env.conf中的
APP_DEBUG改为
false
此时可以看到
env.conf中的相关配置已经自动变为安装时填写的参数
再次启动容器
1 2 |
<pre class="inline:true decode:1 " >docker-compose up -d # 再次启动开始使用 |
完成部署
自此已完成安装部署,访问域名开始使用:
- 容器内含有 php, composer, redis, supervisor进程守护,任意设置都会自动生效.完全无需任何其他操作.
- 所有配置,数据,缓存,数据库都存储在整个 dujiaoka目录中,定期备份即可。
- 如需迁移服务器,仅需打包本目录到新服务器,执行上述所有 chmod 777的权限命令,再次 docker-compose up -d即可恢复上线。
结语
感谢以下文章提供的技术支持:
本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面