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

How can I host multiple html files present in different locations on nginx server

我在 2 个不同的文件夹中有 2 个 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 指令。有关详细信息,请参阅 this document

例如:

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

URL http://<ip_address>/ex1http://<ip_address>/ex2 将由相同的 server 块处理,侦听端口 80。

您将需要使用 alias 指令而不是 root 指令,因为本地文件的路径不能通过简单地将某些值与 URI 连接来创建。

例如:

server {
    listen 80;

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

请注意,location 值和 alias 值都应该有尾随 /,或者两者都没有尾随 /。有关详细信息,请参阅 this document