大家好,如果您还对nodejs部署到服务器不太了解,没有关系,今天就由本站为大家分享nodejs部署到服务器的知识,包括nodejs如何部署到服务器上的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

一、nodejs如何部署到服务器上

有几种部署方式,由项目复杂度而定。

最简单的。

简单的小网站可以使用Node.js作为web服务器,不做前后端分离,使用后端模板填充数据,代表框架express。

如果要做负载均衡或者响应多端请求,那么采用前后端分离。前端代码可以放在CDN或nginx这类静态服务器上,前端向Node.js服务端发送rest请求。代表框架koa。

如果业务更加复杂,有较多的CPU密集型任务需要执行,那么Node.js后面再接一层服务器(J*a、Python)来处理。

另外由于Node.js是单线程进程,一旦出错就会崩溃,导致服务端无法访问。所以部署Node.js的时候需要使用

PM2

,这样可以在Node.js程序崩溃之后及时重启,当然还有其它好处,比如灰度部署、负载均衡等。

二、如何通过输入域名访问部署在本机的nodejs服务器

修改系统的hosts文件就可以了,比如(你想用的域名为:):

node服务器的host为:localhost,端口(port):8080;

修改系统hosts文件,在末尾加一行代码:127.0.0.1 然后保存。

在浏览器输入:即可访问(前提是项目node服务器正在运行,没运行会失败);

PS:如果想输入就能访问(不加端口,其实不是没有端口只是一般80端口是默认值,可以不写),只需把node服务器的端口(port)设置为80再运行即可(当然前提是80端口没有被其他程序占用)

三、nodejs怎么部署到腾讯云服务器上

到小鸟云购买云服务器

作为一个穷逼+不熟悉服务器配置的菜鸟。选了最便宜的套餐: CPU: 1核/内存: 1024 MB/带宽:1Mbps/操作系统: CentOS

7.0购买环节会设置 ssh登陆密码,记下密码。登陆到小鸟云,查看购买的实例。注意公网 IP,下一步会用到

2.登陆服务器 sudo ssh你的服务器ip

提示输入mac的密码,提示输入服务器密码。输入后连接成功并显示服务器信息,如下:

登陆服务器后。这里对于我这个 Linux菜鸟有个大坑………就是 Linux系统常见的目录结构和文件放置区域。使用 root

用户身份登陆后,会进入到下图红色箭头标出的 root目录下。先 cd..跳转到上一层,再 ls-a

,就可以看到类似下图的目录结构了。

3.安装 node和 mongodb

node–编译后二进制文件应在/usr/local/bin/node下 mongodb–安装在/usr/local/mongodb下

下面就一步一步来,首先升级CentOS

yum-y update1

升级后,跳转到/usr/local/src,这个文件夹通常用来存放软件源代码

cd/usr/local/src1

nodejs代码,也可以使用scp命令上传,因为实在太慢了。

wget 注*根据最新版本号为准12

解压

tar-xzvf node-v0.12.5.tar.gz1

进入解压后的文件夹

cd node-v0.12.51

执行配置脚本来进行编译预处理

./configure1

编译源代码

make//注*这个时间可能会很久12

当编译完成后,需要使之在系统范围内可用,

编译后的二进制文件将被放置到系统路径,默认情况下,Node二进制文件应该放在/user/local/bin/node文件夹下

make install1

安装 express和 forever,这两个模块都推荐 global安装

npm-g install express forever1

建立超级,不然 sudo node时会报“mand not found”

sudo ln-s/usr/local/bin/node/usr/bin/nodesudo ln-s/usr/local/lib/node

/usr/lib/nodesudo ln-s/usr/local/bin/npm/usr/bin/npmsudo ln-s

/usr/local/bin/node-waf/usr/bin/node-wafsudo ln-s/usr/local/bin/forever

/usr/bin/forever12345

Nodejs到这里就基本安装完成了。

下面来安装mongodb

软件安装位置:/usr/local/mongodb数据存放位置:/var/mongodb/data

日志存放位置:/var/mongodb/logs

首先安装包

cd/usr/localwget

