vagrant搭建lnmp 环境(环境contos7+php72w+mariaDB10.2)
Vagrant是一个简单易用的部署工具,能够快速的构建一个开发环境。
一、下载安装 VirtualBox
下载地址:VirtualBox
二、安装Vagrant
下载地址:Vagrant
三、BOX镜像
下载地址:http://www.vagrantbox.es/
本人自用box centos7系统未安装其他软件
下载地址 :链接:https://pan.baidu.com/s/1hvIK0WulWlxULwYEMtOskw 密码:lmgj
四、添加镜像
1.新建一个文件夹为工作目录并且打开
mkdir vagrant
cd vagrant
下载一个virtualbox镜像,也可以直接使用 vagrant box add {title} {url} (title 名称,url 地址)直接下载添加,国内镜像网址太慢,如果嫌慢可以下载我云盘的centos7BOX。
2.下载完后,将box添加到vagrant,如下:
vagrant box add centos7 ../centos7
3.初始化开发环境了vagrant init centos7 (centos7 为添加box 时的名字)
初始化完成后,目录下会生成一个Vagrantfile,这个是vagrant的配置文件,可以通过这个文件来对vagrant进行配置。
4.启动环境使用以下命令启动环境:vagrant up
终端会显示启动过程。这时候打开virtualbox,会有一个虚拟机正在运行。
5.登录系统启动完成后,如果是Linux用户,可以通过
vagrant SSH
6.打包分发
好了,接下来就可以到虚拟机中各种折腾,安装好开发环境进行开发了。
配置好开发环境后,退出并关闭虚拟机。开始对开发环境打包:
vagrant package
五、 配置详解
1.box设置
config.vm.box = "CentOs7"
该名称是再使用 vagrant init 中后面跟的名字。
2.hostname设置
config.vm.hostname = "for_work"
设置hostname非常重要,因为当我们有很多台虚拟服务器的时候,都是依靠hostname來做识别的。如果多台虚拟机,可以通过vagrant up hostname指定启动哪一台。
3.虚拟机网络设置
config.vm.network "private_network", ip: "192.168.33.10"
-虚拟私有ip
#config.vm.network "public_network"
--设置外网ip
4.同步目录设置
config.vm.synced_folder "/Users/helei/www", "/vagrant" --对应文件位置
/vagrant目录默认就是当前的开发目录,这是在虚拟机开启的时候默认挂载同步的。5.端口转发设置
config.vm.network :forwarded_port, guest: 80, host: 8080
--端口转发
把本地8080端口请求转发到虚拟机的80端口服务上,
六、vagrant 常用命令
vagrant init # 初始化
vagrant up # 启动虚拟机
vagrant halt # 关闭虚拟机
vagrant reload # 重启虚拟机
vagrant ssh # SSH 至虚拟机
vagrant suspend # 挂起虚拟机
vagrant resume # 唤醒虚拟机
vagrant status # 查看虚拟机运行状态
vagrant destroy # 销毁当前虚拟机
vagrant box list # 查看本地box列表
vagrant box add # 添加box到列表
vagrant box remove # 从box列表移除
这样就可以vagrant ssh 登录进去安装自己的环境了,当然如果是更新完vagrantfile 要执行重启命令 vagrant reload
然后可以执行安装lnmp 环境 我安装的是nginx + php7+mariaDb10.2 具体安装方法可查看https://www.cnblogs.com/muscles/p/9554468.html
安装完成后配置/etc/nginx/conf.d/default.conf
这样配置项目目录 我配置的是共享目录/var/www 配置好了直接就可以访问了
运行thinkphp5 会报runtime 没权限写入,但是你会发现你给了777 权限还是没有权限写入
修改 虚拟机 vim /etc/php-fpm.d/www.conf 文件 ,把user 和 group 改成vagrant