利用宝塔面板搭建nodejs网站(不使用pm2)
- 1. 准备代码文件
- 2. 将代码上传至云主机
- 3. 云主机配置
- 3.1 绑定域名
- 3.2 利用面板配置node环境
- 3.3 利用面板增加node项目
- 4. 打开端口
暂时只演示http的。https类似,需要添加证书。
1. 准备代码文件
清单如下
ca package.json public WebServer.js
ca 目录存放证书,http可以不要,js代码需要注释掉相关代码。
pubulic 存放html网页,比如随便一个index.html
WebServer.js 是启动nodejs文件代码如下
// 支持HTTP和HTTPS服务
'use strict'var http = require('http');
var https = require('https');
var fs = require('fs');var express = require('express');
var serveIndex = require('serve-index');var app = express(); // 实例化
app.use(serveIndex('./public')); // 发布目录
app.use(express.static('./public')); // // http server
var http_server = http.createServer(app);
http_server.listen(8866, '0.0.0.0')var options = {key: fs.readFileSync('./ca/xxx.fun_rsa.key'),cert: fs.readFileSync('./ca/xxx.fun.crt')
};// https server
var https_sever = https.createServer(options, app);
https_sever.listen(4433, '0.0.0.0');
package.json 内容:
{"name": "webserver","version": "1.0.0","description": "","main": "WebServer.js","scripts": {"start": "node WebServer.js","test": "echo \"Error: no test specified\" && exit 1"},"author": "","license": "ISC","dependencies": {"express": "^4.19.2","serve-index": "^1.9.1"}
}
注意: 这个package.json里的内容很重要,包括了依赖和启动脚本。宝塔面板会据此安装依赖和增加启动项。
2. 将代码上传至云主机
3. 云主机配置
3.1 绑定域名
这个不同云主机有不同配置的地方,根据需求来。
一定要注意添加:xxx.com , www.xxx.com 两种类型的。
3.2 利用面板配置node环境
面板->网站->node
根据指引添加 Node版本管理器,安装nodejs版本。
3.3 利用面板增加node项目
项目名称、端口号可以随便写。
域名管理:
外网映射
4. 打开端口
面板-安全-添加端口规则,这里步骤3中的端口。
完成以上步骤之后可以正常访问 www.xxx.com, 我输入 xxx.com 会直接跳转成https的。所以暂时无法访问。