nodejs部署到服务器 nodejs如何部署到服务器上

解压安装包,重命名文件夹为mongodb

tar zxvf mongodb-linux-x86_64-2.6.0.tgzmv mongodb-linux-x86_64-2.6.0

mongodb12

创建数据和日志存放目录

mkdir/var/mongodbmkdir/var/mongodb/da*kdir/var/mongodb/logs123

打开rc.local文件,添加CentOS开机启动项:

vim/etc/rc.d/rc.local1

将mongodb启动命令追加到本文件中,让mongodb开机自启动:

/usr/local/mongodb/bin/mongod--dbpath=/var/mongodb/data--logpath

/var/mongodb/logs/log.log-fork12

关闭 vim后,手动启动mongodb

/usr/local/mongodb/bin/mongod--dbpath=/var/mongodb/data--logpath

/var/mongodb/logs/log.log-fork12

看到类似的信息,说明已启动成功。我在这里发了个傻,以为26308是port号,导致后面设置port时折腾了好久。其实这里的 forked

process和 port号是两个东西,这个是程序本身在Server上的进程。

forked process: 263081

启动mongo shell

cd/usr/local/mongodb/bin/./mongo12

在 mongo shell中创建管理员及数据库

use admin//admin数据库db.createUser({user:

"用户名",pwd:"登陆密码",roles:["userAdminAnyDatabase"]

//超级管理员})use databaseFoo//node要连接的数据库db.createUser({user:

"用户名",pwd:"登陆密码",roles:["readWrite"]

//读写权限})111213

到这里 mongodb基本已经安装设置完成了。具体数据的迁移导入可自行研究。

4.配置及启动node

我们把 node的程序放在/home下

四、如何用命令行开启nodejs搭建web服务器

首先,需要安装nodejs,这个可以去官网,目前我本地安装的v0.12版本。

安装完成后可以通过命令行测试安装是否成功,输入:node-v,应该会显示当前安装node版本号。

本文中用到的模块,都是nodejs核心模块,不需要从外部,如果有需要,可以使用以下命令安装:npm install xxx。

开始

下一步,新建js文件,可以命名为server.js,代码如下:

var = require('');

var url= require('url');

var path= require('path');

var fs= require('fs');

var dir, arg= process.argv[2]||'';//命令行第三个参数,用来接收目录,可为空,相对当前server.js文件的目录名称

//比如使用命令 node server debug,意思就是debug文件夹与server.js文件同级

//且你想以debug文件夹启动web服务

.createServer(function(req, res){

var pathname= __dirname+ url.parse(req.url).pathname;

五、服务器部署nodejs的几种方法

由于自身特*的原因。node程序必须保持开启才能访问网站,而当我们关闭SSH时这些进程都会被停止。有以下3种方法可以避免这个问题。

screen

Screen,虚拟终端管理器。可以在后台管理终端界面,防止SSH断开以后任务停止运行。

安装方法:

sudo apt-get screen(以ubuntu为例)

使用方法:

使用screen-S [任意id]命令进入一个名为id的终端,此时便可以随意执行操作

例如执行sudo apt-get upgrade,或者其它消耗时间比较长的工作,像编译内核等等。

按ctrl+a后再按d保存虚拟终端,系统提示deatached即为保存成功

接下来可以断开SSH终端,虚拟终端仍会执行。

访问已经创建好的终端

screen-ls列出已经创建的正在后台运行的终端

screen-r xxx进入终端

例如 screen-r terminal1

彻底退出

screen-r进入终端后执行exit即可完全退出

PM2

pm2是一个带有负载均衡功能的Node应用的进程管理器.当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着

安装方法

npm install-g pm2

使用方法

启动应用pm2 start-watch .js

重启应用pm2 restart .js

显示进程列表pm2 list

停止某应用pm2 stop _name|_id

停止所有应用pm2 stop all

小白方案

个人目前用的是宝塔Linux面板,可以说是把Linux的各种操作都已比较简单的形式展现出来了,不需要什么Linux知识就能掌握宝塔官网了解一下

而这其中内置了PM2管理,装一下就OK了