Vagrant 打造 PHP7 开发环境

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

引言

PHP7 已经出来有一整子了,听说速度明显有提升,而且 Yii2 又全面兼容 PHP7,那么为何不试试呢?

所以Vagrant 打造 PHP7 开发环境 这个项目就诞生了。

包括以下环境和软件:

  • Nginx 1.4.6
  • Mysql 5.5.46(mysql -V)
  • PHP 7.0.8-3
  • git
  • autojump
  • composer
  • vim

Box地址

链接: http://pan.baidu.com/s/1nt1hDMD 密码: ckg4

如何搭建

下载 ubuntu_trusty_64.box, 执行以下命令添加刚才下载好的 box 到 Box list:

// cd 下载 box 目录
// vagrant box add 名称 路径
vagrant box add trusty64 ubuntu_trusty_64.box

vagrant box list // 查看
mkdir ubuntu // 创建文件夹
git clone https://github.com/forecho/vagrant-ubuntu-php7.git php7
cd php7
vagrant init // 初始化

然后启动 vagrant

vagrant up

最后你可以愉快的时候 Xshell 工具 SSH 连接了。

IP:192.168.33.10
端口:22
用户名:vagrant
密码:vagrant

连接之后切换 root 用户:

sudo su // 不需要输入密码

关于 nginx 的使用

默认这个 box 我已经配置好 LNMP 环境了。PHP 的项目直接放在当前文件夹的 php 文件夹内就可以了。(默认配置的是 php 文件夹,如果要换其他文件夹,请自行修改 nginx 的 dev.conf 文件的配置)

示例:

根目录
	|--php
		|--cai
			|--zheng
				|--hai
		|--getyii
			|--frontend
				|--web

默认我使用的是 *.dev.com 作为域名。

只要在本机(一般是 Windows 系统)的 hosts 文件,添加一下代码:

……
192.168.33.10	cai.dev.com
192.168.33.10	cai-zheng-hai.dev.com
192.168.33.10	getyii-frontend-web.dev.com
……

注意

  • 因为是虚拟机,所以添加 hosts 这一步是必须的。
  • 域名只做了三层解析,太多层觉得没必要。也就是说URL cai-zheng-hai-open.dev.com 默认是不行的。
  • Windows 可以使用 Acrylic 软件让 host 支持通配符解析,参考文章:支持通配符和正则表达式的hosts文件(本地dns缓存及代理)
  • Mac 可以使用 Dnsmasq 软件让 host 支持通配符解析,参考文章:Mac OSX 安装 Dnsmasq 来加速网络

关于MySQL

默认用户名:root

默认密码:root

关于一些常用的命令

PHP-FPM

  • 重启
    sudo service php7.0-fpm restart
    
  • PHP 配置文件位置:/etc/php/7.0/fpm/php.ini
  • 查看 phpinfo() -> http://test.dev.com/

Nginx

  • 重启

    sudo service nginx restart
    
  • 修改虚拟空间配置文件:

    sudo vim /etc/nginx/conf.d/default.conf
    

MySQL

  • 重启
    sudo service mysql restart
    

常见问题

Mac 下使用虚拟机,运行项目的时候提示 「Permission denied」没有权限问题?

这个是因为 Nginx 、PHP 和 项目文件夹用户组不一致导致的问题,解决办法是:

修改 nginx 用户组:

$ sudo vim /etc/nginx/nginx.conf
# 修改为 vagrant
# user  www-data;
user  vagrant;

修改 PHP 用户组:

$ sudo vim /etc/php/7.0/fpm/pool.d/www.conf
; 修改用户为nginx
; user = www-data
user = vagrant
; 修改组为 vagrant
; group = www-data
group = vagrant


; listen.owner = www-data
; listen.group = www-data

listen.owner = vagrant
listen.group = vagrant

然后重启 Nginx 和 PHP

$ sudo service nginx restart
$ sudo service php7.0-fpm restart

转载于:https://my.oschina.net/u/2552765/blog/809004

你可能感兴趣的:(Vagrant 打造 PHP7 开发环境)