请参考以下详细攻略:
1.简介
Node.js是一个非常轻量级的运行时环境,可用于构建服务器端JavaScript应用程序。可以使用Node.js构建丰富的Web应用程序和应用程序部署方案。在Windows操作系统中,我们可以使用forever工具将Node.js程序作为服务并在开机时自动启动。
2.安装forever
forever是一个基于Node.js实现的简单的服务器进程管理工具,它可以让你启动、停止、重启、查看日志等操作进程。我们可以使用npm安装forever:
打开命令行窗口,输入以下命令:
npm install -g forever
3.将Node.js程序作为服务运行
使用forever将Node.js程序作为服务运行的步骤如下:
-
将Node.js程序代码保存为一个文件,如server.js。
-
打开命令行窗口,进入程序目录,输入以下命令:
forever start server.js
此时Node.js程序就作为一个服务在后台运行了。如果需要关闭该服务,可以使用以下命令:
forever stop server.js
4.Windows下的开机自启动
为了使Node.js程序在Windows开机时自动启动,我们需要创建一个服务并将其配置为自动启动。下面我们将使用nssm(Non-Sucking Service Manager)工具来创建和配置这个服务。
4.1 下载和安装nssm
- 打开 http://www.nssm.cc/download 下载nssm。
- 将下载的压缩包解压到一个文件夹中(如:C:\nssm)。
4.2 创建并配置服务
- 打开命令行窗口,切换到nssm所在目录,执行以下命令:
nssm install <Service Name>
其中
-
在弹出的对话框中,配置以下选项:
-
Application:选择Node.js程序的可执行文件,如node.exe。
- Arguments:输入启动程序的参数,如server.js,这将运行server.js脚本。
- Startup directory:指定程序的启动目录。
- Log file path:输入输出log文件的路径,如:C:\logs\log.txt。
-
Startup type:选择“自动”。
-
点击“Install Service”,服务就创建完成了。
4.3 启动服务
- 打开计算机管理工具,选择“服务和应用程序” -> “服务”。
- 找到刚才创建的服务,右键单击选择“启动”即可。
现在服务已经成功启动,无需手动启动Node.js程序,服务将在Windows开机时自动启动。
5.示例
这里提供两个示例以帮助您更好地理解上述过程。
示例1:使用express框架创建http服务器
文件名:server.js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('App listening on port 3000!');
});
使用forever将Node.js程序作为服务运行:
forever start server.js
使用nssm创建并配置服务:
nssm install MyService
在弹出的对话框中配置以下选项:
- Application:C:\Program Files\nodejs\node.exe
- Arguments:D:\myproject\server.js
- Startup directory:D:\myproject\
- Log file path:D:\myproject\logs.txt
- Startup type:选择“自动”
使用“计算机管理工具”启动服务。
示例2:使用koa框架创建https服务器
文件名:server.js
const https = require('https');
const Koa = require('koa');
const app = new Koa();
app.use(ctx => {
ctx.body = 'Hello World';
});
const options = {
key: fs.readFileSync('cert/yoursite.com.key'),
cert: fs.readFileSync('cert/yoursite.com.crt')
};
https.createServer(options, app.callback()).listen(3000, () => {
console.log('App listening on port 3000!');
});
使用forever将Node.js程序作为服务运行:
forever start server.js
使用nssm创建并配置服务:
nssm install MyService
在弹出的对话框中配置以下选项:
- Application:C:\Program Files\nodejs\node.exe
- Arguments:D:\myproject\server.js
- Startup directory:D:\myproject\
- Log file path:D:\myproject\logs.txt
- Startup type:选择“自动”
使用“计算机管理工具”启动服务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js程序作为服务并在windows下开机自启动(用forever) - Python技术站