# 通过 node 创建 web 服务器

1. 创建文件夹,在文件夹中打开终端

2. 初始化包管理工具

npm init -y

3. 安装 express   

npm install express --save

4. 安装 connect-history-api-fallback(实现history, 普通服务器不需要)

npm install connect-history-api-fallback --save

5. 安装 compression (开启 gzip 配置)

使用 gzip 可以减小文件体积,使传输速度更快, 可以通过服务器端使用 Express 做 gzip 压缩

npm install compression -S

6. 创建一个 dist 文件夹, 把要部署的项目复制进来

7. 新建入口文件( app.js),  输入以下内容 (不需要 history, 删掉 history 变量)

const express = require('express') // 导入 express
const compression = require('compression') // 导入 compression
const history = require('connect-history-api-fallback') // 导入 connect-history-api-fallback
const app = express() // 创建 web 服务器
const childProcess = require('child_process')app.use(compression()) // 启用中间件(一定要写在托管静态资源前面)
app.use(history()) // 配置vue history模式,这里千万要注意,要在static静态资源上面
app.use(express.static('./dist')) // 托管静态资源// 启动 web 服务器(手机可以访问 )
const hostname = getIPAddress()
const port = 88app.listen(port, hostname, function (err) {if (err) {console.error('启动服务器失败!')} else {console.log(`web server running at http://${hostname}:${port}`)// 浏览器打开childProcess.exec(`start http://${hostname}:${port}`)}
})// 获取本机ip地址
function getIPAddress() {var interfaces = require('os').networkInterfaces()for (var devName in interfaces) {var iface = interfaces[devName]for (var i = 0; i < iface.length; i++) {var alias = iface[i]if (alias.family === 'IPv4' &&alias.address !== '127.0.0.1' &&!alias.internal) {return alias.address}}}
}

  8. 终端运行 node app.js, 返回  'web server running at http://本机ip+端口', 则项目运行成功

  9. 访问地址:

http://本机ip+端口

#  HTTPS 服务说明

传统的 HTTP 协议传输的数据都是明文,不安全

采用 HTTPS 协议对传输的数据进行了加密处理,可以防止数据被中间人窃取,使用更安全

# 使用 pm2 管理应用

开启 pm2 当你不关机情况下,关闭终端命令,网站还是会存在!

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能

1. pm2需要全局安装(必须在管理员中运行): npm install -g pm2

2. 启动项目:pm2 start 启动的入口文件(一般为app.js) --name 名称

3. 重命名项目: pm2 start 启动的入口文件 --name 重命名

4. 查看运行项目:pm2 ls

5. 重启项目:pm2 restart 名称

6. 重新启动所有项目: pm2 restart all

7. 停止项目:pm2 stop 自定义名称

8. 停止所有项目:pm2 stop all

9. 删除项目:pm2 delete 自定义名称

10. 删除所有项目:pm2 delete all

11. 查看某个项目具体情况: pm2 describe 自定义名称

12. 查看pm2的日志: pm2 logs 自定义名称

13. 查看项目的资源消耗情况:  pm2 monit

node 部署本地服务器相关推荐

  1. Rap部署本地服务器

    RAP是一个可视化接口管理工具 通过分析接口结构,动态生成模拟数据,校验真实接口正确性, 围绕接口定义,通过一系列自动化工具提升我们的协作效率.我们的口号:提高效率,回家吃晚饭! rap网页版 htt ...

  2. 1.1.node搭建本地服务器

    1.创建一个服务器文件夹 在本地创建文件夹,用于存储服务器相关文件 2.把两个配置文件拷贝过去 代码太长放在文章末尾了 3.根据刚刚拷贝的package配置安装依赖 在服务器文件夹qmcn_s下运行命 ...

  3. 关于node启动本地服务器的一些问题

    不要再每个盘的根目录下面启动git bash,下载node modules,会导致异常错误产生: 转载于:https://www.cnblogs.com/alww/p/5943923.html

  4. 旧手机搭建本地服务器

    前言:之前购买的腾讯云学生服务器即将过期,手头拮据的我把目光看向了一部备用机 思路:一部已经获取root权限的手机-部署Linux系统-安装宝塔面板-一键部署本地服务器 1.前期准备 ​ 首先在旧手机 ...

  5. node.js 微信小程序 部署服务器_微信小程序开发入门(一),Nodejs搭建本地服务器...

    1.  如何模拟真实环境中,读取服务端数据,首先需要使用Nodejs搭建一个本地服务器的环境. 在搭建web服务器之前,需要先安装node.js(安装版本最好为6.9.x) 安装后node.js,接下 ...

  6. android studio使用nodejs本地服务器json数据_使用Node.js的Alexa技巧

    可以使用AlexaLambda函数或RESTAPI端点开发Alexa技能.Lambda函数是Amazon实现AWS中提供的无服务器功能.Amazon建议使用Lambda函数,尽管它们不容易调试.虽然您 ...

  7. 本地 MarkDown 怎么部署到服务器上?教你使用 Docsify 搭建个人博客

    使用Docsify搭建文档类型网站 docsify 可以快速帮你生成文档网站.不同于 GitBook.Hexo 的地方是,它不会生成静态的 .html 文件,所有转换工作都是在运行时.如果你想要开始使 ...

  8. 如何使用Node.js和CloudFormation在AWS Lambda中构建和部署GraphQL服务器

    介绍 (Introduction) I have been building GraphQL APIs in a Serverless environment for over 3 years now ...

  9. 【前端Vue+后端Node.js+MySql】部署到服务器

    [前端Vue+后端Node.js+MySql]部署到服务器 文章目录 [前端Vue+后端Node.js+MySql]部署到服务器 1.买服务器 2.服务器操作 2.1.修改服务器密码,xshell登录 ...

最新文章

  1. 神经网络与机器学习 笔记—复制器(恒等)映射
  2. 【转】C#中的线程 入门
  3. CentOS系统Yum源配置
  4. java date 过时_java Date中方法toLocaleString过时的替代方案
  5. 转:高效代码审查的八条准则和十个经验
  6. 使用扩展技术将SAP Fiori应用隐藏动态创建的UI字段
  7. SQL Server需要监控哪些计数器 ---指尖流淌
  8. mkv210_image.c文件详解
  9. 佛山高新区构建大数据产业新生态
  10. 【报告分享】2020年中国金融科技企业领袖观点洞察报告.pdf(附下载链接)
  11. 在工作中能学到的东西-2
  12. Unity GC垃圾回收
  13. 集成 push kit 签名配置报6003/收不到华为推送
  14. unity中旋转的总结
  15. 一根竹子,4天的生长过程
  16. python写一个表白程序带时间_python如何写出表白程序
  17. 玩转教育计算机二级,全国计算机等级考试二级msoffice高级应用教材《玩转office轻松过二级》配套模拟软件使用说明.doc...
  18. 真心话大冒险HTML5小游戏,真心话大冒险游戏怎么玩才有趣
  19. c语言写rpg游戏,第1章 序(来,我们一起写个角色扮演游戏)
  20. 保研文书——中文简历

热门文章

  1. 西奥服务器修改楼层参数,杭州西奥OHCON8503电梯LMCB板楼层表(井道)自学习
  2. 【vuex状态管理案例mutations和actions区别】
  3. 基于C#开发的(WinForm)图书管理系统【100010037】
  4. 7-1 单链表基本操作 (5 分)
  5. 数据挖掘入门:二手车交易价格预测
  6. webmail邮件服务器搭建_U-Mail邮件服务器
  7. 硬盘写保护怎么去掉--亲测有效
  8. 聚簇索引与非聚簇索引详解
  9. 戴德金:数是人类心灵的自由创造;皮亚诺:他的公理和属于关系-------读皮亚诺之三
  10. psutil查看系统进程