最近在搭建自己的网站,需要在服务器(Ubuntu
系统)上安装Node.js
相关的内容,这篇博客就记录一下Node.js
的安装、服务器简单功能的实现、以及用到的一些`Linux命令
Ubuntu安装Nodejs
之前在自己电脑上安装Node.js的时候,看了好多篇博客,各种安装方式都有。这次在服务器上安装Node.js的时候,我发现Node.js官网上介绍了一种“通过软件包管理器安装Node.js”的方式(here)。这个方法非常简单,就只需要执行两条命令,就可以安装并配置好Node.js了
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
npm相关命令
使用npm安装插件时,需要从国外服务器下载,受网络影响大,速度可能会比较慢,为了在国内更加方便使用npm,可以配置npm的registry地址,将其设置为国内的淘宝NPM镜像地址,具体的设置命令为:
npm config set registry https://registry.npm.taobao.org/
如果需要恢复默认值,可以执行命令
npm config delete registry
Express
Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架。我们可以使用Express来实现服务器的相关功能。
我们可以通过应用器生成工具express快速创建一个应用的骨架
安装应用器生成工具
npm install express-generator -g
创建应用的骨架
在当前目录下创建一个命名为myapp的应用
express myapp
然后安装所有依赖包
cd myapp
npm install
启动应用
// MacOS或者Linux平台
$DEBUG=app npm start 或者 npm start
// Windows平台
set $DEBUG=myapp & npm start
由于默认的是监听3000端口,因此在浏览器中打开http://local.host:3000
,就可以看到这个应用了。
(如果需要修改监听的宽口好,可以在bin目录下的www文件中进行相关修改)
linux相关命令
启动服务器程序
$DEBUG=app npm start 或者 npm start
让服务器程序后台运行
方法1:
命令后面加 &,然后执行回车,则服务器程序就会在后端运行
npm start &
方法2:
运行命令后再按ctrl + z
,之后,程序进入Stopped
状态(这时服务器是无法处理请求的),这时需要先输入jobs
,查看对应程序的编号;再输入bg 编号
,这时服务器程序才能在后台处理请求
不挂断地运行命令
一般都是通过putty这样的工具来执行服务器程序,但是当关闭putty工具后,服务器程序就会被结束,但是我们希望服务器程序能够持续运行下去,这时候就可以使用nohup
命令,在你退出帐户/关闭终端之后继续运行相应的进程
nohup Command [ Arg … ] [ & ]
对应之前的例子,可以这样子写命令
nohup npm start &
注意:
当nohup
命令执行成功后,终端会显示这样的内容:
这时还不能直接关闭终端,还需要按任意键退回到shell输入命令窗口,此时才能关闭终端
查看所有正在运行的进程
top
或者
ps aux | less
显示某个程序是否在运行
ps -aux | grep "node"
ps -aux | grep node
显示占用某个端口的程序
使用 lsof -i:端口号
命令
lsof -i:80
lsof -i:5000
关闭一个程序
使用
kill 进程编号
命令
kill 211119
先输入
jobs
,找到对应程序的编号;再输入fg 编号
,这时程序会切换到前台运行,这时再按ctrl c
,就可以结束该程序的运行
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。