首页 > 代码库 > Vagrant进阶:搭建简易Python,PHP开发环境

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:

total 8

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



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

[vagrant@localhost vagrant]$ ll -R

.:

total 0

drwxr-xr-x 1 vagrant vagrant 102 Apr 28 11:51 phpTest

drwxr-xr-x 1 vagrant vagrant 102 Apr 28 12:52 pythonTest


./phpTest:

total 4

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


./pythonTest:

total 4

-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,就可以看到,

Welcome to Python 


这样简易的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


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


Welcome to PHP

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

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



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


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