阿里云部署Node.js服务器(Windows环境)

2023-11-07

花了大半个月做的网站终于要上线了,周围的同学们很多都在使用阿里云的服务器,我也入手了一台。
考虑到自己不是很适应ubuntu的命令行界面,于是买了个windows的,上网搜了一下,似乎都是用linux来部署nodejs的,所以只能自己摸索着来,所幸的是nodejs本身就相当于web服务器,所以不需要apache之类的额外配置

一,配置环境

首先是要安装node环境,可以到官网上下载安装包,安装好之后进入目录安装express框架:

npm install express -gd (全局安装) 
npm install -g express-generator(安装generator)

详情看这里: nodejs入门

二,部署网站

然后是把本地网站文件夹上传到服务器上,为了图省事我直接用邮箱附件发过去的==||
不用配置什么IIS服务器,也不用什么网站根目录,直接丢在桌面上进入目录使用命令:

node root.js//自定义的主文件

如果已经正确配置了nodejs,就可以正常运行了,就这么简单
打开chrome(阿里云自带IE,自己下了一个chrome),在地址栏输入

localhost:3000

网站就开始运行啦
除此之外,还可以在本地浏览器输入
服务器ip:3000
就可以远程访问了~~~~
不需要什么网站根目录,也不需要什么www,htdocs文件夹,node就是这么好用

三,域名绑定

接下里似乎还有一个问题
输入IP和端口可以访问了,域名怎么搞??
主机宝可以帮我们绑定域名,IIS服务器也能帮我们绑定域名,但nodejs似乎在裸奔诶

百度了好久,似乎有个叫IISNode的东西但出于对IIS的天然恐惧pass掉。
后来才找到下面的方法:

使用nginx的反向代理绑定域名

下载好nginx的windows版本之后,打开conf文件夹,网上有一些关于linux下nginx的配置,说要打开inculde文件夹新建conf文件但windows版本的似乎没有啊~~~
解决方法:
打开nginx.conf,在http域里面,第一个server域下面添加如下内容:

upstream nodejs {
    server 127.0.0.1:3000;
    #server 127.0.0.1:3001;
    keepalive 64;
}

server {
    listen 80;
    #xxx是你自己的域名
    server_name www.xxx.com xxx.com;
   # access_log ../logs/test.log;
    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host  $http_host;
        proxy_set_header X-Nginx-Proxy true;
        proxy_set_header Connection "";
        proxy_pass      http://nodejs;

    }
}

大致就是把外部的80端口访问转到本地的3000端口
详细信息请看下面:
Nginx反向代理Nodejs

这样就域名就绑定好了
除此之外,还要在域名服务商那里绑定ip,搞定之后,在浏览器输入域名就可以访问啦~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阿里云部署Node.js服务器(Windows环境) 的相关文章

