你能安装Ghost(http://ghost.org),以便它在现有的node.js express应用程序中运行(如:{my domain} / blog)?
我正在使用Azure网站来托管该网站。
请注意:我更喜欢可以在任何平台上运行的通用解决方案......但我想我会提到它是在Azure上,以防它提供了一种简单的方法来实现这一点。
答案 0 :(得分:2)
是的,你可以做到。
您需要:
基本上去门户网站 - >配置标签 - >一直滚动到底部并添加类似这样的内容
在上面的步骤中将Ghost发布到您映射到应用程序的任何文件夹。
您可以使用FTP,webdeploy或SCM(https://<YouSiteName>.scm.azurewebsites.net/DebugConsole
这就是我选择的,我的文件夹布局看起来像这样
igonre deployments
文件夹,它与此无关
在您的config.js
for Ghost中,在Production
环境节点下确保您的网址为
production: {
url: 'http://<YourSiteName>.azurewebsites.net/blog',
mail: {
......
}
}
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站点的主站点
应该就是你需要做的一切。
答案 1 :(得分:0)
不确定您是否可以将其作为现有网站的附加内容进行安装,但Ghost在Azure网站库中作为可部署模板存在,位于博客下:
答案 2 :(得分:0)
这不是您正在寻找的完整答案,但有关如何在Azure网站上手动安装Ghost的这些说明可能有助于指导您朝着正确的方向: http://www.hanselman.com/blog/HowToInstallTheNodejsGhostBloggingSoftwareOnAzureWebsites.aspx