使用Docker 打包部署Laravel 应用

Laravel是目前最流行的PHP框架,特点是开发速度快,当然部署也麻烦。 传统部署流程: Composer安装依赖 使用Apache/Nginx进行部署Laravel的Web接口 使用Supervisor作为Laravel队列服务的进程守护 设置crontab定期执行Laravel的定时任务 看起来,每次部署Laravel还是挺麻烦的,有了Docker后,我们可以使用Docker的特性来集成基本的部署操作,并且由于容器的特性,还可以使的应用跑的时候更加安全。 使用Apache打包基础镜像 这里我们使用的基础镜像为: php:7.1-apache,之后可以使用docker-php-ext-install安装我们需要的PHP扩展。 完整的Apache基础镜像Dockerfile参见Github. 使用Composer安装依赖 # 拷贝代码到html目录 COPY . /var/www/html # 安装Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # 安装依赖 ONBUILD RUN cd /var/www/…

用Nginx反代运行于Apache的Laravel

很早之前,我把自己的vps从apache切换到了nginx,那时候是因为vps性能不好,能省就省。 后来经常遇到php5-fpm挂掉等各种情况导致跑php程序经常会502,于是,从去年开始,我开始将我的php站点逐步切换至apache,并使用nginx进行反代。 这时候,其实很想吐槽php,还得弄个apache来跑…. 后来,当开始反代一些laravel写的网站的时候,遇到了一些坑,所以写这篇文章记录下。 Apache配置 假设我们这里用9000端口在apache监听了一个vhost,具体配置就不写了XD Nginx配置 http的vhost配置: server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:9000; proxy_set_header Host $host:$server_port; proxy_set_header X-Forward-For $remote_addr;…