2

最近在搭建自己的网站,需要在服务器(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命令执行成功后,终端会显示这样的内容:

clipboard.png

这时还不能直接关闭终端,还需要按任意键退回到shell输入命令窗口,此时才能关闭终端

clipboard.png

查看所有正在运行的进程

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,就可以结束该程序的运行


jhhfft
590 声望40 粉丝

Write the Code. Change the World.