nodejs部署到服务器 nodejs 如何部署到服务器上
大家好,今天小编来为大家解答nodejs部署到服务器这个问题,nodejs 如何部署到服务器上很多人还不知道,现在让我们一起来看看吧!
nodejs 如何部署到服务器上
跟你在本地开发是相同的。
1、安装指定版本的node.js(服务器基本软件的安装)
2、上传代码到服务器(可以通过ftp、ssh、git等方式)
3、安装项目依赖的模块
>npminstall
4、启动应用(也可以通过forever、pm2等工具进行管理)
>node./www/bin
当然,如果你深谙运维之道,可以直接通过docker等方案将运行环境容容器化。
基本的Linux运维知识的话可以参考linuxprobe.com。
还有几个需要注意的点:
1、运行权限:注意做好应用之间的隔离(使用低权限用户、文件系统隔离等),避免应用崩溃导致系统宕机等风险
2、80端口:通过nginx等进行反向代理,应用本身占用1024后的端口(无需root权限)
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 http://nodejs.org/dist/v0.12.5/node-v0.12.5.tar.gz//注*根据最新版本号为准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时会报“command 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
http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz12
解压安装包,重命名文件夹为mongodb
tar zxvf mongodb-linux-x86_64-2.6.0.tgzmv mongodb-linux-x86_64-2.6.0
mongodb12
创建数据和日志存放目录
mkdir/var/mongodbmkdir/var/mongodb/datamkdir/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//nodeapp要连接的数据库db.createUser({user:
"用户名",pwd:"登陆密码",roles:["readWrite"]
//读写权限})12345678910111213
到这里 mongodb基本已经安装设置完成了。具体数据的迁移导入可自行研究。
4.配置及启动node app
我们把 nodeapp的程序放在/home下
nodejs如何部署到服务器上
有几种部署方式,由项目复杂度而定。
最简单的。
简单的小网站可以直接使用Node.js作为web服务器,不做前后端分离,使用后端模板填充数据,代表框架express。
如果要做负载均衡或者响应多端请求,那么采用前后端分离。前端代码可以放在CDN或nginx这类静态服务器上,前端向Node.js服务端发送rest请求。代表框架koa。
如果业务更加复杂,有较多的CPU密集型任务需要执行,那么Node.js后面再接一层服务器(Java、Python)来处理。
另外由于Node.js是单线程进程,一旦出错就会崩溃,导致服务端无法访问。所以部署Node.js的时候需要使用
PM2
,这样可以在Node.js程序崩溃之后及时重启,当然还有其它好处,比如灰度部署、负载均衡等。关于nodejs部署到服务器的内容到此结束,希望对大家有所帮助。