一直用vagrant + virtual box 環(huán)境開發(fā)芜壁,通過端口映射來通信吭产,比如虛擬機(jī) guest
的80端口映射宿主機(jī) host
的8080端口判帮,并且為不同的站點(diǎn)配置不同的端口袱饭,舉例如下
有一個bbs的項(xiàng)目雌桑,我先在vagrant的Vagrantfile添加一行
config.vm.network "forwarded_port", guest: 80, host: 8080
然后在nginx配置(具體配置步驟不展開)
listen 80;
root /var/www/bbs/public;
index index.php index.html index.htm;
server_name 127.0.0.1;
然后在本地訪問 http://127.0.0.1:8080
來訪問bbs項(xiàng)目
現(xiàn)在配置一個新的站點(diǎn),又得重復(fù)這樣的工作务荆,在Vagrantfile配一條新的
config.vm.network "forwarded_port", guest: 81, host: 8081
為新站點(diǎn)配置nginx
listen 81;
root /var/www/new/public;
index index.php index.html index.htm;
server_name 127.0.0.1;
然后在本地訪問 http://127.0.0.1:8081
來訪問new項(xiàng)目
每次都要在Vagrantfile加一條實(shí)在麻煩妆距,而且我的虛擬機(jī)啟動很慢,所以改用下面一勞永逸的辦法函匕,不需要修改Vagrantfile文件(但是要修改hosts)
為了不每次都打端口娱据,把主機(jī)的端口也改成80,修改Vagrantfile
config.vm.network "forwarded_port", guest: 80, host: 80
得確保你本地的80端口不被其他程序占用盅惜,然后來到nginx
listen 80;
root /var/www/bbs/public;
index index.php index.html index.htm;
# 這里起一個server_name中剩,名字隨意,最好有意義
server_name bbs.website.com;
然后修改 hosts
文件(目錄:C:\Windows\System32\drivers\etc
)文末添加一行
127.0.0.1 bbs.website.com
現(xiàn)在你就能直接通過 http://bbs.website.com
來訪問bbs站點(diǎn)了
現(xiàn)在酷窥,添加一個站點(diǎn)new,這時(shí)候不再需要往Vagrantfile添加一行配置伴网,添加nginx配置
listen 80;
root /var/www/new/public;
index index.php index.html index.htm;
# 這是new站點(diǎn)的server_name
server_name new.website.com;
然后同樣在 hosts
文件添加一行
127.0.0.1 new.website.com
同樣的道理蓬推,使用 http://new.website.com
來訪問new站點(diǎn)
雖然這種做法每添加一個站點(diǎn)就要配置一條hosts,但是比修改Vagrantfile然后重啟要強(qiáng)的多澡腾,而且不用在url上加上端口沸伏,host的名字也好記糕珊!