利用宝塔面板搭建nodejs网站(不使用pm2)

news2025/1/19 11:18:51

利用宝塔面板搭建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的。所以暂时无法访问。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1682320.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot环境隔离Profiles

前言 通常我们开发不可能只有一个生产环境,还会有其它的开发,测试,预发布环境等等。为了更好的管理每个环境的配置项,springboot也提供了对应的环境隔离的方法。 直接上干货 知识点 激活环境方法 1,在application…

伪头部校验

本章问题 UDP和TCP的伪首部只用于计算校验和,在UDP和TCP的报文中是不存在的,为什么要引入伪首部呢?为什么伪首部的要有这些字段?这里我们就先看一下TCP和UDP的首部格式。 TCP和UDP首部 源端口目的端口:是0-65535任…

CSP认证刷题笔记(3)最大矩形(13年CSP认证第三题)

文章目录 题目描述基本思路求解代码 题目描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1≤i≤n)个矩形的高度是 hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3,1,6,5,2,3。 请找出…

聚苯并咪唑(PBI)为超高性能工程塑料 未来应用前景较好

聚苯并咪唑(PBI)为超高性能工程塑料 未来应用前景较好 聚苯并咪唑(简称PBI),是一类以苯并咪唑基团作为结构重复单元的杂环聚合物。聚苯并咪唑不溶于水,溶于强极性溶剂,具有耐高温、耐腐蚀、抗辐…

学习C语言的重要性以及如何学好

配套视频:https://www.bilibili.com/video/BV1kw4m1Q7AV/?spm_id_from333.999.0.0 一、C语言在互联网领域重要的开源项目 https://github.com/mysql/mysql-server 数据库开源项目【互联网重型开源项目】 编程语言:C/C/ASM 部分汇编代码 开源项目核心…

Verilog基础语法——条件语句if-else与case

Verilog基础语法——条件语句case、if-else 写在前面一、if-else语句二、case语句2.1 case语句2.2 casez语句2.3 casex语句 写在后面 写在前面 在Verilog语法中,常用的条件语句有if-else语句和case语句,用于判断条件是否为真,并执行判断条件后…

使用docker安装doccano

使用docker安装doccano 1 介绍 数据标注的工具比较多,比较出名的有Doccano、Label Studio等。 Label Studio :图像标注、文本标注、音频标注、视频标注、时间序列标注,功能比较多。 Doccano:主要是针对文本的标注,…

平芯微PW4057H中文规格书

产品概述(百度翻译) PW4057H 是可以通过外部电阻编程的恒流/恒压充电的充电管理电路。该器件内部包括功率晶体管应用时不需要外部的电流检测电阻和阻流二极管。 PW4057H 只需要极少的外围元器件,并且符合 USB 总线技术规范,非常适…

英睿达硬盘数据恢复方法:从丢失到找回的详细指南

在数字化时代,硬盘作为我们存储重要数据的关键设备,承载着大量的个人、工作甚至商业信息。然而,无论是由于意外删除、格式化、病毒感染还是硬件故障,硬盘数据丢失的情况时有发生。英睿达硬盘作为市场上的知名品牌,其数…

后仿真中的必懂VCS仿真选项之 +ignorempcond

当多个输入同时改变时,VCS支持延迟注释。它忽略条件检查,并从适用的延迟中插入最小的延迟。 当多个输入同时改变时,它们会对特定的输出信号产生影响。 如果没有匹配的条件弧线从输入(切换)延伸到输出,那么VCS不会标注零延迟。 …

ITSM的服务台如何让工作更流畅

在现代企业的信息技术管理框架内,IT服务管理(IT Service Management, ITSM)体系扮演着至关重要的角色,而其中的服务台则是这一复杂体系的心脏地带。服务台不仅仅是解答技术疑问的一线窗口,更是企业IT运维效率与用户满意…

STM32_IIC通信

IIC通信 • I2C(Inter IC Bus)是由Philips公司开发的一种通用数据总线 • 两根通信线:SCL(串行时钟线)、SDA(串行数据线) • 同步,半双工 • 带数据应答 • 支持总线挂载多…

C++ 程序员常用的VScode的插件

vscode中好用的插件 Better CommentsBookmarksC/C ThemeChinese (Simplified) (简体中文) Language Pack for Visual Studio CodeclangdClang-FormatCodeLLDBCMakeCMake ToolsCode RunnerCode Spell CheckerCodeSnapColor Highlightvscode-mindmapDraw.io IntegrationError Len…

VirtualBox虚拟机串口通信

主机:Win11 VirtualBox: 7.0 两台Guest虚拟机: CentOS 现在希望两台CenOS虚拟机能通过串口通信。 设置前先关闭两台虚拟机。 设置方式就是在VirtualBox的设置里面设置串口,需要注意的是其中一台不勾选“连接至现有通道或套接字”,另外一…

分享我经常用的一个图片下载插件,不会写爬虫代码也能随意下载图片

更多精彩内容在公众号。 ImageAssistant(图片助手)是一款专为Chrome浏览器设计的扩展程序,它具备强大的网页图片处理功能。以下是关于ImageAssistant的一些主要特点和功能: 批量下载图片:ImageAssistant的核心功能之一…

什么是蜜罐,在当前网络安全形势下,蜜罐能提供哪些帮助

在当前的互联网时代,网络安全威胁日益严峻,攻击手段层出不穷。为了应对这些威胁,网络安全专家们不断探索新的防御手段,在过去的几年里,一种更加积极主动的网络安全方法正在兴起。蜜罐技术便是这样一种备受瞩目的主动防…

GPT大模型不再遥不可及:本地化部署让每个人都能拥有

本地化部署是GPT发展的一个趋势。 本地化部署指的是将大模型部署在用户自己的设备上,而不是依赖于云服务商提供的接口。本地化部署有以下几个优势: 数据完全私有化,降低数据丢失和泄露风险,对数据安全性和私密性有保障。 降低使…

uniapp微信小程序使用vscode代替HBuilderX开发uniapp微信小程序并且vscode改动代码微信开发者工具能实时更新

前言 最近公司开发新的小程序项目,经调研综合所有人员考虑,用uni-app Vue3tsvite技术栈开发;而官方推荐使用HBuilderX开发,而考虑到目前公司所有前端人员对VsCode更熟悉,故此总结了一下uniapp项目使用vscode代替HBuild…

【Python探索之旅】字典

字典的基本特性 创建字典 修改字典 添加键值对 删除键值对 字典方法 遍历字典 完结撒花​ 前言 字典是 Python 中内建的一种具有弹性储存能力的数据结构,可存储任意类型对象,与序列使用整数索引不同,它使用键(key)进行索引。 通常任何不…

Lazyboy品牌发布会“球幕气膜”

Lazyboy品牌发布会“球幕气膜”为品牌活动提供了一个独特、现代化、环保的展示空间。这座球幕气膜不仅为发布会提供了一个视觉震撼的场地,也为与会嘉宾带来了全新的体验。作为轻空间(江苏)膜科技有限公司(以下简称“轻空间”&…