本地 Laradock 測試環境的安裝
雲伺服器上 Laradock 生產環境的安裝
1 .安裝 docker 相關
以下操作在雲伺服器上執行(%)
安裝 docker
% curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
安裝docker-compose
% sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
其中 1.24.1 可以改為目前指定版本的 docker-compose.
設定許可權
% sudo chmod +x /usr/local/bin/docker-compose
2.安裝雲伺服器的圖形介面和vscode(可選)
安裝和登入遠端桌面
有時需要圖形介面進行資料夾和程式碼版本管理,相比於命令列更適合人類閱讀,我明白命令列才是程式猿的修煉場,但是我想對自己好一點。
圖形介面以 CentOS 為例。
% chattr +i /etc/resolv.conf
% yum install -y tigervnc tigervnc-server
% yum groupinstall GNOME Desktop
% vncserver
在 Windows 上下載 VNC Viewer
,使用該軟體登入雲伺服器,注意預設5901 埠
需要在雲伺服器上放通。最後登入即可:
安裝 Vsode 和 Firefox
% sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
% sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
% yum check-update
% sudo yum install code
% code
% yum install firefox
載入 alias 指令碼簡化命令列書寫
下載一份合適的alias.sh
指令碼,假定放在 ~/alias.sh
位置。
此處需要補充下載連結
% sudo vim ~/.bashrc
在 vim 內輸入source ~/aliases.sh
並wq!
儲存。
2. 安裝 Laradock
下載 Laradock 環境安裝包
建立project
資料夾,在project專案資料夾上下載最新的 Laradock 環境安裝包
% git clone https://github.com/Laradock/laradock.git
修改配置 Laradock 配置檔案
進入環境安裝包,複製一份.env
配置檔案
cp env-example .env
修改 Laradock 配置檔案最關鍵的在於.env
和docker-compose.yaml
,以及對應容器的配置檔案(如以下NGINX、MYSQL等)
NGINX配置
Laradock 的.env
內:
### NGINX #################################################
NGINX_HOST_HTTP_PORT=80
NGINX_HOST_HTTPS_PORT=443
NGINX_HOST_LOG_PATH=./logs/nginx/
NGINX_SITES_PATH=./nginx/sites/
NGINX_PHP_UPSTREAM_CONTAINER=php-fpm
NGINX_PHP_UPSTREAM_PORT=9000
NGINX_SSL_PATH=./nginx/ssl/
Laradock 的.docker-compose.yml
內:
### NGINX Server #########################################
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE}
- http_proxy
- https_proxy
- no_proxy
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
ports:
- "${NGINX_HOST_HTTP_PORT}:80"
- "${NGINX_HOST_HTTPS_PORT}:443"
depends_on:
- php-fpm
networks:
- frontend
- backend
專案目錄中 Laradock 內nginx
的配置檔案:
~/project/laradock/nginx/sites/default.conf
server { listen 80 ; listen [::]:80 ; server_name owell.test; root /var/www/public; index index.php index.html index.htm ;
Windows 主機內的hosts
配置檔案(如果是 Windows 本地安裝 Docker ) 的話:
127.0.0.1 owell.test
現根據已配置的檔案下載和安裝 Laradock 的相關映象和容器
進入laradock資料夾,安裝下列 Laradock 的基本容器,其中workspace
與php-fpm
是預設必須安裝的兩個容器,所以可以不寫出來。
% docker-compose up -d mysql nginx phpmyadmin
等待完成後會出現既代表安裝成功。
訪問 laradock.io 瞭解 Laradock 更多擴充套件容器與功能。
安裝 Laravel 專案
進入workspace
容器:
% docker-compose exec workspace bash
$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
$ composer create-project laravel/laravel owell --prefer-dist "6.*"
複製env-expmle
並修改專案中.env
檔案:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:zI3ecX0dcokWxRQ9S5TROasqaTB2ayjojmOv676PBt0=
APP_DEBUG=true
APP_URL=owell.test
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=owell_db
DB_USERNAME=owell
DB_PASSWORD=owell1
測試NGINX
是否配置併成功:
本地部署 Laradock :訪問owell.test
雲伺服器部署 Laradock :訪問該雲伺服器外網IP地址
測試MYSQL
是否配置併成功:
% docker-compose exec workspace bash
cd project/owell/
migrate
如成功則顯示
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
> y
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table