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配置,静态资源指定
  • 相关阅读:
    通过HttpListener实现简单的Http服务
    WCF心跳判断服务端及客户端是否掉线并实现重连接
    NHibernate初学六之关联多对多关系
    NHibernate初学五之关联一对多关系
    EXTJS 4.2 资料 跨域的问题
    EXTJS 4.2 资料 控件之Grid 那些事
    EXTJS 3.0 资料 控件之 GridPanel属性与方法大全
    EXTJS 3.0 资料 控件之 Toolbar 两行的用法
    EXTJS 3.0 资料 控件之 combo 用法
    EXTJS 4.2 资料 控件之 Store 用法
  • 原文地址:https://www.cnblogs.com/yeteng/p/13044051.html
Copyright © 2011-2022 走看看