我想要一个 nginx 服务器在同一个域上托管 Web 应用程序,但路径不同。例如,http://example.org/booksapp/signin.html应该指向第一个应用程序,而http://example.org/shoesapp/signin.html应该指向第二个应用程序
在我的主机中,我有两个文件夹,每个应用程序一个:/var/webfolder/booksapp 和 /var/webfolder/shoesapp
我的nginx配置如下
server {
server_name example.org;
index index.html index.htm;
location /foodapp {
root /var/webfolder;
try_files $uri $uri/ =404;
}
location /shoesapp {
root /var/webfolder;
try_files $uri $uri/ =404;
}
listen [::]:80;
listen 80;
}
此配置不起作用。我的浏览器在尝试加载任一 Web 应用程序时只显示一个空白页面。同时,nginx 日志文件显示应用程序尝试加载的每个资源的 404 列表。
我究竟做错了什么?
您必须更改 html 文件才能使用正确的路径。
您的“booksapp”位于example.org/booksap/
,html 页面必须使用相同的路径加载任何静态资源。
这是示例 html 文件的头部部分。如果您将它部署到您的任何站点,它将无法工作,除非您指定正确的路径,否则 nginx 找不到“normalize.css”和“styles.css”。现在 nginx 充当两个应用程序之间的路由器,您不能只要求一个文件,您必须指定哪个应用程序。
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="content-type">
<title>sakura demo</title>
<link href="normalize.css" rel="stylesheet" type="text/css">
<link href="styles.css" rel="stylesheet" type="text/css" media="all">
</head>
它应该是:
<link href="booksap/normalize.css" rel="stylesheet" type="text/css">
<link href="booksap/styles.css" rel="stylesheet" type="text/css" media="all">
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句