目的:配置Linux+Nginx+Mysql+PHP
环境。这里是一种最简单的配置方式。
首先明白VirtualBox,Vagrant,xenial64.box之间的关系:
VirtualBox好比是一台电脑,这台电脑上可以同时有多种系统,即一个个.box,这里的xenial64.box是基于linux的ubuntun系统的一种版本,也就是一种Linux系统,vagrant是管理一个个包的工具。
1.安装VirtualBox
下载地址:VirtualBox。我自己用了VirtualBox的版本是V5.2
,这一版本较稳定。
2.安装Vagrant
下载地址:Vagrant
我安装时用了Vagrant2.0.1的版本。
3.下载linux的镜像
这里提供xenial64,即ubuntu16.0.4版本,它默认的PHP版本是7.0.2。
4.安装Cmder(集成Vim编辑器)
我的电脑是win7,由于Windows终端,即dos命令行,它不支持ssh,所以安装了Cmder。
5.在自己电脑D盘创建文件夹dev/yytest,将xenial64.box放在该目录下。
6.win+R,输入cmder,打开Cmder,切换到D:dev/yytest(d: 直接进入)
7.敲入:vagrant init lnmp xenial64.box,对box进行初始化,并起个别名叫lnmp 此时yytest目录下多了一个vagrantfile这么个文件
8.进入D:/dev/yytest,用编辑器sublime打开vagrantfile并且对它进行编辑。
9.编辑两处如下:
第一处提供外部可访问的IP# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network "private_network", ip: "192.168.33.101"
第二处表明本地的共享目录和VirtualBox里的对应目录:
Share an additional folder to the guest VM. The first argument is the path on the host to the actual folder. The second argument is
the path on the guest to mount the folder. And the optional third
argument is a set of non-required options.
config.vm.synced_folder"D:/workspacetest","/home/ubuntu/workspacetest"
这里的D:/workspacetest要自己额外创建好。/home/ubuntu/workspacetest,只要在这里写好,VirtualBox被启动时,ubuntun里该目录就会被创建。
10.vagrant up 启动虚拟机
。
11. vagrant ssh 进入虚拟机,此时便进入ubuntu系统中了,可用exit,退出ubuntu系统
。
12.更新源
sudo apt-get update
(注意:apt-get用于更新,安装,删除包的操作)
13.安装所需要的软件(在该过程安装了php基础软件,命令行操作扩展,数据库扩展mysql,图片库gd以及fpm相当于windows上的fastcgi,同时安装了ngnix和mysql,该过程会让你设置mysql的密码)
sudo apt-get install php7.0-common php7.0-cli php7.0-mysql php7.0-gd php7.0-fpm nginx mysql-server-5.7
14.配置Nginx
sudo vim /etc/nginx/conf.d/test.yueyun.com.conf
注意nginx的配置文件默认在etc这个文件下
上面截图来自etc/nginx/nginx.conf
server {
listen 80;
server_name test.yueyun.com;#这里很重要
index index.php;#这个由本机共享目录下的.index决定
root /home/ubuntu/workspacetest/public; # 这里是ubuntu下的路径,public目录是你共享目录创建该文件时,ubuntu对应的目录/home/ubuntu/workspacetest会自动有该目录
location ~ \.git {
return 500;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; # 若没有.sock,请更换成127.0.0.1:9000
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
15.shift+:==>:wq保存配置文件并退出该文件
16.ngnix -t进行nginx的语法检测,没有问题进入下一步
17.重载nginx,sudo service nginx reload
18.找到本机的hosts文件
一般是C:\Windows\System32\drivers\etc\hosts
编辑如下:
192.168.33.101 test.yueyun.com
第9步中的给外网提供的IP 第14步Nginx提供的server_name
19.在D:/workspacetest里创建文件下public,创建index.php文件,敲入
phpinfo();
出现环境LNMP配置成功
vagrant常用命令:
vagrant init # 初始化
vagrant up # 启动虚拟机
vagrant halt # 关闭虚拟机
vagrant reload # 重启虚拟机
vagrant ssh # SSH 至虚拟机
vagrant status # 查看虚拟机运行状态
vagrant destroy # 销毁当前虚拟机
注意以下常用操作:
1.vim 某文件 可以打开该文件并且可以编辑,如果没有该文件则创建同名文件
2.敲击键盘 i键 ,进入insert状态。esc则退出编辑状态,灵活:wq(保存并推出), :q(不保存直接退出), :q!(删除编辑内容并且强制退出)
3.当无权限操作时,记得sudo
4.cat 某文件 用于查看某文件