随机推荐

  • Vue.js模板语法

    模板语法 Vue js使用了基于HTML的模板语法 允许开发者声明式地将DOM绑定至底层Vue实例的数据 所有vue js的模板都是合法的HTML 所以能被遵循规范的浏览器和HTML解析器解析 在底层的实现上 Vue将模板编译成虚拟DOM渲
  • Python与OpenCV(一)——基于帧差法的运动目标检测程序分析

    OpenCV提供了强大的图像处理功能 与Python的结合堪称完美 这一次 我们试一下用帧差法来完成对运动目标的检测与跟踪 帧差法的原理是这样的 由于摄像机采集的视频序列具有连续性的特点 所以如果所采集场景内没有运动目标的时候 连续帧的变化
  • git本地删除后如何再pull下来_实践总结——Git 常见错误及解决方法

    Git 是当下最常用的代码管理库 是程序员日常工作中使用频率最高的工具 在频繁的使用过程中 难免会遇到各种各样的问题 今天跟大家分享 Git 常见的错误和解决方法 问题一 执行Git add somefile 的时候 出现如下错误 If n
  • 如何利用Parsec+Zerotier+moon实现远程电脑云电脑、云办公、云游戏

    前期说明 RD Client 没法串流 向日葵带宽受限 同时也没办法打游戏 那么可不可以自己实现一台云电脑来实现云游戏呢 答案当然是可以的了 下面文章将进行介绍Parsec 远程电脑的三种方案 快速跳转链接 利用IPv6实现公网访问远程桌面
  • Python爬虫时遇到SSL证书验证错误解决办法汇总

    在进行Python爬虫任务时 遇到SSL证书验证错误是常见的问题之一 SSL证书验证是为了确保与服务器建立的连接是安全和可信的 但有时候可能会由于证书过期 不匹配或未受信任等原因导致验证失败 为了解决这个问题 本文将提供一些实用的解决办法
  • 大数据采集、清洗、处理:使用MapReduce进行离线数据分析完整案例

    1 大数据处理的常用方法 大数据处理目前比较流行的是两种方法 一种是离线处理 一种是在线处理 基本处理架构如下 在互联网应用中 不管是哪一种处理方式 其基本的数据来源都是日志数据 例如对于web应用来说 则可能是用户的访问日志 用户的点击日
  • R语言练习题(1)

    关注公众号凡花花的小窝 收获更多的考研计算机专业编程相关的资料 R语言练习 打开Rgui 1 在R控制台中提示符后依次输入下列语句 理解R的交互过程 2 3 45 6 x lt 3 4 5 6 x lt x 1 x 1 2 如何打开R的帮助
  • Python小白项目体系练习500例(附源代码),练完可就业

    1 有一个jsonline格式的文件file txt大小约为10K 2 补充缺失的代码 3 输入日期 判断这一天是这一年的第几天 4 打乱一个排好序的list对象alist 5 现有字典 d a 24 g 52 i 12 k 33 请按va
  • SpringBoot框架下,前后端实现文件交互——文件上传

    pc端实现文件上传与下载 前后端进行文件交互 主要形式为文件的上传与下载 1 上传的主要形式为前端通过文件上传插件将文件通过文件流形式传递到后端 后端进行处理 保存至目标地址 2 下载的主要形式为前端访问后台下载地址 实现文件下载 然后弹出
  • java多选下拉列表框_Java+Selenium3自动化入门4---Select多选框下拉列表

    在做自动化的过程中我们会遇到很多的控件 有的控件在WebDriver中都有封装好的API 我们使用这些方法来操作会提高我们的测试用例编写效率和准确性 今天我就来介绍下关于select多选框的操作方法 在Selenium中 针对html的标签
  • VTK:显式结构化网格实战详解

    VTK 显式结构化网格实战详解 本篇文章将详细介绍如何使用 VTK 库对显式结构化网格进行建模 可视化等操作 我们将通过 Python 语言的代码实现对显式结构化网格的读取与显示 并对其中的数据进行处理和分析 首先 我们需要导入必要的 Py
  • iOS项目统计总代码行数

    快速统计Xcode工程项目代码量 步骤一 打开终端 用cd命令 定位到工程所在的目录 然后调用以下命名即可把每个源代码文件行数及总数统计出来 find name m or name mm or name cpp or name h or n
  • JAVA后台接收前台传过来的json字符串并解析获得key 和value

    前台代码 ajax type post url project updateProject data formdata JSON stringify formdata tabname tabname val id proid val suc
  • Ubuntu16.04中python2.7、python3.5和python3.7共存

    Ubuntu中默认安装了python2 7和python3 5 由于一次测试 我需要python3 7的环境 所以进行了安装 其中涉及到 python源码安装 软链接的增添 删除修改 对应版本的pip安装和查看 一 python源码安装 1
  • IT项目管理八

    作业一 假定你的组织想聘用新教师来教授项目管理课程 制定一个质量标准清单 可用于做出此次聘用决定 质量标准项 质量标准度量 学历要求 985硕士及以上学历 资格要求 具有教室资格证 专业要求 计算机或者软件工程专业 从业经历 任教5年以上
  • Qt一步一步实现插件调用(附源码)

    最近手里几个项目都采用插件的方式进行开发工作 这里记录一下实现方法 给需要的同学一个参考 在linux系统和window系统都能成功编译通过 不废话直接步骤 第一步 建立插件原型 新建一个Qt项目 实现一个一个实时刷新当前时间这这么一个功能
  • C++ 比较浮点型数据(float,double)

    学习来源 C Lern bool approximatelyEqualAbsRel double a double b double absEpsilon double relEpsilon Check if the numbers are
  • past_key_values在P-TuningV2中的巧用

    背景 目前HuggingFace发布了关于微调LLMs的方法包 Parameter Efficient Fine Tuning PEFT 其中包含下面6种方法 LoRA LORA LOW RANK ADAPTATION OF LARGE L
  • 命令执行攻击与防御

    命令执行漏洞效果类似包含攻击 主要时由于输入的参数被当成命令来执行 远程命令执行漏洞 如果目标站点在设计时其过滤功能不严格或数据与代码区分不明显 及其导致命令执行漏洞的存在 利用系统函数实现远程命令执行 在PHP下 允许远程命令执行的函数有
  • 阿里云部署Node.js服务器(Windows环境)

    花了大半个月做的网站终于要上线了 周围的同学们很多都在使用阿里云的服务器 我也入手了一台 考虑到自己不是很适应ubuntu的命令行界面 于是买了个windows的 上网搜了一下 似乎都是用linux来部署nodejs的 所以只能自己摸索着来