docker-compose部署php,docker-compose 部署 Laravel 项目全记录

本文详细记录了使用docker-compose在腾讯云主机上部署Laravel电商项目的过程,包括环境搭建、配置文件修改、Laravel项目安装、Nginx配置以及HTTPS的配置。遇到的问题如权限错误、PHP扩展缺失、Redis连接拒绝等,均有解决方案。
摘要由CSDN通过智能技术生成

说明

使用的主机提供商是腾讯云

使用部署 L05 电商教程项目作为例子

域名自备,除了主域名A解析,再添加一条CNAME泛域名解析

主机上已安装好docker和docker-compose

以下操作,docker-compose配置文件的路径为/home/ubuntu/docker

进入容器的方式,可以用docker-compose exec {service_name}(需在docker-compose.yml所在目录下操作),也可以在任意目录运行:docker exec -it {container_name} bash(nginx容器的话,bash换为sh)

为了记录的连贯性,将这个过程中遇到的问题放到文章最后,遇到的时候再去查阅。

docker-compose 环境搭建

docker-compose 环境搭建参考我之前写的文章:博客:docker-compose 搭建 dnmp 总结(附踩坑指南)

运行以下命令下载 docker-compose 配置:

git clone https://github.com/HubQin/dnmp.git docker

几点说明:

由于需要用到 npm 安装和编译前端资源,所以把它内置到php-fpm服务所在的容器里,安装前注意将dockerfiles/Dockerfile.php73文件中Node安装部分指令注释去掉

docker-compose.yml文件中,mysql部分,数据库管理员密码改为自己需要的密码

Redis配置文件(/home/ubuntu/docker/conf/redis/redis.conf)设置注释掉绑定ip的指令,比如注释掉:bind 127.0.0.1,另外,需要给redis设置密码,在配置文件中修改:requirepass=xxxxxx(你的redis密码)

php-fpm 容器还内置的 supervisor 进程监护工具

以上修改完成,在/home/ubuntu/docker目录下运行以下命令启动各项服务:docker-compose up -d

用到的服务容器明细如下:

php-fpm 7.3

mysql 最新版本(当前是8.0.18)

redis 最新版本(当前是 5.0.7)

Nginx 最新版本(当前是 1.17.6)

Laravel项目安装和配置

服务启动后,会在docker-compose.yml的上一级创建一个名为project的文件夹(在本例子中的完整路径是/home/ubuntu/docker),将Laravel项目的代码放在这里。

代码下载之后,复制一份项目根目录下的.env.example文件,命名为.env并做如下修改:

APP_NAME=Larashop #

APP_ENV=production #

APP_KEY=base64:oTbcE5B35aiLYtMvxdsaDzplwBYTa5DHX4IfeQ06bws= #

APP_DEBUG=false #

APP_URL=larashop.ishare.cool #

LOG_CHANNEL=stack

DB_CONNECTION=mysql

DB_HOST=mysql #

DB_PORT=3306

DB_DATABASE=laravel-shop #

DB_USERNAME=root

DB_PASSWORD=xxxxxx #

BROADCAST_DRIVER=log

CACHE_DRIVER=file

QUEUE_CONNECTION=redis #

SESSION_DRIVER=file

SESSION_LIFETIME=120

REDIS_HOST=redis #

REDIS_PASSWORD=xxxxxx #

REDIS_PORT=6379

MAIL_DRIVER=smtp

MAIL_HOST=smtp.qq.com

MAIL_PORT=465

MAIL_USERNAME=xxxxxx@qq.com #

MAIL_PASSWORD=xxxxxx #

MAIL_ENCRYPTION=ssl

MAIL_FROM_ADDRESS=xxxxxx@qq.com #

MAIL_FROM_NAME=Larashop #

运行docker exec -it docker_mysql_1 bash进入 mysql 所在容器,登录mysql创建一个数据库。

运行docker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值