美文网首页vagrant
vagrant站点统一配置80端口

vagrant站点统一配置80端口

作者: 一阵风fly | 来源:发表于2017-03-13 15:20 被阅读821次

    一直用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端口

        本文链接:https://www.haomeiwen.com/subject/kvofnttx.html