Laradock 部署 Laravel+MySQL+Redis+Laravel-echo-server

draven發表於2019-08-01

Docker 安裝,因為伺服器是CentOS的所以這裡只介紹CentOS。

Docker 要求 CentOS 系統的核心版本高於 3.10 ,使用uname -r 命令檢視你當前的核心版本

[root@yvsy ~]# uname -r 
3.10.0-229.el7.x86_64

安裝 Docker

移出舊版本:

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

安裝一些必要的系統工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

新增軟體源資訊:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 快取:

sudo yum makecache fast

安裝 Docker-ce:

sudo yum -y install docker-ce

啟動 Docker 後臺服務

sudo systemctl start docker

映象加速器 請在 /etc/docker/daemon.json 中寫入如下內容(如果檔案不存在請新建該檔案)

{
  "registry-mirrors": [
    "https://dockerhub.azk8s.cn",
    "https://reg-mirror.qiniu.com"
  ]
}

重新啟動服務

 sudo systemctl daemon-reload
 sudo systemctl restart docker

安裝 docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

下載 Laradock

git clone https://github.com/Laradock/laradock.git

重新命名env-example為.env

cp env-example .env

開啟專案的.env檔案並設定以下內容:

    APP_CODE_PATH_HOST=/var/www      #你的專案目錄

    PHP_VERSION=7.2                  #PHP版本

    MYSQL_VERSION=5.7                #Mysql版本,預設為最新版本(8.0),如果本地環境用的5.7用8.0會有很多麻煩所以我改成了5.7
    MYSQL_DATABASE=default           #MySQ預設資料庫
    MYSQL_USER=default               #預設使用者名稱
    MYSQL_PASSWORD=secret            #預設密碼
    MYSQL_PORT=3306                  #預設埠
    MYSQL_ROOT_PASSWORD=root         #root使用者預設密碼

    CHANGE_SOURCE = true            #啟用國內映象一些包的下載速度會飛快

我們進入mysql目錄開啟Dockerfile,然後把ARG MYSQL_VERSION=latest 改為ARG MYSQL_VERSION=5.7

ARG MYSQL_VERSION=5.7

我們進入laravel-echo-server目錄開啟Dockerfile,在run apk上面加入一行更改國內映象源,不加的話安裝會特別特別的慢

COPY package.json /usr/src/app/

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories    #就是加這行

RUN apk add --update \
    python \
    python-dev \
    py-pip \
    build-base

nginx

nginx站點配置就在nginx/sites下面正常配置就好

supervisor

supervisor配置在php-worker/supervisord.d下面

laravel-echo-server

laravel-echo-server配置在laravel-echo-server下面,我們開啟laravel-echo-server.json,在redis裡新增 host: redis否則會出現連線不上redis服務的情況

"databaseConfig": {
                "redis": {
                        "host": 'redis'
                },
                "sqlite": {
                        "databasePath": "/database/laravel-echo-server.sqlite"
                }
        },

基本配置已經完成現在我們到laradock目錄下面啟動

docker-compose up -d nginx mysql redis laravel-echo-server php-worker

經過漫長的等待這時候我們就可以看到我們的容器啟動了
我們可以使用docker ps -a 檢視我們的容器

伺服器環境搭建:Laradock部署laravel+mysql+redis+laravel-echo-server
docker exec -it 容器名稱 bash 我們可以進入對應容器執行操作

docker-compose up -d 如果服務容器已經存在,並且在建立容器後更改了服務的配置,使用此命令會會停止容器,然後重新建立容器。

docker-compose up 啟動容器

docker-compose restrat 重啟容器

docker-compose stop 停止容器

如果修改了Dockerfile配置檔案需要重新打包映象

docker-compose build 映象名稱

以上就是我搭建伺服器的過程,第一次寫文章有點小緊張,很多不足的地方還請大家多多指教。

與其感慨路難行,不如馬上出發

相關文章