问题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