天天看點

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而報錯,調試了一下午.

不對之處,歡迎拍磚。轉載請注明原處。