利用ssh工具登录到服务器上,相信大家都会吧
ssh root@x.x.x.x
初学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下去就安装好了
安装好以后,输入 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.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服务器了,这就讲解了服务器的开始和关闭。
有什么问题欢迎留言
非常抱歉!本站不支持旧版本IE浏览器~~建议使用IE10/IE11/Chrome/Firefox/Safari等高级浏览器浏览。