Linux下安装和使用nodejs初级教程

  • nodejs
  • nodejs服务器
任立峰·大连大学
2016-06-19
阅读数1062

1、登录Linux服务器

利用ssh工具登录到服务器上,相信大家都会吧

ssh root@x.x.x.x

 

2、查看和安装nodejs软件

初学linux的同学对于linux安装软件不是特别熟悉,这里以CentOS系统为例讲解

Linux软件安装工具yum,至于yum是什么东西大家可以网上搜索,讲的非常多,我这里直接略过,只讲解如何使用

2.1 查看软件包列表命令: yum list nodejs

如果显示如下就说明没有安装

可安装的软件包
nodejs.x86_64                         0.10.42-4.el7                         epe

2.2 接下来我们安装软件包:yum install nodejs

中间过程可以查看出来提示后按  y 回车,一路y下去就安装好了

 

3、nodejs的使用

安装好以后,输入  node -v 如果出现了一个版本号,说明程序安装成功了

3.1 下面运行一个简单的脚本程序,新建一个node的目录

cd /home

mkdir node

cd node

echo 'console.log("Hello World!")' > helloworld.js

node helloworld.js

看看是不是已经显示出结果啦,这些都是非常简单的,要达到运营node程序网站还远远不够,下面要继续安装npm

 

4、安装npm

npm是nodejs package manager 的缩写,就是专门管理node的软件包的,有了它一切包就比较好办啦

npm包的github地址:https://github.com/npm/npm

里面有详细介绍功能和使用说明,这里按照简单的方法安装,就是下面这一行命令

curl -L https://www.npmjs.com/install.sh | sh

稍等一会儿就安装好了

这里也给一个淘宝的npm源,里面各种开源软件,非常好用,关键是下载速度快呀,国外的网站下载非常慢,各种好玩的包大家去发现吧,地址是:https://npm.taobao.org

npm 的使用和yum非常像,安装一个http模块试试

npm list http 查看是否存在

npm install http 安装,转一会儿就安装好了

 

5、node服务器

5.1 单个简单网站应用

相信你已经迫不及待想要运营一个node的网站了,下面就来一个测试网站

创建一个server.js的文件,vim server.js,然后把下面的代码拷贝进去,如果你对vim命令不熟悉的话,就需要去看看vim的知识了,后面补充一篇vim的应用方法,现在你只需要跟着我简单操作,命令行输入vim server.js,后就打开一个文件,然后切换至英文输入法,按一下i键,复制我下面的代码,粘贴到里面,然后按 esc 然后输入 :wq  按回车键,就退出编辑了。回到了shell命令窗口。

var http = require('http');

http.createServer(function (request, response) {
        response.writeHead(200, {'Content-Type': 'text/plain'});
        response.end('Hello World\n');
}).listen(8888);
console.log('Server running at http://127.0.0.1:8888/');

鉴证奇迹的时刻了,命令行输入如下命名,不要退出也不要关闭ssh终端

node server.js

打印出了提示信息,Server running at http://127.0.0.1:8888/

赶紧用浏览器访问看看 http://x.x.x.x:8888 (x.x.x.x代表你机器的外网地址)

如果能看到 hello world 那恭喜你,已经完成了一个node的服务。

但我相信大部分人是看不到的,网页一直转圈圈,或者显示无法访问,这是由于防火墙在作怪,如果你阿里云的服务器,需要手动配置,容许8888端口被访问,这里也给出一个教程自己去查看,

https://help.aliyun.com/knowledge_detail/6700252.html

https://help.aliyun.com/knowledge_detail/6530313.html

如果是UCloud服务器,他这个的防火墙是在后台管理,进入管理后台,点击主机,点击右侧三个点选择“修改外网防火墙”,然后前往外网防火墙修改页,创建一个新的防火墙,或者把你现有的防火墙修改,添加一个http的快捷配置,然后修改80为8888,保存。让你的服务器应用到有8888端口的这个防火墙名称。这时候再去访问网页试试,是否能打开了?

5.2 以服务器的形式运行网站

程序可以运行了,命令行总不能一直挂着吧,而且一关闭ssh客户程序也就结束了,这就需要nohup命令了,就是让程序去后台执行

nohup node server.js > myLog.log 2>&1 &

这样立即回到了终端输入模式,访问网站也正常。关闭客户端还是可以访问。

5.3 重启node服务器

以为这样就结束了吗,没有呢,再次登录服务器,再运营那个程序,哇,报错啦,而且一大堆看不懂类似这样的东西。

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:905:11)
    at Server._listen2 (net.js:1043:14)
    at listen (net.js:1065:10)
    at Server.listen (net.js:1139:5)
    at Object. (/home/node/server.js:12:4)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

这是由于你的端口已经被占用了,想要再次绑定8888端口是不可以的,这时候需要把前一个进程结束掉。用下面这个命令查一下,就会发现确实有一个命令正在执行。

ps -ef |grep node

那我们就需要把它结束掉,用下面的命令

pkill node

再用上面查询进程的方法,看一下,那个进程已经没有了,而且再访问网站已经打不开了。好了,现在可以继续运行node服务器了,这就讲解了服务器的开始和关闭。

有什么问题欢迎留言

 

本文由 任立峰 授权 赛氪网 发表,并经赛氪网编辑。转载此文章须经作者同意,并请附上出处(赛氪网)及本页链接。原文链接https://www.saikr.com/a/2685
收藏
分享
别默默的看了,快来和大家聊聊吧,登录后发表评论~ 登录 立即注册
打赏
任立峰
打赏金额(金额:¥0)
给Ta留言
赏金已入袋,多谢!(*^__^*)
温馨提示

非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。

温馨提示
温馨提示
帮助与反馈

热门问题