node.js - nginx 子域配置 example.com/blog

标签 node.js nginx subdomain ubuntu-16.04 ghost

我昨天和今天花了一整天时间学习 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/

相关文章:

javascript - FS如何自动制作文件夹?

python - uwsgi_param 和 proxy_set_header 的区别

nginx - Nginx在哪里存储默认错误页面

php - 在也是子域的共享主机上运行 Zend Framework 应用程序

ruby-on-rails - 防止子域上的 SSL

azure - Windows Azure 上多个网站的通配符 SSL 证书

node.js - Azure Bot Framework - 换行卡片操作和按钮文本

node.js + mongodb + 多个实体的原子更新 = 头疼

javascript - 使用 express 将 MongoDB 查询结果作为 JSON 发送

linux - NGINX dns 不适用于 VPS