如何在nginx服务器上的不同位置托管多个html文件

如何在nginx服务器上的不同位置托管多个html文件,nginx,webserver,web-hosting,Nginx,Webserver,Web Hosting,我有两个index.html文件存在于两个不同的文件夹中。如何通过端口和基于位置的映射将我的nginx映射到这些不同的文件夹 我曾尝试在sites available文件夹中创建单个文件,并在location/{下映射它们的目录,但没有成功 我有: 2个html文件位于 /var/www/ex1.com/index.html /var/www/ex2.com/index.html 我想做的是: ip:8080 ex1/index.html gets rendered ip:8081 ex2

我有两个index.html文件存在于两个不同的文件夹中。如何通过端口和基于位置的映射将我的nginx映射到这些不同的文件夹

我曾尝试在sites available文件夹中创建单个文件,并在
location/{
下映射它们的目录,但没有成功

我有:

2个html文件位于

/var/www/ex1.com/index.html

/var/www/ex2.com/index.html
我想做的是:

ip:8080 ex1/index.html gets rendered

ip:8081 ex2/index.html gets rendered
我怎样才能做到这一点呢

ip/ex1 goes to ex1/index.html

ip/ex2 goes to ex2/index.html

要将Nginx服务器配置为侦听特定端口,请使用
listen
指令。有关详细信息,请参阅

例如:

server {
    listen 8080;
    root /var/www/ex1.com;
}
server {
    listen 8081;
    root /var/www/ex2.com;
}
server {
    listen 80;

    location /ex1 {
        alias /var/www/ex1.com;
    }
    location /ex2 {
        alias /var/www/ex2.com;
    }
}

URL
http:///ex1
http:///ex2
将由监听端口80的同一
服务器处理

您需要使用
alias
指令而不是
root
指令,因为无法通过简单地将某个值与URI串联来创建本地文件的路径

例如:

server {
    listen 8080;
    root /var/www/ex1.com;
}
server {
    listen 8081;
    root /var/www/ex2.com;
}
server {
    listen 80;

    location /ex1 {
        alias /var/www/ex1.com;
    }
    location /ex2 {
        alias /var/www/ex2.com;
    }
}

请注意,
位置
值和
别名
值都应该有一个尾随
/
,或者两者都没有尾随
/
。有关详细信息,请参阅。

这些文件的URI是什么?@RichardSmith为了更好地理解,我重新构造了我的问题。您需要三个服务器,每个服务器都在不同的p上侦听ort:80、8080和8081。这需要三个
server
块,在同一个文件或单独的文件中(没有区别)。您尝试过什么?我尝试过使用location/{在服务器中选择并在其服务器块文件中写入listen 8080和listen 8081请编辑您的问题并添加完整的
server
块。显示访问和错误日志中的相关条目。这很有帮助!!谢谢