我创建了一个网络应用和幽灵博客。 Web应用程序在端口80和幽灵博客2368上运行(默认为ghost)。
我想在 mydomain / blog 中添加博客页面。 任何人都可以帮我解决这个问题。
我可以使用 nginx 在端口80上运行博客,但是如何在我们的网络应用的特定路线上运行它。
这是nginx的配置文件
server {
listen 3333;
server_name localhost;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:1337;
}
location /blog {
rewrite ^/blog(.*) /$1 break;
proxy_pass http://127.0.0.1:2368;
}
}
我在1337端口托管的应用程序在 3333 nginx链接上正常运行 但是当我打开 localhost:3333 / blog 时,博客就不能正常运行了。文本即将发布,但它完全失真似乎链接css丢失了。
所以我对此有两个问题
1。如何在mydomain / blog上正确托管博客,本例为localhost:3333 / blog。
2。当我试图打开任何页面时(尽管它看起来很扭曲)然后由于我们的主应用程序中找不到该特定路线,因此它将它们重定向到主页?
答案 0 :(得分:2)
您正在寻找的是在一个子目录中托管Ghost。此链接描述了您需要采取的步骤:https://www.allaboutghost.com/how-to-install-ghost-in-a-subdirectory/。
让我知道它是否有效:)。
答案 1 :(得分:1)
我终于能够运行它,所以我将在这里回答它
假设我有一个应用程序和一个博客。我已在 example.com 上运行该应用,并在 example.com/blog
上发布博客<强> 1。应用相关设置
假设你的应用程序正在1337端口上运行。
<强> 2。正确安装幽灵
一个。您可以使用this link安装ghost。
湾将幽灵配置文件的网址更改为 http://example.com/blog
℃。重启鬼魂。
npm start --production
或
NODE_ENV=production forever start index.js
3正确安装nginx
一个。您可以使用this link安装nginx。
湾现在在/ etc / nginx / site-enabled文件夹中创建 example.conf 文件。
server {
listen 80;
server_name example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:1337;
}
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;
}
}
℃。重新启动nginx服务。
sudo service nginx restart