我昨天和今天花了一整天时间学习 nginx 的工作原理,我有两个不同的域在工作,一个使用 Ghost 博客平台和一个静态页面( future 的 NodeJS 应用程序),现在我正在尝试设置子域,但是我有点沮丧,因为我觉得我快到了,但它不起作用……这是我当前的设置:
#Main Domain
server {
listen 80;
listen [::]:80;
server_name example.com;
root /var/www/portfolio;
index index.html;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
# proxy_pass http://127.0.0.1:2222;
}
location ~ /.well-known {
allow all;
}
client_max_body_size 50m;
}
#Sub domain
server {
listen 80;
listen [::]:80;
server_name example.com/blog;
root /var/www/ghost/system/nginx-root;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:2368;
}
location ~ /.well-known {
allow all;
}
client_max_body_size 50m;
}
我的想法是创建 mysite.com/blog,最终 mysite 将是一个 nodejs 应用程序,稍后链接路由的可能性将是另一个问题,但是...一次一个,大声笑,我如何建立该子域? 如果我将配置文件分成一个单独的文件,我会让其他域工作:/
谢谢
编辑:我发现在 AWS 上使用 S3 中的存储桶我可以完成它,但现在我不需要它来完成我正在做的事情,但很高兴知道这一点。
最佳答案
首先:它不是一个子域,而是一个名为 blog 的子文件夹。
如果你想运行两个应用程序,其中一个应用程序出现在子文件夹中,你可以执行以下操作
定义两个上游/代理将它们传递到不同的端口
然后将它们放在同一个配置文件中
有两个位置 block (location/和 location/blog)
这有意义吗?否则一个可能会影响另一个。
关于node.js - nginx 子域配置 example.com/blog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51343654/