手把手教你如何在阿里云.Linux服务器上进行node配置及使用(图文)

d1dd27310a55b3193a48f1fd4aa98226cefc17a7.jpg

前言

踩了不少坑网上感觉帖子都不太全自己撸完之后把服务器初始化又重新撸了一遍。就有了这篇文章。

本文主要只介绍了如何使你的云服务器支持node环境。并不包含node.js具体代码。照撸之前、请自己写一份监听端口的文件备用。

1、买个服务器

没啥说了吧、记得服务器的密码就行。

2、登录服务器

  • 远程连接到你的服务器
    sudo ssh 公网ip
    //如果你发现密码不对、也可以用root登录试试
    sudo ssh root@公网ip
    先输入mac密码、再输入服务器密码

3、安装node

既然是用node.js进行服务器配置。当然要先安装node.js

1、先检查一下g++是否完整

因为我有一次安装的时候提示g++: Command not found导致安装失败。所以还是提前检查一下吧.

g++ --version

如果已经安装。你就可以去安装node.js了。

如果没有
//yum 安装g++时,用yum list的程序名不是 g++,而是 gcc-c++,这个真的很坑。
  yum install gcc-c++

2、下载安装node.js

可以使用yum进行安装、但这里不推荐

其一是安装不了太新的版本、而且不能更新
其二是yum安装不会主动检查运行环境、以后麻烦

使用wget命令下载安装

//选择你的源码路径
cd /usr/local/src/
//使用wget下载
wget https://nodejs.org/dist/v8.0.0/node-v8.0.0.tar.gz
//解压
tar xvf node-v8.0.0.tar.gz          
//进入文件夹
cd node-v8.0.0
//依次执行
./configure 
make && make install

make的时间会很长、你可以看个电影或者电视剧~
安装成功之后、查看一下node版本确认是否完成:

node -v

4、上传node代码

我用的是webstorm、具体看截图吧。

屏幕快照 2017-07-04 下午5.44.29.png

屏幕快照 2017-07-04 下午5.45.40.png

屏幕快照 2017-07-04 下午5.49.50.png

屏幕快照 2017-07-04 下午5.50.27.png

这样就已经配置完了

屏幕快照 2017-07-04 下午5.52.41.png

屏幕快照 2017-07-04 下午5.53.25.png

屏幕快照 2017-07-04 下午5.54.30.png

5、关于服务器端口监听

在保证本地监听可以启动的情况下、如果修改成公网ip进行监听出错。

listen EADDRNOTAVAIL 47.94.210.34:8080
屏幕快照 2017-07-04 下午5.59.13.png

解决办法

1、你可以尝试监听全部IP地址

你可以listen(port,'.0.0.0.0')、或者干脆listen(port)、具体为什么不能监听上面那个、我也不清楚、但0.0.0.0肯定是万能的解法。

以下为开发文档原文
  >
 server.listen(port, [hostname], [backlog], [callback])#Begin accepting connections 
 on the specified port and hostname.
 If the hostname is omitted, the server will accept connections directed to any IPv4 
 address (INADDR_ANY).

也就是说如果不填写主机名 hostname 字段、默认是监听 INADDR_ANY 、也就是任意的IPv4地址。

2、如果上面还不好使。你可以尝试修改服务器的安全组配置
WechatIMG225.jpeg

WechatIMG227.jpeg

WechatIMG226.jpeg

6、通过pm2让node.js程序常驻

通常我们启动node程序就是直接node xxx.js
但是控制台是不能退出的。pm2可以帮我们解决这些问题。


屏幕快照 2017-07-04 下午6.15.01.png
安装pm2
npm install -g pm2
//或者
npm install pm2@latest -g
启动pm2
pm2 start form.js --name my_form

启动成功


屏幕快照 2017-07-04 下午6.24.26.png

可以你也可以查看当前进程状态
# pm2 list


屏幕快照 2017-07-04 下午6.26.47.png

请忽视我这个errored、因为是同一个文件、所以端口重复监听了报错。不过从这个15次重新运行上看、mp2的这个功能应该是默认的。
然后、关于如何设置开机自启动程序。
pm2 start form.js
pm2 save
pm2 startup

重启服务器再次查看list、就会发现列表内的线程已经启动成功了。

7、通过npm进行node版本管理

我本地的node是通过brew安装的。但是这个brew在服务器上死活搞不上去、所以才用的安装包。
但不能每次更新也都用安装包配置一遍。

于是、该我们的npm登场了。
  //首先安装n模块:专门用来管理node的工具  
  npm install -g n
  //你可以查看所有的node版本。本地版本会加粗显示、当前使用版本会有圆圈标注。
  n ls
  //下载指定版本的node
  n v7.10.0
  //选择当前部署版本(上下按钮选择、回车确定部署)
  n

赶着下班、我就不贴图了。自己试试就知道了。

最后

至此、你的阿里云上已经成功搭建好了node环境并且可以像你本地一样工作。
如果上述过程中出现了什么问题。欢迎留言。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,827评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,953评论 25 709
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,915评论 6 13
  • 我觉得我可以写一些身旁人不知道的文字,不管好坏,画一些身旁人不知道的小画,不论好坏,因为很多时间很想很想表达,却不...
    纳兰兔子阅读 1,576评论 0 0
  • 灰蒙蒙的天像哭过,琪琪躲在树下不知所措的站着,看着对面的男子穿过马路,慢慢的慢慢的向她走来。是他太镇定还是太有自...
    六柠阅读 4,032评论 2 2

友情链接更多精彩内容