正在安装 gitlab,
有一个问题是这样的,
www.example.com -- 是主站 server,也是 rails git.example.com -- 我想定位到 gitlab/,其实是启动另一个 server。
nginx 中不知道怎么配置。
Nginx Server names AND Proxy Module
server { listen 80; server_name git.example.com; ... }
还有别忘了给二级域名指定服务器 ip
upstream appone { server 127.0.0.1:3000; } upstream apptwo { server 127.0.0.1:5000; } server { listen 80; location / { if ($host ~ 'sub1.domain.com') { proxy_pass http://appone; break; } if ($host ~ 'domain.com') { proxy_pass http://apptwo; break; } } }
我觉得你的意思是 upstream 的配置 这个是简单版的 复杂的过滤自己 google 下文档吧...
@zj0713001 @wppurking 补充:
如果 www.example.com, example.com 是 nginx 中配置。 而二级域名 gitlab.example.com 是 apache 服务器。
不知道有没有办法做
#3 楼 @zealinux nginx 和 apache 在一个服务器么?如果在同一个 哪个是 80?nginx 是 80 的话 把 apache 当成一个 rails 处理就好了 如果不在一个 IP 那就去域名商指定一下二级域名的 IP
@zealinux 你可以在 nginx 与 apache 中都拥有 xxx.example.com 的二级域名,他们只是你服务器上的接收端,你域名绑定了服务器的 ip 带上 http 1.1 的 host 头信息到达服务器的 80 端口,nginx 和 apache 都会按照 http 1.1 规范将请求处理到 host 匹配的虚拟 server 去。所以他们之间不冲突。
server
如果你要一台服务器跑 nginx 和 apache
就是和 @zj0713001 一个思路
https://github.com/gazeldx/mystory/wiki/Nginx