nodejs部署到iis,详解iis如何部署运行nodejs

一、安装必须的软件环境和模块

1、安装node.js。

1.1 在nodejs官网进行安装程序的下载,下载地址:

https://nodejs.org/en/

1.2 安装完成后,可通过输入命令node -v 检测是否安装成功,如显示nodejs的版本号则代表成功安装了nodejs,如下图所示:

 

2、安装iisnode

2.1 iisnode是一个本地的IIS模块,它允许在Windows上的IIS中承载node.js应用程序。

 

iisnode的项目地址:https://github.com/tjanczuk/iisnode

Iisnode的下载地址:https://github.com/tjanczuk/iisnode/wiki/iisnode-releases

2.2 下载对应的版本安装完成后,可通过执行iisnode安装文件夹下的setupsamples.bat来测试iisnode是否安装成功。

(1)、进入iisnode文件夹,执行setupsamples.bat。

 

(2)、执行setupsamples.bat成功后,即在Default Web Site站点下创建了一个名称为node的目录。

 

访问http://localhost/node/,出现如下页面即代表iisnode安装成功。

 

3、安装iis的URL Rewrite模块

3.1 iis的URL Rewrite模块可以通过定义规则实现URL的重定向。

 

URL Rewrite的下载地址:https://www.iis.net/downloads/microsoft/url-rewrite

3.2 安装完成后访问http://localhost/node/helloworld/hello.js,出现如下页面即代表URL Rewrite模块安装成功。

 

二、部署项目

1、建立站点。

在iis中建立一个新的站点,指向nodejs的项目文件夹。

2、创建web.config文件。

在nodejs项目文件夹的根目录下新建一个web.config文件并写入以下内容:

<configuration>
 <system.webServer>
 <handlers>
 <add name="iisnode" path="app.js" verb="*" modules="iisnode" resourceType="Unspecified" requireAccess="Script" />
 </handlers>
 <rewrite>
 <rules>
 <rule name="all">
 <match url="/*" />
 <action type="Rewrite" url="app.js" />
 </rule>
 </rules>
 </rewrite>
 <iisnode promoteServerVars="REMOTE_ADDR" />
 </system.webServer>
</configuration>

 

3、浏览访问nodejs项目网站。

打开浏览器访问nodejs的项目网站,如能成功访问即完成了iis部署运行nodejs。

三、一些常见问题

1、执行iisnode安装文件夹下的setupsamples.bat不成功。

如果在执行setupsamples.bat的过程中发生了错误并提示:ERROR <message:找不到带有标识符“Default Web Site/node”的APP对象。>,如下图所示:

 

这是因为iis默认创建的站点Default Web Site被删除了,重新创建一个名为Default Web Site的站点即可。

2、无法安装URL Rewrite。

在URL Rewrite的下载页面,点击“Install this extension”下载的安装程序可能会长时间停留在如下安装页面无法安装完成。

 

可通过下载下方的安装程序进行安装,如下图所示:

 

3、修改代码中的监听端口号。

由于iis部署站点时已经设置了端口号,因此代码中监听端口的语句可进行优化修改,如将

server.listen(3000, '127.0.0.1');

修改为

server.listen(process.env.PORT || 3000);

//process.env.PORT:读取当前目录下环境变量port的值。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1. 安装Node.js和NPM 首先需要在服务器上安装Node.js和NPM(Node.js的包管理工具)。可以通过以下命令安装: ``` sudo apt-get update sudo apt-get install nodejs sudo apt-get install npm ``` 2. 创建Node.js应用程序 创建一个Node.js应用程序,例如一个简单的Hello World程序。可以通过以下命令创建: ``` mkdir myapp cd myapp npm init ``` 然后可以创建一个名为index.js的文件,其中包含以下内容: ``` const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); }); ``` 3. 安装PM2 PM2是一个进程管理器,可以帮助管理Node.js应用程序的生命周期。可以通过以下命令安装: ``` sudo npm install -g pm2 ``` 4. 启动Node.js应用程序 使用PM2启动Node.js应用程序,可以通过以下命令启动: ``` pm2 start index.js ``` 5. 配置Nginx 安装Nginx并配置反向代理。可以通过以下命令安装: ``` sudo apt-get install nginx ``` 然后在Nginx配置文件中添加以下内容: ``` server { listen 80; server_name example.com; location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` 以上配置将用Nginx代理请求,并将它们转发到Node.js应用程序运行的端口上。 6. 重启Nginx 重启Nginx以应用配置更改,可以通过以下命令重启: ``` sudo service nginx restart ``` 现在Node.js应用程序已部署到Nginx中并可以通过域名访问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值