zoukankan      html  css  js  c++  java
  • 服务器迁移中 ubuntu下node安装&node linux后台执行 & mongo数据库迁移

    任务: 公司一台windows服务器6.7日到期,需在6.4日完成到ubuntu的迁移(两个静态资源站点和一个爬虫),所需环境 node 6.10.2版本
    迁移步骤:
     
    1.拉代码,git获取最新的代码,这个没有问题
     
    2.部署环境,安装node 6.10.2
           2.1 直接安装node 6.10.2版本,提示版本太久,装不了。命令: curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
                解决: 改nvm安装,参考   https://blog.csdn.net/geol200709/article/details/82117103
                             如果需要卸载以前的node,npm 参考: (注意文章里 sudo apt-get autoremove 这个命令不要执行,会害死人)  https://www.jianshu.com/p/53a1e12bb790
            2.2 安装完成后设置默认版本 nvm alias default v6.10.2,碰到新问题:xshell一旦退出,node就也退出了(输入 node -v 提示命令不存在)
                解决:将  source /data/soft/nvm/nvm.sh  # nvm下载的路径,我的是/data/soft/nvm/
                        添加进我们的.bashrc中,保存退出。输入命令 source .bashrc   # .bashrc 一般 cd ~ 进入
                        参考   https://zhidao.baidu.com/question/588421868002760245.html
           2.3 node 跑js爬虫进程在xshell关闭时也关闭了,网上的一般做法是
                 一、nohup 放后台,比如 nohup node server.js > /data/logs/node_server.log   &   # 我这边试了没用,很奇怪
                   二、npm下载forever模块, 参考  https://www.cnblogs.com/handongyu/p/6257380.html  # 下载太慢了,后来找到解决方法 
                   解决: nohup node server.js > /data/logs/node_server.log   &  exit   #  加exit就可以了,很神奇,原因还不太清楚
                              nohup node timer.js -ts > /data/logs/node_timer.log   &  exit
                              参考   https://blog.csdn.net/feng2147685/article/details/104005560
      
    3.迁移数据库,mogodb 3.0.4版本
             原服务器上有一个mongodb数据库spider,需要迁移整个database,表不多就三张表,数据量大概几百万(大型数据库库迁移就不要借鉴这里了)
             思路是: 利用 Mongo 3T工具在window上导出collections (我选择的是导出json,dmp会携带索引和老的用户名密码,新库这些需要新建),然后新库导入
                         但是创建数据库这些工具没有权限,所以需要登录mongo服务器上操作。
             3.1 老机器上,Mongo 3T工具导出spider库下的collections
             3.2 xshell登录ubuntu,创建新的database spider
                  mongo --port 30001    # 没用默认端口27017,使用端口号30001  登录某个库 use xxx  ,   db.auth("myUserAdmin", "abc123" )
                  use spider   # 创建spider数据库   
                  db.createUser({user:'SpiderAdmin', pwd:'ManagerSpider',     "roles" : [{"role" : "dbAdmin", "db" : "spider"},{"role" : "readWrite", "db" : "spider"}]})
                     # 创建用户名和密码,以及指定权限 ,db.addUser('name','password');   这个方法过期了,角色的配置参考  https://blog.csdn.net/u010649766/article/details/78498130
            3.3  新机器上,Mongo 3T工具导入collections       
     
    4.nginx配置,静态资源指定
  • 相关阅读:
    vue中$refs、$slot、$nextTick相关的语法
    js中hash、hashchange事件
    js中filter的用法
    ES6新特性-函数的简写(箭头函数)
    js中把ajax获取的数据转化成树状结构(并做成多级联动效果)
    jq中get()和eq()的区别
    new Date() 日期格式处理
    微信小程序 加载图片时,先拉长,再恢复正常
    一个例子理解ES6的yield关键字
    eclipse在光标停留在同一对象的背景色提示,开启与关闭
  • 原文地址:https://www.cnblogs.com/yeteng/p/13044051.html
Copyright © 2011-2022 走看看