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而报错,调试了一下午.
不对之处,欢迎拍砖。转载请注明原处。