如何在nginx中的不同IP上定义两个服务器?

alf*_*ish 3 nginx virtualhost

问题是:我有两个域指向服务器上的两个可用 IP。说:

siteone.com 指向 1.2.3.4 sitetwo.com 指向 1.2.3.5

我为配置 nginx vhosts 所做的是放置

server {
        listen    site1.com:80; # 
        server_name   site1.com www.site1.com;
Run Code Online (Sandbox Code Playgroud)

在 vhost1 文件和

server {
        listen    site2.com:80; # 
        server_name   site2.com www.site2.com;
Run Code Online (Sandbox Code Playgroud)

在(单独的)vhost2 文件上。当然,这两个 vhost 文件是精确复制的,除了 site1 和 site2 路径。vhost1 本身运行良好。

但是,在重新启动 nginx 后,我收到此错误:

重启nginx:配置文件/etc/nginx/nginx.conf语法没问题【emerg】:bind() to 1.2.3.5:80 failed (99: Cannot assign requested address) 配置文件/etc/nginx/nginx.conf test失败的

当我放

server {
        listen   *:80; # 
        server_name   site2.com www.site2.com;
Run Code Online (Sandbox Code Playgroud)

在站点 2 虚拟主机上,nginx 重新启动没有错误,但不会在站点 2 路径上呈现页面。

我很困惑,感谢您的帮助。

qua*_*nta 7

尝试这个:

server {
    listen    1.2.3.4:80; # 
    server_name   site1.com www.site1.com;
    ...
}

server {
    listen    1.2.3.5:80; # 
    server_name   site2.com www.site2.com;
    ...
}
Run Code Online (Sandbox Code Playgroud)