如何在nginx服务器上的不同位置托管多个html文件
我有两个index.html文件存在于两个不同的文件夹中。如何通过端口和基于位置的映射将我的nginx映射到这些不同的文件夹 我曾尝试在sites available文件夹中创建单个文件,并在如何在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
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
块。显示访问和错误日志中的相关条目。这很有帮助!!谢谢