1. 项目环境

  vagrant + laradock  (因为 自己手动搭建环境太麻烦了 自己弄了一下 感觉还是有些漏洞 所以采用 laradock)

2. Vagrantfile

  备注 : box  ubuntu1604 (因为 网速太慢 自己下载之后再 add 的 网速不够可以 参考 ttps://c4ys.com/archives/1230 ) 可以改写为 ubuntu/xenial64 ( https://app.vagrantup.com/ubuntu/boxes/xenial64 )

# -*- mode: ruby -*-

# vi: set ft=ruby :

Vagrant.require_version ">= 1.6.0"

boxes = [

{

:name=>"docker-host",

:eth1=>"192.168.205.11",

:mem=>"3072",

:cpu=>"1",

:port=>"8888"

}

]

Vagrant.configure(2) do |config|

config.vm.box = "ubuntu1604"

boxes.each do |opts|

config.vm.define opts[:name] do |config|

config.vm.hostname = opts[:name]

config.vm.network "forwarded_port", guest: 80, host: opts[:port]

config.vm.provider "vmware_fusion" do |v|

v.vmx["memsize"] = opts[:mem]

v.vmx["numvcpus"] = opts[:cpu]

end

config.vm.provider "virtualbox" do |v|

v.customize ["modifyvm", :id, "--memory", opts[:mem]]

v.customize ["modifyvm", :id, "--cpus", opts[:cpu]]

end

config.vm.network :private_network, ip: opts[:eth1]

end

end

config.vm.synced_folder "./labs", "/home/ubuntu/labs"

config.vm.provision "shell", privileged: true, path: "./setup.sh"

end

3. 创建 labs

  mkdir labs

4. 编写 setup.sh

#setup.sh

# change apt-get source

sudo su

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

sudo tee >>/etc/apt/sources.list<<EOF

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties

deb http://mirrors.aliyun.com/ubuntu/ xenial universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse

deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties

deb http://archive.canonical.com/ubuntu xenial partner

deb-src http://archive.canonical.com/ubuntu xenial partner

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted

deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties

deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

EOF

sudo apt-get update

# install docker

sudo apt-get remove docker docker-engine docker.io

sudo apt-get update

sudo apt-get install -y \

linux-image-extra-$(uname -r) \

linux-image-extra-virtual

sudo apt-get install -y \

apt-transport-https \

ca-certificates \

curl \

software-properties-common

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository \

"deb [arch=amd64] https://download.docker.com/linux/ubuntu \

$(lsb_release -cs) \

stable"

sudo apt-get update

sudo apt-get install -y docker-ce

sudo docker version

# create docker user and auth

sudo groupadd docker

sudo usermod -aG docker ubuntu

sudo systemctl restart docker

# change docker source

mkdir /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://v2ltjwbg.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

sudo docker info

# install 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

sudo chmod +x /usr/local/bin/docker-compose

5. 启动 vagrant 并 进入 容器

  vagrant up

  vagrant ssh docker-host

6. 因 mac/windows 的 labs 挂载 到了 虚拟机的 /home/ubuntu/labs 下 , 所以 在 labs 目录下使用 mac/windows 的 git 复制 laradock 到本地

  在 labs 下 (git 请自行下载)

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

7. 在 laradock 下 部署 nginx + php-fpm + rabbitmq + elasticseach + redis 的 环境

  cp env-example .env

  docker-compose up -d elasticsearch mysql rabbitmq nginx php-fpm redis

  注意  如果 elasticseach 报错

    max virtual memory areas vm.maxmapcount [65530] is too low

  请在 虚拟机 上运行

    sudo sysctl -w vm.max_map_count=262144

  然后重新 build elasticseach  即可

    docker-compose build elasticsearch

    docker-compose restart elasticsearch

8. 查看各个项目 启动情况

  docker-compose ps

9. 部署项目

  想一个域名  (eg : laravel-demo.com) 配置到 host 文件  保存退出

    sudo vim /etc/host (mac host , window 的话自己查一下咯)

    192.168.205.11  laravel-demo.com

  在 labs 下 创建 一个 laravel 5.5 的项目

    # 全局 安装 composer (php 的话 自己解决一下)

    # curl --silent -o /tmp/composer-setup.php https://getcomposer.org/installer

    # php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

    composer create-project --prefer-dist laravel/laravel=5.5.* laravel

  在 laradock 下 nginx  下 sites 复制 default.conf 一个 相同的 conf 做 稍许修改 (eg: laravel-demo.conf)

server {

listen 80;

listen [::]:80;

# For https

# listen 443 ssl default_server;

# listen [::]:443 ssl default_server ipv6only=on;

# ssl_certificate /etc/nginx/ssl/default.crt;

# ssl_certificate_key /etc/nginx/ssl/default.key;

server_name laravel-demo.com;

root /var/www/laravel-demo/public;

index index.php index.html index.htm;

location / {

try_files $uri $uri/ /index.php$is_args$args;

}

location ~ \.php$ {

try_files $uri /index.php =404;

fastcgi_pass php-upstream;

fastcgi_index index.php;

fastcgi_buffers 16 16k;

fastcgi_buffer_size 32k;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

#fixes timeouts

fastcgi_read_timeout 600;

include fastcgi_params;

}

location ~ /\.ht {

deny all;

}

location /.well-known/acme-challenge/ {

root /var/www/letsencrypt/;

log_not_found off;

}

}

  重新 build nginx

    docker-compose build nginx

    docker-compose restart nginx

10 访问部署网站

  laravel-demo.com

1. laravel 学习 环境搭建的更多相关文章

  1. Laravel 开发环境搭建 - Windows

    Laravel 开发环境搭建 - Windows  :   https://laravel-china.org/docs/laravel-development-environment/5.5/dev ...

  2. 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

    目录 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0 Reference 硬件说明: 软件准备: 1. 安装Ubuntu ...

  3. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  4. Linux学习环境搭建流程

    Linux学习环境搭建 Vmware安装 VMware下载:https://www.vmware.com/go/getworkstation-win 运行安装程序,该重启安装驱动就重启,不需要就下一步 ...

  5. VS2013中Python学习环境搭建

    VS2013中Python学习笔记[环境搭建] 前言 Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python的设计具有很强的可读性,相比其他语言经常使用英文关键字, ...

  6. 《UNIX网络编程 卷1》之"学习环境搭建"(CentOS 7)

    <UNIX网络编程 卷1>的源码可以从www.unpbook.com下载得到.解压之后的目录为unpv13e. 详细步骤 编译 进入unpv13e目录,按如下步骤编译: ./configu ...

  7. [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

    这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...

  8. 大数据学习环境搭建(CentOS6.9+Hadoop2.7.3+Hive1.2.1+Hbase1.3.1+Spark2.1.1)

    node1 192.168.1.11 node2 192.168.1.12 node3 192.168.1.13 备注 NameNode Hadoop Y Y 高可用 DateNode Y Y Y R ...

  9. Python学习环境搭建——VMware,Ubuntu,Anaconda,Pycharm

    1.安装VMware虚拟机,版本是14.1.2(含注册码) 链接:https://pan.baidu.com/s/1ffNLONDjEMYDAenE36gRpA 密码:yazx 注:我的电脑分辨率较高 ...

随机推荐

  1. Asp.net MVC中ReturnUrl的使用

    1.控制器(Controller)[HttpPost][ValidateInput(false)]public ActionResult Add(Article article,string retu ...

  2. Windows下C++遍历文件夹中的文件

    Windows下,在VS中开发,C++遍历文件夹下文件. 在Windows下,遍历文件所用到的函数和结构体,需要在程序中包含头文件#include <io.h>,在VS中,头文件io.h实 ...

  3. 137-PHP static修饰的类属性

    <?php class test{ //定义一个类 public static $num=0; //定义static修饰的类属性 public function __construct(){ / ...

  4. Tomcat JDK MySql 安装配置

    Tomcat 7绿色版指定jdk并注册服务  https://blog.csdn.net/weixin_43976019/article/details/89386171   例如:service.b ...

  5. java菜鸟第一天

  6. P1036 跟奥巴马一起编程

    转跳点:

  7. 每天一点点之 taro 框架开发 - 事件处理与样式表

    1.方法调用 state = { name:'张三' } test(){ this.state.name } <button onClick={ this.test.bind(this) } / ...

  8. Rancher第一款Kubernetes操作系统推出

    Rancher实验室推出了业界首款针对Kubernetes的轻量级操作系统k3OS.它具有极低的资源消耗,最小的操作和二级引导,极大地简化了低资源计算环境. Kubernetes操作,提高Kubern ...

  9. c++ opencv 数学函数示例

    // ConsoleApplication11.cpp : Defines the entry point for the console application. // #include " ...

  10. gentoo 修改键盘映射

    gentoo 上面修改键盘映射分为两种,一种是终端环境,一种是X环境. 终端环境 https://www.emacswiki.org/emacs/MovingTheCtrlKey https://wi ...