使用 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

下載安裝 https://get.daocloud.io/docker-install/windows

開啓國內鏡像加速

在桌面右下角狀態欄中右鍵 docker 圖標,修改在 Docker Daemon 標籤頁中的 json ,把下面的地址:

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

加到"registry-mirrors"的數組裏。點擊 Apply 。

Mac 10.8+ 安裝docker

下載安裝 https://get.daocloud.io/docker-install/mac

開啓國內鏡像加速

右鍵點擊桌面頂欄的 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章