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

利用宝塔面板搭建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.mzph.cn/pingmian/13334.shtml

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

相关文章

Linux---在Xshell上配置软件包管理器yum

一、什么是yum 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软…

宝塔助手是以宝塔Linux面板提供的API开发的一款可以随时随地管理服务器的APP

【软件介绍】手机操控云服务器的神器软件,本人亲测在用,好用极了! 【软件名称】宝塔助手 【软件包名】com.lensyn.zsbt 【软件版本】1.4.1 【软件大小】29.00M 【适用系统】安卓 【软件特色】宝塔助手是以宝塔Linux面板提供的API开发的一款可…

设计模式分享

2. 策略模式 2.1 定义:策略模式定义了家族算法,分别封装起来(这些算法完成的都是相同的工作,只是实现不同),它可以用相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。此模式…

Python实战开发及案例分析(25)—— 爬山算法

爬山算法(Hill Climbing)是一种启发式搜索算法,常用于解决优化问题。它的核心思想是从一个初始解开始,不断朝着增益最大的方向移动,直到达到局部最优解。 实现步骤 从初始解开始。在当前解的邻域中找到一个更好的解。…

LeetCode109:组合总和Ⅳ

题目描述 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 解题思想 使用完全背包 代码 /*dp[i]:表示装满容量为i的背包有dp[i]种方…

高通QCS6490开发(二)AI板卡接口

QCS6490是高通公司针对高端物联网终端而优化的SoC,在性能和功耗上有最优的平衡。《高通QCS6490 AIoT应用开发》是一系列AIoT应用开发文章,介绍如何基于QCS6490平台做AIIoT的应用开发。 本文主要介绍FV01开发板的内部和外部接口。 内部的板载接口如下 接口…

天锐绿盾 | 设计院、机械制造行业透明加密cad图纸、图纸防泄密软件

天锐绿盾为设计院及机械制造行业量身打造的透明加密CAD图纸解决方案,专注于保障这些行业中的核心资产—设计图纸的安全。通过集成先进的加密技术和访问控制策略,该软件系统能有效防止图纸的未经授权访问和意外泄密。 PC地址: https://isite…

每日一练 2024.5.16 (补 2024.5.15)

题目: 给定一个 正整数 数组 beans ,其中每个整数表示一个袋子里装的魔法豆的数目。 请你从每个袋子中 拿出 一些豆子(也可以 不拿出),使得剩下的 非空 袋子中(即 至少还有一颗 魔法豆的袋子)…

2024汽车行业用户洞察与营销趋势白皮书

来源:小红书&寰球汽车:

设备接入物联网平台必须掌握的关键信息——青创智通

工业物联网解决方案-工业IOT-青创智通 设备接入物联网平台需要掌握的信息相当丰富且复杂,这涉及到多个层面,包括技术细节、平台选择、安全性考虑以及后期管理与维护等。以下将详细阐述设备接入物联网平台所需掌握的关键信息。 首先,我们需要…

【recast-navigation-js】通过websocket获取navmesh数据并初始化

目录 说在前面目录结构websocket服务器前端结果 说在前面 操作系统:windows 11浏览器:edge版本 124.0.2478.97recast-navigation-js版本:0.29.0golang版本:1.21.5 目录结构 D:. │ go.mod │ go.sum │ main.go // websocket …

Halcon 根据XYZ生成3D模型

Halcon 根据XYZ生成3D模型 x_points := [a_x_points, b_x_points, c_x_points]y_points := [a_y_points, b_y_points, c_y_points]z_points := [a_z_points, b_z_points, c_z_points]stop()gen_object_model_3d_from_points

风电功率预测 | 基于遗传算法优化BP神经网络实现风电功率预测(附matlab完整源码)

风电功率预测 风电功率预测 | 基于遗传算法优化BP神经网络实现风电功率预测(附matlab完整源码)完整代码风电功率预测 | 基于遗传算法优化BP神经网络实现风电功率预测(附matlab完整源码) 基于遗传算法优化BP神经网络是一种常见的方法,用于改进BP神经网络在风电功率预测中的性…

JavaScript-基本数据类型和变量

基本数据类型 JavaScript支持数字、字符串和布尔值3种基本数据类型 字符串型 字符串型是JavaScript用来表示文本的数据类型,字符串通常由单引号或双引号括起来,如果字符串存在特殊字符,可以用转义字符代替 数字型 数字型也是JavaScript中的基…

【数据链路层】以太网帧包解析

文章目录 以太网的帧结构解析数据链路层信息 以太网的帧结构 使用抓包工具,查看数据链路层信息: 解析数据链路层信息 (1)协议类型:代表上层的协议 (IP00800 ARP00806 IPv686DD ) 如图中所示&a…

金蝶AAS-V9.0前后端部署

前言 包含金蝶AAS9.0部署,前端部署,后端部署。 金蝶AAS9.0部署 1. 下载金蝶AAS9.0安装包上传至服务器; 2. 解压安装包; unzip -d /opt/AAS-V9.0 AAS-V9.0.zip3. 配置JAVA路径; echo $JAVA_HOME vim /opt/AAS-9.0…

力扣HOT100 - 32. 最长有效括号

解题思路&#xff1a; 栈 class Solution {public int longestValidParentheses(String s) {int max 0;// 也可以使用 Stack<Integer> stacknew Stack<>();但Stack是遗留类&#xff0c;不推荐Deque<Integer> stack new LinkedList<>();stack.push(…

怎么做微信在线预约

在快节奏的现代生活中&#xff0c;我们总是追求更高效、更便捷的服务体验。而微信&#xff0c;这个拥有数亿用户的社交平台&#xff0c;早已不仅仅是一个聊天工具&#xff0c;它更是一个融合了多种功能的综合性服务平台。今天&#xff0c;就让我们一起探讨如何通过微信在线预约…

线程池的一些问题

核心线程数1.最大线程5.队列5.存活时间10s 1.场景一 如果核心线程数.被一直占用得不到释放.新进来1个任务.会怎么样?答: 会在队列中中死等. 只要进来的任务.不超过队列的长度,就会一直挡在队列中死等 package com.lin;import java.util.concurrent.Executors; import java.u…

通过阿里云的PAI基于开源LLM搭建RAG检索增强对话系统

5月9日参加阿里云AI云峰会活动&#xff0c;学习了下如何借助阿里云的PAI服务进行搭建RAG检索增加对话系统。 前提&#xff1a; 为了方便省钱&#xff0c;建议先通过免费的优惠圈&#xff0c;这样就可以先不花钱学习一下啦。开始实验之前&#xff0c;请务必打开 阿里云免费试用…