您可以安装Ghost(http://ghost.org),使其在现有的node.js Express应用程序(例如:{my domain} / blog)中运行吗?
我正在使用Azure网站托管网站。
请注意:我希望可以在任何平台上运行的通用解决方案...但是,我想我要提到的是,它在Azure上提供了一种简单的方法来实现。
最佳答案
是的,你可以这么做。
您将需要:
1.添加一个新的博客应用程序
基本上转到门户->配置选项卡->一直滚动到底部并添加类似的内容
2.将Ghost配置为在子文件夹上运行
将Ghost发布到您在上述步骤中映射到应用程序的任何文件夹。
您可以使用FTP,webdeploy或SCM(https://<YouSiteName>.scm.azurewebsites.net/DebugConsole
这就是我所选择的,我的文件夹布局如下所示
igonre deployments
文件夹,与此无关
在config.js
for Ghost中的Production
环境节点下,确保您的URL为
production: {
url: 'http://<YourSiteName>.azurewebsites.net/blog',
mail: {
......
}
}
3.修复主站点的
web.config
转到您的主要站点web.config并将整个
<system.webServer>
元素包装在<location path="." inheritInChildApplications="false">
中基本上您的
web.config
应该看起来像这样<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<!-- Some rewrite rules -->
</rules>
</rewrite>
....
</system.webServer>
</configuration>
现在看起来像这样
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<!-- Some rewrite rules -->
</rules>
</rewrite>
....
</system.webServer>
</location>
</configuration>
请注意,这是针对您所使用的Express.js主站点而不是Ghost网站
那应该就是你要做的。
关于node.js - 如何在Azure上的现有node.js应用程序中安装Ghost?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23938899/