Laravel Docker Centos8 使用

fanyi 这个小工具,以前是直接跑在腾讯云的轻量服务器上的,用 Golang 写的,最近加了一个小功能,用 php 重写了,php 就要搭建各种环境,直接在腾讯云的轻量服务器上编译 php 不成功,主要是你 cpu 高,他就直接给你 kill 了,所以就用 docker 来解决。

构建 PHP 的运行环境

从 php:8.1-fpm 开始构建,安装上相关依赖,然后设置运行用户的相关权限。

编排文件

把 PHP,nginx,mysql 8.0 编排在一起。

权限的问题,如果 php 没有写的权限,一定是 user: lighthouse, uid: 1000
设置的不对,这个 user 必须在系统中存在,且 uid 一定要对。

Nginx 配置

容器里面的 nginx 需要把请求转发给 php-fpm

负载 nginx 配置

为什么要加这个 nginx,其实也可以不加,主要是这个机器上我还跑了另外几个服务,所以才共用这个 负载 nginx。

在负载的 nginx,不加 host 的话,取不到 host,默认的资源依赖都变成 127.0.0.1

Laravel 配置

一定要配置 APP_URL 和 ASSET_URL,不然取的资源的域名不对。

强制 https,laravel 在前端模板调用 {{ router(‘login’) }} 之类的指令时,默认是 http,修改如下代码,可以强制 https

laravel 初始化

服务跑起来后,需要对环境进行初始化。

参考

https://stackoverflow.com/questions/28402726/laravel-5-redirect-to-https

nginx-and-lets-encrypt-with-docker

发表评论