nodejs 如何部署到服务器上?

nodejs 如何部署到服务器上?,第1张

跟你在本地开发是相同的。

1、安装指定版本的nodejs(服务器基本软件的安装)

2、上传代码到服务器(可以通过ftp、ssh、git等方式)

3、安装项目依赖的模块

> npm install

4、启动应用(也可以通过forever、pm2等工具进行管理)

> node /

当然,如果你深谙运维之道,可以直接通过docker等方案将运行环境容容器化。

基本的Linux运维知识的话可以参考linuxprobecom。

还有几个需要注意的点:

1、运行权限:注意做好应用之间的隔离(使用低权限用户、文件系统隔离等),避免应用崩溃导致系统宕机等风险

2、80端口:通过nginx等进行反向代理,应用本身占用1024后的端口(无需root权限)

tomcat你知道吗?假设用java开发,生产环境的发布过程,先编译java的代码,然后打包放到tomcat容器中,最后启动tomcat这就是发布了。
nodejs需要通过npm install安装需要的module依赖,假设你的应用入口是appjs,那么运行node appjs就是启动了nodejs。
一般在生产环境上还要监控nodejs的状态,如果挂了自动重启,nodejs的特点就是容易挂,重启非常快。

nodejs混淆加密后文件在自己默认的存储地方。一般情况下不需要,因为代码跑在云端服务器上啊。只要服务器安全,Nodejs代码哪怕是明文,也是安全的。需要代码部署在不信任的环境。一旦把Nodejs源代码在甲方的服务器进行打包或上线,那甲方就可以轻易地查看,分析,篡改和复制代码。

1 下载Nodejs官方非稳定版Windows可执行程序:
我在试验中使用了057版本
2 创建c:\nodejs目录,并将nodeexe保存在此目录中
3 下载express。因为依赖关系,我们还需要下载:connect、qs、mime和jade(express默认模板系统。如果你使用其他模板系统,需要下载相应系统)
4 创建c:\nodejs\node_modules目录,并在此目录中分别创建[Module]目录。然后将上一步下载的文件压缩,把相关文件拷贝到[Module]目录中。
node_modules
|- connect <= connect: lib/
|- express <= express: lib/
|- jade <= jade: lib/
|- mime <= mime: mimejs & types/
|- qs <= qs: lib/
5 在c:\nodejs\node_modules目录,分别创建以下文件:
connectjs
内容:moduleexports = require('/connect/connect');

11 已经在服务器搭建好NODE的环境,若无,可以参考我 前一篇博客 进行搭建。由于此篇博客是在 前一篇博客 基础上进行扩展,如有不明之处,可先看下前一篇博客。
12 已经写好了一个NODE项目

21 因为我是用PM2进行进程管理的,所以先在自己的项目根目录下面写好对应服务器的PM2执行文件:

22 在项目根目录下新建一个logs文件夹
23 在服务器根目录下把自己的项目拉取下来:

24 开放服务器访问安全组
假设你开启项目的端口是3001,打开网页的时候发现打不开访问网址的端口,需要开放服务器访问安全组。
241 到服务器开通安全组

242 服务器也要开通设置防火墙
CentOS 70默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1思路
现在如果你的node项目是在3001端口上跑的话,那么你打开网页的地址应该是 >

一、JavaScript

传统的JavaScript是运行在浏览器上的,因为浏览器的内核分为两个部分

二、什么是Nodejs

Nodejs 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,运行在服务端的JavaScript。Nodejs 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

综上所述,vuejs 是通过 webpack来打包,而webpack 又基于 npm, npm需要nodejs环境。这就是为什么vuejs 还需要安装nodejs环境。

将目标dist文件夹拷贝到一台未安装nodejs的 nginx服务器上,访问页面可以正常响应逻辑。这时跟nodejs没有任何关系,服务器又不是nodejs在担当,而是nginx。如果你用nodejs来部署服务器,则需要在目标机上安装nodejs

简单的说:你既可以开发nodejs的服务程序,亦可以用基于nodejs的npm && webpack来打包 目标前端页面。vuejs 使用webpack来打包,故而需要nodejs环境。

参考文章

Nodejs 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Nodejs 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Nodejs 的包管理器 npm,是全球最大的开源库生态系统。(nodejs官网上的介绍),正如官网上介绍的那样,nodejs确实很牛!怎么个牛法?看看下面的代码就知道了。

//引入>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10644259.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存