基于 Laradock 环境 Project 的总结

基于 Laradock 环境 Project 的总结
 
 

本地 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 端口需要在云服务器上放通。最后登录即可:

基于 Laradock 环境 Project 的总结
 

 

 

安装 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 环境 Project 的总结
 

 

 

现根据已配置的文件下载和安装 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
本作品采用《CC 协议》,转载必须注明作者和本文链接

posted on 2020-07-23 13:15  刘应杰  阅读(378)  评论(0编辑  收藏  举报

导航