在端口80中的Windows Server 2012上运行Ghost

时间:2013-10-24 15:09:32

标签: iis ghost-blog

我正在从我的云服务器托管几个网站。我想将Ghost用于其中一个网站的“博客”子域。

我已经设法安装Ghost,并且开发环境在localhost中正常工作。但是,现在运行在2365端口的生产环境在www.blog.foobar.com:2365上完全正常

我需要它才能在www.blog.foobar.com上打开

我已经尝试在config.js中将端口设置为80并且我得到错误:侦听EACCES即使IIS中的ARR也不起作用。尝试了谷歌搜索结果中建议的几乎所有步骤。反向代理只是将子域重定向到index.js

  1. Node.js v0.10.21 x64
  2. Ghost 0.3.3
  3. iisnode x64
  4. Windows Server 2012
  5. IIS 8
  6. 火狐
  7. 我在config.js中将端口设置为2365,好像我将其设置为80,它根本不会启动。我的IIS站点绑定位于端口80。

2 个答案:

答案 0 :(得分:6)

终于在鬼论坛的帮助下找到了它。假设您已在您的域名注册商处安装了iisnode并为您的子域提供了A记录,请继续:

  1. web.config改为Configuration File
  2. 更改config.js生产部分,如下所示

    host: '127.0.0.1', port: process.env.PORT

  3. bindings保留在您的子域IIS网站设置中,即80

  4. 将ENV更改为production文件中的index.js,而不是development
  5. 享受博客:)

答案 1 :(得分:1)

以下是我在Windows 7上的操作方法。

instructions are here的一部分。 其他人是found here

安装软件

1)已安装node-v0.10.26-x64

2)已安装iisnode-full-iis7-v0.2.2-x64

3)在C:\ Program Files \ iisnode

中运行setupsamples.bat

设置目录

4)删除了C:\ Program Files \ iisnode \ www

中的所有内容

5)在C:\ Program Files \ iisnode \ www

中提取ghost-0.7.1

安装节点模块

6)以管理员身份Ran Node.js命令提示符

7)输入c:

8)键入cd C:\ Program Files \ iisnode \ www

9)" npm install --production" |命令安装npm

10)Sqlite3没有安装,所以必须运行" npm install https://github.com/mapbox/node-sqlite3/tarball/master"安装它

<强>配置

11)必须安装url rewrite

12)正在开发中改变C:\ Program Files \ iisnode \ www \ config.js     网址:&#39; http://localhost/blog&#39;,     port:process.env.PORT

13)仍然在C:\ Program Files \ iisnode \ www typed&#34; node.exe index.js&#34;内的node.js命令提示符下运行它

14)从iis中删除了节点并添加了应用程序博客,并将其指向我的目录C:\ Program Files \ iisnode \ www

15)在C:\ Program Files \ iisnode \ www

中添加了web.config
<configuration>  
<system.webServer>
<modules>
    <remove name="WebDAVModule" />
</modules>
<handlers>
        <remove name="WebDAV" />
  <add name="iisnode" path="index.js" verb="*" modules="iisnode" />
  <add name="WebDAV" path="*" verb="" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" />
</handlers>
<defaultDocument enabled="true">
  <files>
    <add value="index.js" />
  </files>
</defaultDocument>
<rewrite>
  <rules>
    <rule name="Ghost">
      <match url="/*" />
      <conditions>
        <add input="{PATH_INFO}" pattern=".+\.js\/debug\/?" negate="true" />
      </conditions>          
      <action type="Rewrite" url="index.js" />
    </rule>
  </rules>
</rewrite>
<!--
  See https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config for information regarding iisnode specific configuration options.
-->
<iisnode node_env="%node_env%" loggingEnabled="false" debuggingEnabled="false" devErrorsEnabled="false" />
</system.webServer>
</configuration>