我不确定这是否可行但是有一种方法可以在子文件夹而不是子域https://www.allaboutghost.com/how-to-install-ghost-in-a-subdirectory/
上托管Ghost博客我已经按照它所说的方式设置了所有内容,现在唯一需要的是从/blog
函数中排除FlowRouter.notFound
。有没有办法做到这一点或设置路线听nginx?
//编辑
这是nginx配置
server {
listen 80;
server_name localhost;
location ^~ /blog {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:2368;
proxy_redirect off;
}
}
这里的幽灵配置
config = {
// ### Production
// When running Ghost in the wild, use the production environment.
// Configure your URL and mail settings here
production: {
url: 'https://www.raiseyourflag.com/blog',
//everything else
}
}
答案 0 :(得分:1)
这里有两个不同的问题。
目前尚不清楚您是否已完成第一步,因此请确保首先处理:
#确保开发部分的config.js
密钥中包含<{1}} for Ghost 1}}:&#39; http://127.0.0.1:2368/blog&#39;
#在开发环境中启动Ghost:NODE_ENV =开发节点index.js
#检查端口2368上是否有实际运行的内容:url
#在浏览器中访问,您应该看到您的Ghost博客并能够浏览它:http://127.0.0.1:2368/blog
如果你已经到目前为止,你的Ghost博客正在运行,你已准备好通过端口80上的Nginx访问它。为简化此步骤的问题,暂时移动任何Meteor代码,以便验证
您的Nginx配置看起来不错。只需再次sudo netstat -plnt | grep ':2368'
Nginx
好的方法,然后立即在浏览器中检查此URL:
现在你应该再次看到你的Ghost博客,但现在通过Nginx访问并代理到另一个端口。
一旦确认步骤正常,请添加Meteor前端代码。从任何前端代码的角度来看,reload
就像Web服务器处理的任何URL一样。
如果你去/blog
并看到Meteor服务的NotFound页面,这意味着客户端Meteor框架必须从/ somewhere /加载,大概是/blog
。在这种情况下,Nginx配置存在问题。你发布的内容还有更多内容吗?