Linux服务器上快速部署Node.js应用

前言

部署需要用到pm2nginxpm2是一个带有负载均衡功能的Node应用的进程管理器

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。Nginx是由俄罗斯人Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor Sysoev在建立的项目时,使用基于BSD许可。(引用自网络)

主要通过pm2来进行部署,通过nginx进行端口转发

部署应用

部署应用之前首先确保服务器上已经安装好nodenpm

安装PM2

npm install pm2 -g

启动应用

pm2 start app.js

PM2使用命令

  • pm2 list查看所有运行中的应用
  • pm2 show 查看指定应用的详细信息
  • pm2 stop 停止指定的应用
  • pm2 restart 重启指定应用
  • pm2 delete 删除指定的应用

更多命令参考https://github.com/Unitech/pm2

Nginx

由于某种原因,应用并不能直接部署在80端口上,而是部署在其他端口,然后通过Nginx将部署的端口转发到80端口

安装Nginx

sudo apt-get install nginx

安装完后可以在浏览器里直接使用localhost访问

修改Nginx配置文件实现端口转发,配置文件默认是/etc/nginx/nginx.conf

在http里加入如下内容

server {
    listen  80;
    server_name localhost;

    location / {
        proxy_pass  http://127.0.0.1:3000;
    }
}

修改完成后执行sudo nginx -s reload重载配置文件

然后再次用浏览器访问localhost发现打开的已经是3000端口的应用了

一些Nginx命令

  • 重载配置文件:sudo nginx -s reload
  • 快速停止:sudo nginx -s stop
  • 优雅的停止:sudo nginx -s quit
  • 重新打开日志:sudo nginx -s reopen
  • 启动Nginx:service nginx start
  • 停止Nginx:service nginx stop
  • 重启Nginx:service nginx restart
  • 重载配置:service nginx reload

参考链接

  • 服务器部署 · Node.js 实战
  • nginx 命令行参数 启动 重启 重载 停止 一介布衣

你可能感兴趣的:(Node,Linux)