标签归档:Express

Debian 8安装Node.js及Express Web框架

0x00 前言

最近突然想尝试下Node.js,于是今天上午的时候就在Windows下使用msi安装包尝了尝鲜。下午时尝试在VPS(debian系统)上进行配置,踩了一些小坑。

0x01 使用apt-get方式安装

按照以前的习惯(主要是懒),使用$ sudo apt-get install nodejs npm进行安装,一切顺利。安装结束后,nodejs -v命令显示版本号为0.10.*,想到早上在windows下安装的版本已7.1.0,瞬间懵逼。遂卸载 $ sudo apt-get remove nodejs npm.

0x02 中途放弃的源码安装

尝试从https://github.com/nodejs/node上clone时发现仓库远比我想象的要大,出于能简单绝不麻烦的考虑,放弃该方案。

0x03 使用二进制包

从官方https://nodejs.org/en/download/下载Linux下的二进制安装包。此处我下载的是Current版,版本号v7.1.0,下载并解压:

$ wget https://nodejs.org/dist/v7.1.0/node-v7.1.0-linux-x64.tar.xz
$ xz -d node-v7.1.0-linux-x64.tar.xz
$ tar xvf node-v7.1.0-linux-x64.tar

进入解压后的目录,查看结构:
node0
将对应目录拷贝至根目录下:
$ sudo cp -r ./bin/* /bin/
$ sudo cp -r ./include/* /include/
$ sudo cp -r ./lib/* /lib/
$ sudo mkdir /share
$ sudo cp -r ./share/* /share/

执行node -v,可以正常显示版本号,安装基本完成。

0x04 npm问题

若安装输入npm命令报错:
node3
可能是由于复制bin目录时未使用-r参数,导致npm的符号链接丢失:
node4
解决方案:使用cp -r命令重新复制或手动建立符号链接
$ sudo rm /bin/npm
$ sudo ln -s /lib/node_modules/npm/bin/npm-cli.js /bin/npm
node5

0x05 安装Express生成器并生成应用程序

$ sudo npm install express-generator -g
$ express myapp
$ cd myapp && npm install
$ DEBUG=myapp:* npm start

浏览器访问http://ip:3000,出现欢迎页面即安装成功;
若未出现请检查防火墙

0x06 持续运行

使用$ DEBUG=myapp:* npm start 命令是在终端中持续运行,若终端关闭则服务器同时也被关闭,有三种解决方案:

(1) nohup
$ nohup npm start > log.log &
优点:简单快捷
缺点:关闭时需要使用ps查看进程号后使用kill命令;崩溃后无法重启

(2) screen
在screen中执行$ DEBUG=myapp:* npm start
优点:可以ctrl -c终止,同时也可以关闭终端后持续运行,适用于开发阶段随时开启关闭服务器
缺点:崩溃后无法重启

(3)forever
安装$ sudo npm install forever -g
运行$ forever start app.js
关闭$ forever stop app.js

0x07 配置nginx反向代理

略~~