laravel 学习指南 第一章 & 第二章

  • TOC
    {:toc}

laravel 5 学习指南

1.部署Laravel Homestead

1.1. 必要软件安装

软件 下载地址
vagrant 地址
virtualbox 地址
git 地址

composer 在虚拟机中有提供,但为了能正常安装laravel需要自备梯子

Laravel 官方指南地址

1.2.下载Laravel Homestead虚拟机文件

Git Bash中输入命令

$ vagrant box add laravel/homestead        //安装Laravel Homestead

随后会要求选择使用的虚拟机。virtualbox为1 ,Vmware 为2 。

注意:如果使用VMware需要购买vagrant的插件。

确认后,开始下载。

注意:需要梯子

1.3. 安装Laravel Homestead

下载完成后,需要使用git,克隆Laravel Homestead的安装设置文件。

切换到想要建立项目的目录,使用克隆命令。

$ git clone https://github.com/laravel/homestead.git Homestead

1.4. 设置Laravel Homestead

首先需要有SSH密钥,如果没有使用下方命令创建

$ ssh-keygen

克隆完整后,载入Laravel Homestead设置文件。

$ bash init.sh   //载入 Laravel Homestead 设置文件

之后设置文件映射,

C:\Windows\System32\drivers\etc\hosts 负责DNS的文件

C:\Users\Keleven\.homestead\Homestead.yaml 负责Laravel Homestead设置的文件

Homestead.yaml修改

ip: "192.168.20.10"        //映射的ip地址
memory: 2048            //虚拟机内存大小
cpus: 1                    //虚拟机CUP数量
provider: virtualbox    //虚拟机供应商

authorize: ~/.ssh/id_rsa.pub   //SSH 公钥地址

keys:                            
    - ~/.ssh/id_rsa                //SSH 私钥地址

folders:                            //项目的主文件夹
    - map: J:\laravel\web  # pc          //PC端 文件地址
      to: /home/vagrant/webCode  #vbox    //Vbox端 地址 

sites:
    - map: web.app                               //网站名称
      to: /home/vagrant/webCode/web/public       //laravel 入口
    - map: back.app                                 //网站名称
      to: /home/vagrant/webCode/back/public      //laravel 入口
databases:                                       // web数据库名称
    - webdb

hosts中添加

192.168.20.10 web.app
192.168.20.10 back.app

注意:IP:地址用没有使用的IP段

1.5.运行Laravel Homestead

在克隆的的Homestead目录下。启动虚拟机。

不要再Vbox中启动,不要再Vbox中启动,不要再Vbox中启动。

$ vagrant up 

加载完成会就可以使用了,使用下方命令与虚拟机建立SSH链接。

$ vagrant ssh

进去虚拟机的第一件事,解除Composer的xdebug模式,否则严重影响下载包的速度。

解除方法:

找到/etc/php/7.0/mods-available/下的xdebug.ini打开后加注释。

$ sudo nano /etc/php/7.0/mods-available/xdebug.ini  // 使用nano编辑xdebug.ini文件

zend_extension=xdebug.so前方加;

sudo nano /etc/php/5.6/mods-available/下的xdebug.ini进行同样操作。

sudo nano /etc/php/5.6/mods-available/xdebug.ini

1.6.安装laravel到目录

安装目录在Homestead.yaml设置过,本地目录与虚拟机的目录是共享的。

即安装完成后,可以直接修改本地目录中的文件。

使用Git Bash进入项目目录。使用composer安装laravel

$ composer create-project --prefer-dist laravel/laravel [blog]

[blog]可以是任意的项目名称。

注意:项目名称要与Homestead.yaml中设置对应

安装完成后,在浏览器中输入web.app,就可以看到laravel在正常运行了。

1.7. 关机

先使用exit推出SSH链接。

在关闭虚拟机:

$ vagrant halt

2. 正常安装Laravel

在ubuntu desktop环境下安装。

安装nginx + php7 + mysql + redis


2.1 安装nginx

$ sudo apt-get update
$ sudo apt-get install nginx

显示防护墙列表

$ sudo ufw app list

结果如下

可用应用程序:
  CUPS
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  • Nginx Full: This profile opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)
  • Nginx HTTP: This profile opens only port 80 (normal, unencrypted web traffic)
  • Nginx HTTPS: This profile opens only port 443 (TLS/SSL encrypted traffic)

设置防火墙规则

$ sudo ufw allow 'Nginx Full'

查看防火墙状态

$ sudo ufw status

网站目录在var/www/html

根据情况修改/etc/nginx/nginx.conf中的keepalive_timeout值。


2.2 安装php7.0-fpm

参考地址

$ sudo apt-get install php7.0-fpm

现在还不能访问.php文件,要进行如下设置:

$ sudo nano /etc/nginx/sites-available/default
  • server_name _ 服务器名,可以不填。

  • root /var/www/html 网站目录地址。可以手动修改。

    增加index.php

  • location ~ \.php$php支持,需要解除注释。

    fastcgi_pass 127.0.0.1:9000;fastcgi_pass unix:/run/php/php7.0-fpm.sock;选一个否则冲突。

之后重新读取nginx设置,

$ sudo service nginx reload

修改/etc/php/7.0/fpm/php.ini

$ sudo nano /etc/php/7.0/fpm/php.ini

设置 cgi.fix_pathinfo=1

重启php7.0-fpm服务

$ sudo service php7.0-fpm reload

网站目录下建立任意.php文件测试。

文件内容如下

1
2
3
<?php
phpinfo();
?>

随后输入127.0.0.1/[文件名].php

通过命令定位php7.0的其他包:

$ sudo apt-cache search php7.0

选择安装的如下:

$ sudo apt-get install php7.0-cli php7.0-common php7.0 php7.0-mysql php7.0-curl php7.0-gd php7.0-bz2 php7.0-mcrypt php7.0-zip php7.0-mbstring php7.0-xml

其他让php7.0使用TCP连接

修改文件/etc/php/7.0/fpm/pool.d/www.conf/etc/nginx/sites-available/default

/etc/php/7.0/fpm/pool.d/www.conf文件

;listen = /var/run/php5-fpm.sock       //注释掉
listen = 127.0.0.1:9000                    // 增加

/etc/nginx/sites-available/default文件

[...]
        location ~ \.php$ {
 include snippets/fastcgi-php.conf;

 # With php7.0-cgi alone:
 fastcgi_pass 127.0.0.1:9000;
 # With php7.0-fpm:
 # fastcgi_pass unix:/run/php/php7.0-fpm.sock;
 }
[...]

重新读取nginx

service nginx reload

2.3 安装MySql

$ sudo apt-get install mysql-server-5.7 php7.0-mysql

2.4 安装composer

下载地址

随后会得到一个composer.phar文件,可以直接放入任意目录,终端输入composer使用。

当然为了方便可以设置为全局可以用。

$ sudo mv composer.phar /usr/local/bin/composer
$ sudo chmod +x /usr/local/bin/composer

2.5 安装laravel 5

文档地址

2.5.1 方法1

$ composer create-project --prefer-dist laravel/laravel [blog]

[blog]可以为项目名

2.5.2 方法2

需要使用bashzsh测试无效

$ composer global require "laravel/installer"

$ export PATH="~/.config/composer/vendor/bin:$PATH"

进入想要创建项目的目录

$ laravel new [blog]

[blog]可以为项目名

注意:需要梯子!需要梯子!需要梯子!