腾讯云node的优势?后端用node还是java
nodejs怎么部署到腾讯云服务器上
到小鸟云购买云服务器
作为一个穷逼+不熟悉服务器配置的菜鸟。选了最便宜的套餐: CPU: 1核/内存: 1024 MB/带宽:1Mbps/操作系统: CentOS
7.0购买环节会设置 ssh登陆密码,记下密码。登陆到小鸟云,查看购买的实例。注意公网 IP,下一步会用到
2.登陆服务器 sudo ssh你的服务器ip地址
提示输入mac的密码,提示输入服务器密码。输入后连接成功并显示服务器信息,如下:
登陆服务器后。这里对于我这个 Linux菜鸟有个大坑………就是 Linux系统常见的目录结构和文件放置区域。使用 root
用户身份登陆后,会直接进入到下图红色箭头标出的 root目录下。先 cd..跳转到上一层,再 ls-a
,就可以看到类似下图的目录结构了。
3.安装 node和 mongodb
node–编译后二进制文件应在/usr/local/bin/node下 mongodb–安装在/usr/local/mongodb下
下面就一步一步来,首先升级CentOS
yum-y update1
升级后,跳转到/usr/local/src,这个文件夹通常用来存放软件源代码
cd/usr/local/src1
下载 nodejs代码,也可以使用scp命令直接上传,因为下载实在太慢了。
wget 注*根据最新版本号为准12
解压
tar-xzvf node-v0.12.5.tar.gz1
进入解压后的文件夹
cd node-v0.12.51
执行配置脚本来进行编译预处理
./configure1
编译源代码
make//注*这个时间可能会很久12
当编译完成后,需要使之在系统范围内可用,
编译后的二进制文件将被放置到系统路径,默认情况下,Node二进制文件应该放在/user/local/bin/node文件夹下
make install1
安装 express和 forever,这两个模块都推荐 global安装
npm-g install express forever1
建立超级链接,不然 sudo node时会报“command not found”
sudo ln-s/usr/local/bin/node/usr/bin/nodesudo ln-s/usr/local/lib/node
/usr/lib/nodesudo ln-s/usr/local/bin/npm/usr/bin/npmsudo ln-s
/usr/local/bin/node-waf/usr/bin/node-wafsudo ln-s/usr/local/bin/forever
/usr/bin/forever12345
Nodejs到这里就基本安装完成了。
下面来安装mongodb
软件安装位置:/usr/local/mongodb数据存放位置:/var/mongodb/data
日志存放位置:/var/mongodb/logs
首先下载安装包
cd/usr/localwget
解压安装包,重命名文件夹为mongodb
tar zxvf mongodb-linux-x86_64-2.6.0.tgzmv mongodb-linux-x86_64-2.6.0
mongodb12
创建数据和日志存放目录
mkdir/var/mongodbmkdir/var/mongodb/datamkdir/var/mongodb/logs123
打开rc.local文件,添加CentOS开机启动项:
vim/etc/rc.d/rc.local1
将mongodb启动命令追加到本文件中,让mongodb开机自启动:
/usr/local/mongodb/bin/mongod--dbpath=/var/mongodb/data--logpath
/var/mongodb/logs/log.log-fork12
关闭 vim后,直接手动启动mongodb
/usr/local/mongodb/bin/mongod--dbpath=/var/mongodb/data--logpath
/var/mongodb/logs/log.log-fork12
看到类似的信息,说明已启动成功。我在这里发了个傻,以为26308是port号,导致后面设置port时折腾了好久。其实这里的 forked
process和 port号是两个东西,这个是程序本身在Server上的进程。
forked process: 263081
启动mongo shell
cd/usr/local/mongodb/bin/./mongo12
在 mongo shell中创建管理员及数据库
use admin//admin数据库db.createUser({user:
"用户名",pwd:"登陆密码",roles:["userAdminAnyDatabase"]
//超级管理员})use databaseFoo//nodeapp要连接的数据库db.createUser({user:
"用户名",pwd:"登陆密码",roles:["readWrite"]
//读写权限})12345678910111213
到这里 mongodb基本已经安装设置完成了。具体数据的迁移导入可自行研究。
4.配置及启动node app
我们把 nodeapp的程序放在/home下
什么是云计算
最近,大公司如MS、Google、IBM等都在炒作一个概念就是云计算,如IBM跟欧盟合作开展云计算,欧盟拨款1.7亿万欧元;Google与IBM联合力推云计算模式;Yahoo!也把宝押在了云计算上;我国也在无锡跟IBM公司联合建立了一个云计算中心;有人说微软收购Yahoo!一个重要的考虑就是在Yahoo在云计算方面的领先地位,多少有点儿道理。那么,什么是云计算哪?我看到有一位推广自由开源的老先生把云计算(Cloud Computing)翻译成“云雾计算”着实是可笑,好多网友也在问什么是云计算,什么是雾计算,说明好多人对于云计算是一头雾水。云计算可不是“云雨”,可不是云山雾罩。
“云计算”(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。许多跨国信息技术行业的公司如IBM、Yahoo和Google等正在使用云计算的概念兜售自己的产品和服务。云计算这个名词可能是借用了量子物理中的“电子云”(Electron Cloud),强调说明计算的弥漫性、无所不在的分布性和社会性特征。量子物理上有“电子云(electron cloud)”,在原子核周围运动的电子不是一个经验世界的轨道例如像天体一样的运行轨道,而是弥漫空间的、云状的存在,描述电子的运动不是牛顿经典力学而是一个概率分布的密度函数,用薛定谔波动方程来描述,特定的时间内粒子位于某个位置的概率有多大,这跟经典力学的提法完全不同。电子云有以下特性,概然性、弥漫性、同时性等等,云计算可能的确是来自电子云的概念,前今年就有所谓“无所不在的计算”,IBM有一个无所不在的计算叫“Ubiquitous“,MS(Bill)不久也跟着提出一个无所不在的计算“Pervade“,现在人们对无所不在的计算又有了新的认识,现在说是”Omnipresent“。但是,云计算的确不是纯粹的商业炒作,的确会改变信息产业的格局,现在许多人已经用上了Google Doc和Google Apps,用上了许多远程软件应用如Office字处理而不是用自己本地机器上安装这些应用软件,以后谁还会花钱买Office软件哪?还有许多企业应用如电子商务应用,例如要写一个交易程序,Google的企业方案就包含了现成的模板,一个销售人员根本没学习过Netbeanr也能做出来。这种计算和产业动向是符合开源精神的,符合SaaS(Software as a Service)趋势。现在有这样的说法,当今世界只有五台计算机,一台是Google的,一台是IBM的,一台是Yahoo的,一台是Amazon的,一台是微软的,因为这五个公司率先在分布式处理的商业应用上捷足先登引领潮流。Sun公司很早就提出说“网络就是计算机”是有先见之明的。
有以下五个主要原因使得分布式计算必然会越来越普遍,逐渐发展成主流的计算模式而取代集中式的大型计算机:
1。现在分布式系统的第一个原因就是因为他具有比集中式系统更好的性能价格比。你不要花几十万美元就能获得高效能计算。
2。多数应用本身就是分布式的。如工业企业应用,管理部门和现场不在同一个地方。
3。高可靠性。冗余不仅是生物进化的必要条件,而且也是信息技术。现代分布式系统具有高度容错机制,控制核反应堆主要采用分布式来实现高可靠性。
4。可扩展性。买一台性能更高的大型机,或者再买一台性能相同的大型机的费用都比添加几台PC的费用高得多。
5。高度灵活性。能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算。
粗略地计算,目前的个人计算机每个CPU芯片的处理能力是200MIPS,就是每秒种执行200M也就是两亿次指令,而最近Yahoo!公司报道他们已经实现了有一万个节点(node)就是一万台PC计算机连接的分布式系统,总的处理能力是 2,000,000MIPS,最快的芯片也达不到这个速度,因为在一定面积上设计的芯片的速度是存在一个极限的,不可逾越。而当前世界著名的超级计算机所谓的TOP500,达到每秒几百万亿次指令执行,都是采用分布式设计的,世界第一的IBM BlueGene超级计算机采用了32部机架,每部机架部署有768个PowerPC440 CPU。顺便说一句,这TOP500基本都是使用Linux操作系统的!现在社会和家庭拥有的个人计算机就是PC,只有30%的计算能力被利用,甚至更低,而其余70%的实际上是被闲置的,这些闲置的计算机资源和计算能力只有通过分布式系统才能得到有效的利用,这样可以大大提高一个国家的计算能力,而计算能力是衡量一个国家国力和科学研究能力的指标,这一点现在还没有被国人充分认识到。一个国家和地区的计算能力现在已经成为一种重要的战略资源,不亚于石油和其他战略物资的重要性。云计算就是把普通的服务器或者个人计算机连接起来以获得超级计算机也叫高性能和高可用性计算机的功能,但是成本更低。这在世界上也是个先进的项目。云计算模式必定能大大提高我国科学计算机和商业计算能力,使得我国经济竞争力大大提升。美国和欧洲有许多社会分布的分布式计算系统,他们动员和使用这些社会计算能力进行人类基因组学(Genomics)的研究、天文学问题研究、数学难题研究以及其他的科学问题研究。去年的一个研究报告估计我国个人计算机PC保有量接近两亿台。
按照计算机操作系统的宗师Andrew S. Tanenbaum(AST)给分布式系统的的定义:“分布式系统是这样的系统,它运行在不具有共享内存的多台机器上,但在用户的眼里却像是一台计算机”。(引自《现代操作系统》,机械工业出版社,1999年中文版)。它的目标是让每个用户感觉联网的计算机是一个分时系统——就像使用个人计算机一样——而不是一个由许多计算机联合起来的集体,即使由五个节点组成的分布式系统也应该让用户感觉自己是在使用一台价值20万美元的大型计算机,唯一不寻常的感觉是处理速度提高了许多,别的没有什么不同。例如,这里有一个简单的例子,在机器A的用户要使用安装在机器B上用户的目录里的文件,A用户要使用远程登录命令rlogin B登录到机器B的目录上,那么这就不是一个真正的分布式系统,因为用户A意识到了另外一台机器的存在,分布式系统必须要做到,用户A登录到一个目录上的时候不知道自己是在本地机器上还是在远程机器上的目录上,对于用户A来说机器B是透明的,这就是分布式系统设计时考虑的“透明性”要求。其他有关的问题包括:分布式文件系统的问题,目录和文件访问机制以及一致性问题,分布式系统进程的通信问题等等。目前的云计算严格说还没有到达真正的分布式计算的语义学水平。