使用 Laradock 10 分钟部署 Laravel 或 Notadd 环境

栏目: 编程语言 · PHP · 发布时间: 8年前

内容简介:使用 Laradock 10 分钟部署 Laravel 或 Notadd 环境

为什么使用docker?

部署快

只需要几分钟,就能部署好一套 PHP 环境

性能好

docker 的性能损失只有1-2%,几乎可以忽略不计。

安全性高

容器与宿主机完全隔离,默认情况下不能相互访问。

同时支持多版本软件

可以PHP多版本共存

教程目的

如何用laradock 在10分钟内 部署 Notadd 与 laradock 环境

安装docker

Liunx 安装docker

curl -sSL https://get.daocloud.io/docker | sh

## 安装docker

Centos7 请执行这步

yum install -y docker-engine

ubuntu 请执行这步

sudo apt-get install -y -q docker-engine

安装docker-compose (ubuntu 请注意权限问题)

curl -L https://get.daocloud.io/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

开启国内镜像加速

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://1f637783.m.daocloud.io

Windows10(64位) 安装docker

开启国内镜像加速

在桌面右下角状态栏中右键 docker 图标,修改在 Docker Daemon 标签页中的 json ,把下面的地址:

http://1f637783.m.daocloud.io Copy

加到"registry-mirrors"的数组里。点击 Apply 。

Mac 10.8+ 安装docker

开启国内镜像加速

右键点击桌面顶栏的 docker 图标,选择 Preferences ,在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中加入下面的镜像地址:

http://1f637783.m.daocloud.io Copy

点击 Apply & Restart 按钮使设置生效。

下载laradock 与 notadd

下载laradock 与 Notadd

请确保git 可用 (win 建议在Powershell下执行)

git clone https://github.com/Laradock/laradock.git
mkdir -p wwwroot/data  # 创建网站目录
cd wwwroot 
git clone https://github.com/notadd/notadd.git
cd .. # 返回到上级目录

Linux: (win 和 mac 请直接编辑 env-example 文件)

cd laradock

vi env-example

env-example 配置说明

APPLICATION=../wwwroot

DATA_SAVE_PATH=../wwwroot/data

WORKSPACE 配置项

视情况开启

NODE=true
YARN=true

PHP_FPM配置说明

PHP_FPM_INSTALL_XDEBUG=false
PHP_FPM_INSTALL_MONGO=false
PHP_FPM_INSTALL_MSSQL=false
PHP_FPM_INSTALL_SOAP=false
PHP_FPM_INSTALL_ZIP_ARCHIVE=true
PHP_FPM_INSTALL_BCMATH=true
PHP_FPM_INSTALL_PHPREDIS=true
PHP_FPM_INSTALL_MEMCACHED=false
PHP_FPM_INSTALL_OPCACHE=false
PHP_FPM_INSTALL_EXIF=true
PHP_FPM_INSTALL_AEROSPIKE=false
PHP_FPM_INSTALL_MYSQLI=false
PHP_FPM_INSTALL_TOKENIZER=false
PHP_FPM_INSTALL_INTL=false
PHP_FPM_INSTALL_GHOSTSCRIPT=false
PHP_FPM_INSTALL_LDAP=false
PHP_FPM_INSTALL_SWOOLE=false

线上环境请将 PHP_FPM_INSTALL_OPCACHE=true

下面是数据库默认的账号和密码,请根据需要自行修改,不再阐述。

更改完毕后请务必进行此操作:

cp env-example .env

复制环境变量文件。

更改Caddy 配置

Caddy 是一个高性能,且使用很简单的HTTP服务器,自带HTTPS证书。

cd caddy
vi Caddyfile

更改为如下配置:

# Docs: https://caddyserver.com/docs/caddyfile
0.0.0.0:80 {
        root /var/www/notadd/public
        fastcgi / php-fpm:9000 php {
                index index.php
        }

        # To handle .html extensions with laravel change ext to
        # ext / .html

        rewrite {
                r .*
                ext /
                to /index.php?{query}
        }
        gzip
        browse
        log /var/log/caddy/access.log
        errors /var/log/caddy/error.log
}

请注意: 容器无法直接访问主机。

APPLICATION=../wwwroot 设置的 wwwroot目录 会对应容器的/var/www 目录

完成后请:

cd .. # 进入laradock 根目录

启动laradock

可以根据自己需要自行启动 nginx/apache/mysql/phpmyadmin/redis 等

注: phpmyadmin 请访问 http://IP:88 pgadmin 请访问 http://IP:5050

docker-compose up caddy postgres pgadmin

第一次运行需要安装环境,需要比较久的时间,请耐心等待

常用操作

以下操作请确保在laradock 根目录下

启动相关

laradock 默认会启动 php-fpm 和 workspace ,所以参数中无需加这两个。

启动 caddy 和 postgresql

docker-compose up caddy postgres

后台启动

docker-compose up -d caddy postgres

只重启caddy (比如修改了配置文件)

docker-compose restart caddy

停止所有

docker-compose stop

工作空间

进入工作空间前,请确认环境已经启动

docker-compose exec workspace bash

会进入 /var/www 目录

此时 可以执行 composerPHP 命令。

如果之前 env-example 开启了 nodeyarn 也可执行对应命令。

安装notadd

cd notadd
compose install
php notadd vendor:publish --force

退出工作空间

exit

连接数据库和PHP

请一定注意,数据库连接地址请一定填写为 mysqlpostgresmariadb 等。

另外Nginx/Caddy/Apache 如果需要访问PHP容器,请填写: php-fpm

更改laradock 配置

当你再次修改完 env-example 后,请一定按照如下方法执行:

cp env-example .env

重新构建相应的容器

docker-compose build php-fpm worksapce

如果还修改了 其他容器配置,请在后面一同加上

需要注意的是:

由于数据库的数据是映射到 wwwroot/data 目录,

所以在 env-example 修改数据库密码,即使重新构建也无效。

如需强制更改 请删除 wwwroot/data 里面对应数据库的数据。

日常修改密码,请使用 phpmyadmin 或者 pgadmin


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript Patterns

JavaScript Patterns

Stoyan Stefanov / O'Reilly Media, Inc. / 2010-09-21 / USD 29.99

What's the best approach for developing an application with JavaScript? This book helps you answer that question with numerous JavaScript coding patterns and best practices. If you're an experienced d......一起来看看 《JavaScript Patterns》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具