php - 如何在同一台主机上配置多个80端口的服务?

查看:112
本文介绍了php - 如何在同一台主机上配置多个80端口的服务?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

问题1.要想使用 http://ip:80/path?getarg=xxx 方式访问WEB服务时,只需要配置监听80端口就行了?比如假设服务A:
server {

listen 80 ;
location /xxxx{
    proxy_pass http://xxxx.com;
    include proxy.conf;
    access_log /data1/logs/nginx/xxxxx-access_log main;
    error_log /data1/logs/nginx/xxxxx-error_log;
}
...

}

问题二:如果我有多个项目配置80端口,那使用ip:80方式访问到哪个服务?
每个项目配置文件独立的,即server部分独立,然后用include方式加载到nginx.conf文件里的。比如服务B:
server {

listen 80 ;
location /xxxx2{
    proxy_pass http://xxxx2.com;
    include proxy.conf;
    access_log /data1/logs/nginx/xxxx2x-access_log main;
    error_log /data1/logs/nginx/xxxxx2-error_log;
}
...

}
我记得在nginx重启时会报80端口已被占用的,也就是拒绝nclude后面那个文件,现在发现没有这提示能重启成功了。既然能重启表示两个服务起来了,那如果我使用http://ip:80/path?getarg=xxx 方式访问,会访问到服务A 还是服务B ?假设severA serverB都有相同的location 匹配。

解决方案

端口在系统中是唯一的 http://IP:端口 IP就如同大楼 端口如果门牌号

所以可以肯定问题的答案: 同一台主机上不能配置多个80端口的服务, 一个端口只能对应一系统上的一个服务.

如果你是想运行多个WEB项目的话,可以通过虚拟主机来解决

A项目 => a.xxx.com

B项目 => b.xxx.com

这篇关于php - 如何在同一台主机上配置多个80端口的服务?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