㈠ 服务器部署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 app.js
重启应用pm2 restart app.js
显示进程列表pm2 list
停止某应用pm2 stop app_name|app_id
停止所有应用pm2 stop all
小白方案
个人目前用的是宝塔linux面板,可以说是把Linux的各种操作都已比较简单的形式展现出来了,不需要什么Linux知识就能掌握宝塔官网了解一下
㈡ 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权限)