Cent7中部署nodejs的操作
成果展示:
Node.js 是一个基于 Chrome V8 引擎的JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效,非常适合运行在分布式设备的数据密集型的实时应用。Node.js 的包管理器 npm,是全球最大的开源库生态系统。典型的应用场景包括:
实时应用:如在线聊天,实时通知推送等等(如socket.io)
分布式应用:通过高效的并行I/O使用已有的数据
工具类应用:海量的工具,小到前端压缩部署(如grunt),大到桌面图形界面应用程序
游戏类应用:游戏领域对实时和并发有很高的要求(如网易的pomelo框架)
利用稳定接口提升Web渲染能力
前后端编程语言环境统一:前端开发人员可以非常快速地切入到服务器端的开发(如著名的纯Javascript全栈式MEAN架构)
最初的想法是用NODEJS软件来调用mysql程序,并且使用nodejs实现对存储的控制。
这里涉及到2个点,一个是MYSQL的存储,二是nodejs的安装部署调用,下面我介绍是node.js的挖坑环节。
挖坑1:https://www.cnblogs.com/lpbottle/p/install_nodejs.html
根据连接作者提示,使用编译nodejs V8.7以上源代码,需要安装更gcc5.4;文章中缺少一个地方,评论里有./configure --enable-checking=release --enable-languages=c,c++--disable-multilib 我想楼主可能少了一步,如图下;但是我还是没有安装成功,gcc-v显示还是4.8版本;所以放弃了,另一种思路可能是要把4.8版本的gcc源码资源包从系统上面删除,在按照这个方法可能会实现;有兴趣可以去尝试一下;
挖坑2:https://www.cnblogs.com/charles-dxb/p/5170209.html
第一次安装失败了,是 [[email protected] node-v4.2.6]# ./configure--prefix=/usr/local/node
细节问题:首先先创建node文件夹,Linux不像windonws系统自带创建文件夹,如果源码编译安装没有指定文件夹会报错;
第二次成功了!是因为我创建了文件夹。下面是使用nodejs脚本创建第一个脚本;
[[email protected] node]# node -v
v4.2.6
[[email protected] node]# npm –v 【成功安装Nodejs后,npm管理模块也附带生产】
2.14.12
[[email protected] node]# touch server.js
[[email protected] node]# vim server.js
[[email protected] node]# node server.js 【随即创建server.js,但是node出现报错,原因是要**nvm】
。。。。。。。。。
SyntaxError: Unexpected end of input
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Function.Module.runMain (module.js:442:10)
at startup (node.js:136:18)
atnode.js:966:3
NVM(Node versionmanager)是Node.js的版本管理软件,使用户可以轻松在Node.js各个版本间进行切换。适用于长期做 node 开发的人员或有快速更新node版本、快速切换node版本这一需求的用户。
[[email protected] node]# yum install git作为依赖被升级:
perl-Git.noarch 0:1.8.3.1-13.el7
完毕!
已加载插件:fastestmirror, langpacks..
[[email protected] node]# git clonehttps://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && gitcheckout `git describe --abbrev=0 --tags`
正克隆到 '/root/.nvm'...
remote: Counting objects: 3928, done.
remote: Total 3928 (delta 0), reused 0(delta 0), pack-reused 3928
…
gitcheckout -b new_branch_name
HEAD 目前位于 43a7d78...v0.23.0
[[email protected] .nvm]# 2、**NVM。【已经**成功】
[[email protected] .nvm]# echo ".~/.nvm/nvm.sh" >> /etc/profile
[[email protected] .nvm]# source /etc/profile
[[email protected] .nvm]# nvm list-remote
v0.1.14
v0.1.15
v0.1.16
v0.1.17
v0.1.18
。。。。
[[email protected] .nvm]# nvm install v6.9.5
########################################################################100.0%
Checksums empty
Now using node v6.9.5
[[email protected] .nvm]# nvm install v7.4.0
########################################################################100.0%
Checksums empty
Now using node v7.4.0
[[email protected] .nvm]# nvm ls
v6.9.5
-> v7.4.0
system
stable -> 7.4 (-> v7.4.0) (default)
unstable -> 6.9 (-> v6.9.5) (default)
[[email protected] .nvm]# nvm use v7.4.0
[[email protected] .nvm]# cd ~
[[email protected] ~]# ls
anaconda-ks.cfg boost_1_61_0.tar.gz index.html Mysql 公共 视频 文档 音乐
boost_1_61_0 gcc-4.8.2.tar.gz initial-setup-ks.cfg mysql-boost-8.0.0-dmr.tar.gz 模板 图片 下载 桌面
[[email protected] ~]# touch example.js
[[email protected] ~]# vim example.js【在项目内添加以下内容】
【const http = require('http');
const hostname = 'localhost';
const port = 8088;
const server = http.createServer((req, res)=> {
res.statusCode = 200;
res.setHeader('Content-Type','text/plain');
res.end('Hello 张燕玲\n');
});
server.listen(port, hostname, () => {
console.log(`Server running athttp://${hostname}:${port}/`);
});
~ 】
[[email protected] ~]# node ~/example.js
Server running at http://localhost:8088/
^C
[[email protected] ~]# vim ~/example.js【停止node参数,服务器将停止访问】
【感谢网友提供帮助,IT路茫茫,心里坚有灯,详细步骤和说明参考https://help.aliyun.com/document_detail/50775.html】
历史操作指令截图: