天天看点

Vagrant进阶:搭建简易Python,PHP开发环境

至于怎么安装vagrant,python,php,本文就不讲解了。

本文主要讲解以本地作为开发环境,写完代码能直接自动同步到虚拟机(测试环境),提高测试开发效率。

其中为了测试方便,python和php都用内置的web server,而不搭建nginx或者apache。

用python和php的内置web server的做法只适合开发测试环境,不适合生产环境。

1.首先需要对vagrant环境进行配置。编辑vagrant文件,如下,去掉注释。

config.vm.network :forwarded_port, guest: 3000, host: 8080

这样就可以通过宿主机8080端口访问到虚拟机上得3000端口。这步解决了在本地进行访问测试。而不需要跑到虚拟机里测试。

2.本地代码怎么自动同步到测试环境,同样修改vagrant文件。如下。

 config.vm.synced_folder "./data", "/vagrant"

其中第一个参数是宿主机文件夹,存放本地代码,第二个参数是虚拟机对应的目录,当本地data目录有更新时,vagrant目录就会同步。是不是很方便啊。

宿主机data目录结构如下:

localhost:data angel$ ll -r

total 0

drwxr-xr-x  3 angel  staff  102  4 28 18:51 phptest

drwxr-xr-x  3 angel  staff  102  4 28 19:52 pythontest

./phptest:

total 8

-rw-r--r--  1 angel  staff  192  4 28 18:51 router.php

./pythontest:

-rw-r--r--  1 angel  staff  88  4 28 19:36 index.html

虚拟机上vagrnt上的目录结构如下:

[vagrant@localhost vagrant]$ ll -r

.:

drwxr-xr-x 1 vagrant vagrant 102 apr 28 11:51 phptest

drwxr-xr-x 1 vagrant vagrant 102 apr 28 12:52 pythontest

total 4

-rw-r--r-- 1 vagrant vagrant 192 apr 28 11:51 router.php

-rw-r--r-- 1 vagrant vagrant 88 apr 28 12:36 index.html

发现没有,是不是一模一样啊,全自动的哦, 是不是很方便啊。

3.启动python自带web server

在虚拟机上的pythontest目录启动如下命令:

[vagrant@localhost pythontest]$ python -m simplehttpserver 3000

serving http on 0.0.0.0 port 3000 ...

在宿主机浏览器上输入http://localhost:8080,就可以看到,

这样简易的python环境就搭建好了。

4.启动php自带的web server

在虚拟机上得phptest目录下启动如下命令

[vagrant@localhost phptest]$ php -s 0.0.0.0:3000 router.php

php 5.5.11 development server started at mon apr 28 13:37:19 2014

listening on http://0.0.0.0:3000

document root is /vagrant/phptest

这样简易的php环境就搭建好了。

看官注意了,php启动内置web server,想要远程访问,host必须是 0.0.0.0, 本人就因为开始用localhost而报错,调试了一下午.

不对之处,欢迎拍砖。转载请注明原处。