vagrant站点统一配置80端口

一直用vagrant + virtual box 环境开发,通过端口映射来通信,比如虚拟机 guest 的80端口映射宿主机 host 的8080端口,并且为不同的站点配置不同的端口,举例如下

有一个bbs的项目,我先在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项目

现在配置一个新的站点,又得重复这样的工作,在Vagrantfile配一条新的

config.vm.network "forwarded_port", guest: 81, host: 8081

为新站点配置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项目

每次都要在Vagrantfile加一条实在麻烦,而且我的虚拟机启动很慢,所以改用下面一劳永逸的办法,不需要修改Vagrantfile文件(但是要修改hosts)

为了不每次都打端口,把主机的端口也改成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

现在你就能直接通过 http://bbs.website.com 来访问bbs站点了

现在,添加一个站点new,这时候不再需要往Vagrantfile添加一行配置,添加nginx配置

listen 80;

root /var/www/new/public;
index index.php index.html index.htm;
# 这是new站点的server_name
server_name new.website.com;

然后同样在 hosts 文件添加一行

127.0.0.1 new.website.com

同样的道理,使用 http://new.website.com 来访问new站点

虽然这种做法每添加一个站点就要配置一条hosts,但是比修改Vagrantfile然后重启要强的多,而且不用在url上加上端口,host的名字也好记!

你可能感兴趣的:(vagrant站点统一配置80端口)