我的位置:速网百科 > 电商资讯 阿里云

阿里云主机安装mongodb,阿里云主机安装mysql

作者:阎雨星 时间:2022-05-19 11:23:44

阿里云服务器怎么运行node

阿里云服务器怎么运行node

  到小鸟云购买云服务器
   作为一个穷逼+不熟悉服务器配置的菜鸟。选了最便宜的套餐: 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 http://nodejs.org/dist/v0.12.5/node-v0.12.5.tar.gz//注*根据最新版本号为准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
   http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz12
  解压安装包,重命名文件夹为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 下

如何在阿里云服务器上搭建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 http://nodejs.org/dist/v0.12.5/node-v0.12.5.tar.gz//注*根据最新版本号为准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 http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz12
  解压安装包,重命名文件夹为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 下

云数据库MongoDB为什么需要限制连接数

  连接是要消耗资源的,而且消耗的并不少。
  内存:MongoDB为例,每个线程都要分配1MB的栈内存出来。1000个连接,1G内存就这么没了,甭管是否是活跃连接
  文件句柄:每个连接都要打开一个文件句柄,当然从成本上讲,这个消耗相对内存是小了很多。但换个角度,文件句柄也被其他模块消耗着,比如WT存储引擎,就需要消耗大量的文件句柄
  是否真的需要这么多的链接,一般的业务场景下请求压力在1000QPS左右,按照每个请求50ms计算,最多也就需要1000/(1000/50)==50个链接即可满足需求,并且是整个系统50个链接即可。
  很多人平时没有怎么注意过链接数概念,上云后发现居然有这样的限制,心里很不舒服,可能非常不理解。这里说下常见的两种情况:
  短链接:一般都是PHP环境,因为PHP的框架决定了PHP短链接的特性,并且链接数的需求一般是在1000-3000左右,具体多少还要根据业务部署的PHP数量来计算。并且MongoDB开源版本在短链接Auth处理上并不优雅,会消耗非常多的CPU资源,3000链接即可跑满24Core的CPU。PHP大拿Facebook也有同样的问题,所以他们用go语言自行开发了一套Proxy代理,来解决对MongoDB的短链接请求问题,但这毕竟带来部署成本和兼容性问题。阿里云的解决方案是从MongoDB源码优化下手,可以参考文章
  长链接:比较健康合理的使用方式,但是也要正确的配置客户端,相关的参数为&maxPoolSize=xx 在ConnectionURI上追加上去即可,否则默认每个客户端就是高处100来个,平白的浪费资源
  链接数的上限需要综合考虑性能,稳定性,业务需求。多方面去考虑,缺一不可。超低的内存,配置超高的链接数,得到的只能是OOM。

mongodb 插入16M内存溢出怎么解决

mongodb 插入16M内存溢出怎么解决

  查找占用大量内存的原因。
解决办法:控制并发连接数。根据性能测试结果,数据库中能够创建100个长连接,默认MongoDBDriver可以和后端建立100个连接池。当存在很多客户端时,就需要降低每个客户端的连接池大小,一般建议与整个数据库建立的长连接控制在1000以内,连接太多会导致内存和多线程上下文的开销增加,影响请求处理延时。
在连接数合适的情况下内存占用持续增加,建议升级内存配置,避免可能存在内存溢出和大量清除缓存而导致系统性能急剧下滑。如果您在使用阿里云MongoDB过程中遇到更多可能存在内存泄漏的场景,可以联系阿里云技术支持处理。

如何连接数据库 mongodb

  方法如下:
  创建数据库
  use tt
  这样就创建了一个数据库,如果什么都不操作离开的话,这个库就会被系统删除.所以还要执行下面的命令:
  db.usr.insert({'name':'tompig'});
  db.usr.insert({'name':'tompig1','id':1});
  随便整了2个表,这个无所谓的,反正要导入表的话就删除掉这2个就可以了,目前只是想让数据库保持住.
  然后使用命令查看是否有保存tt这个数据库:
  show dbs
  3.配置用户
  use tt
  db.addUser('mongodb','123456');
  mongodb是用户名,123456是密码.
  好了,这样一个数据库和对这个数据库配置用户就完成了.
  mongodb常用命令:
  1、Help查看命令提示
  help
  db.help();
  db.yourColl.help();
  db.youColl.find().help();
  rs.help();
  2、切换/创建数据库
  use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库
  3、查询所有数据库
  show dbs;
  4、删除当前使用数据库
  db.dropDatabase();
  5、从指定主机上克隆数据库
  db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库
  6、从指定的机器上复制指定数据库数据到某个数据库
  db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中
  7、修复当前数据库
  db.repairDatabase();
  8、查看当前使用的数据库
  db.getName();
  db; db和getName方法是一样的效果,都可以查询当前使用的数据库
  9、显示当前db状态
  db.stats();
  10、当前db版本
  db.version();
  11、查看当前db的链接机器地址
  db.getMongo();
  Collection聚集集合
  1、创建一个聚集集合(table)
  db.createCollection(“collName”, {size: 20, capped: 5, max: 100});
  2、得到指定名称的聚集集合(table)
  db.getCollection("account");
  3、得到当前db的所有聚集集合
  db.getCollectionNames();
  4、显示当前db所有聚集索引的状态
  db.printCollectionStats();
  用户相关
  1、添加一个用户
  db.addUser("name");
  db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读
  2、数据库认证、安全模式
  db.auth("userName", "123123");
  3、显示当前所有用户
  show users;
  4、删除用户
  db.removeUser("userName");
  其他
  1、查询之前的错误信息
  db.getPrevError();
  2、清除错误记录
  db.resetError();

版权声明:本文由互联网用户自发贡献,仅代表作者观点。若文章违规或侵权,请 (举报反馈) ,核实后立即删除。