安装mongodb数据库

如何在ubuntu上安装mongodb数据库,其实官方文档写的很清楚啦

  1. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6切记按找ubuntu版本号安装,我的是16.04
  2. echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
  3. sudo apt-get update
  4. sudo apt-get install -y mongodb-org
  5. sudo service mongod start

    完成以上操作输入mongo 看到如下信息表示:



    第一个: WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine

    意思是:强烈建议使用带WiredTiger存储引擎的XFS文件系统,这个不用管它

第二个: WARNING: Access control is not enabled for the database

意思是:未对数据库启用访问控制,对数据和配置的读写访问不受限制(危险的warning),这个也不用管它

第三个:WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'

解决方法:

sudo chmod 777 /sys/kernel/mm/transparent_hugepage/enabled

cat /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/enabled

第四个:WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'

解决方法:

sudo chmod 777 /sys/kernel/mm/transparent_hugepage/defrag

cat /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/defrag

重启:sudo service mongod restart

完成以上操作你就成功在你的远程服务器上安装mongodb了

初始数据的备份和导入

很多时候我们项目要上线,需要把本地的初始化数据导入到线上

  1. 首先在本地开启你的mongodb,并把数据备份到本地

    比如说我要备份vueblog数据库到c:\vueblog-backup文件夹:

    mongodump -h 127.0.0.1:27017 -d vueblog -o C:\vueblog-backup

    备份出来的数据长这样

  2. 通过ftp工具把数据上传到远程服务器,例如我上传到了home/wmui文件夹下

  3. 接着在服务器导入数据到vueblog数据库

    mongorestore -h 127.0.0.1:27017 -d vueblog ./vueblog-backup/vueblog

    切记路径不要搞错了

    查看是否导入成功:

    mongo

    use vueblog

项目部署

这里以我写的开源项目vueblog作为演示,此项目基于vue+node+mongodb开发

  1. 把服务器的/home/wmui/.ssh/下的id_res.pub添加到github的ssh公钥,wmui是你自己创建的用户
  2. 在项目根目录下创建ecosystem.json,pm2的发布脚本
{
"apps": [{
"name": "vueblog",
"script": "./server.js",
"env":
{
"COMMON_VARIABLE": "true"
},
"env_production":
{
"NODE_ENV": "production"
}
}]
}

把改动commit到github

4. 设置文件夹的可读写权限

sudo chmod 777 /www

我默认是把项目clone到/www文件夹下

5. 找到/home/wmui/下.bashrc:

注释掉

# case $- in
# *i*) ;;
# *) return;;
#esac
  1. cd 到www目录下,clone项目到你的服务端
  2. 由于本地测试网址用的localhost,而线上肯定是你自己的域名,所以要解析域名和修改网址

    添加nginx配置文件
upstream vueblog {
server 127.0.0.1:8080;
} server {
listen 80;
server_name vueblog.86886.wang; location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Nginx-proxy true;
proxy_pass http://vueblog;
proxy_redirect off;
}
}

命名为vueblog-8080.conf,保存到/etc/nginx/conf.d文件夹下

执行 sudo nginx -s reload 重启服务器

修改为线上地址

server.js:

const dom = new JSDOM('<!DOCTYPE html><html><body></body></html>', { url: 'http://localhost:8080' })
const dom = new JSDOM('<!DOCTYPE html><html><body></body></html>', { url: 'http://vueblog.86886.wang' })

app.js:

const baseURL = 'http://localhost:8080/api'
const baseURL = 'http://vueblog.86886.wang/api'

启动项目

完成以上操作,就可以准备启动项目了

首先npm install安装依赖包

然后pm2执行:

pm2 start ecosystem.json --env production

nodejs服务器部署教程三的更多相关文章

  1. nodejs服务器部署教程四

    nodejs服务器部署最后一篇文章,部署ssl证书,升级http为https,其实网上相关教程有很多,但是略麻烦,本教程让你一切从简,5分钟搞定https,免费一年哦 申请ssl证书 免费申请的机构有 ...

  2. nodejs服务器部署教程二

    这篇文章主要介绍如何在服务端跑vuejs的项目,如果上一篇教程你成功输出了hello world,那这一篇更简单 首先你要有一个已经能在本地跑的基于vuejs的项目,我就以之前写的仿饿了么的项目为例来 ...

  3. nodejs服务器部署教程一

    第一篇教程紧紧让你输出一个hello world 环境介绍 服务器环境:ubuntu(16.04)64位 本地环境:windows10 64位 连接工具:mobaxterm ubuntu安装和基本配置 ...

  4. 搭建前端监控系统(三)NodeJs服务器部署篇

    ===================================================================== 监控系统预览地址: DEMO地址    GIT代码仓库地址 ...

  5. 服务器部署_linuix下 一台nginx 多域名之二

    第二个需求: 1. 一台服务器部署了三个应用web1~web3对应三个域名:www.web1.com.www.web2.com.www.web3.com ,方法参照我另外一篇文章 2. 如果用非www ...

  6. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(三)-使用Travis自动部署Hexo(1)

    前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文 ...

  7. 将nodejs代码部署到阿里云服务器

    概述 最近在做一个小项目,其中用nodejs做了个数据转发的接口,之后需要将这部分代码部署到服务器上面,并使用Nginx做反向代理.期间使用搜索引擎大量查阅了其他同鞋的经验,不过写的大多很笼统,因此踩 ...

  8. Windows环境下部署Tomcat服务器图文教程

    Tomcat是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. 本文将详细介绍在Windows环境下 ...

  9. 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

    本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里 ...

随机推荐

  1. java Calendar

    nowDate.add(Calendar.DAY_OF_MONTH,1); 谁能告诉我这里面的 1 是什么意思 2016年07月20日 13:59:47 javaPie 阅读数:2012   nowD ...

  2. 微信中关闭网页输入内容时的安全提示 [干掉 “防盗号或诈骗,请不要输入QQ密码”]

    未设置之前: 需要把域名加入白名单 设置方法:微信公共平台后台-->公众号设置--->功能设置--->填写业务域名即可.

  3. js关于弹也遮罩层

    1:什么是遮罩层 遮罩层:我是弹也一个(遮罩层)还有一个(内容层),下面上图片看一效果 我们看到一个灰蒙蒙的遮盖(其实也是一个层)还有一个层(也就是我们展示的内容). 2:  弹出层效果居中分析 在这 ...

  4. Java虚拟机(JVM)体系结构概述及各种性能参数优化总结

    转自:http://blog.csdn.net/zhongwen7710/article/details/39213377 第一部分:相关的概念 数据类型 Java虚拟机中,数据类型可以分为两类:基本 ...

  5. github开源库(三)

    41.android-swipelistview SwipeListView是一个Android List View实现,实现了自定义ListView单元格,可通过滑动来显示扩展面板.开发者可直接登陆 ...

  6. php 从1加到100

    <?php //1-100利用for循环1-100累加 $sum=0;//初始化sum值为0 for($i=1;$i<=100;$i++)//定义i,循环次数,一般求1-100的和,从1开 ...

  7. Ubuntu下Ruby的下载和编译源码安装

    1.Ruby的下载 Ruby可以在Ruby 官网上下载,如果想获取更多的Ruby版本,可以到淘宝镜像网站下载. 2.Ruby的编译源码安装 解压 首先把下载下来的源码压缩包解压到自己指定的目录 编译安 ...

  8. Unity-------------------------关于GUI绘制的编程

    转载:在这篇文章中我将给读者介绍Unity中的图形用户界面(GUI)编程.Unity有一个非常强大的GUI脚本API.它允许你使用脚本快速创建简单的菜单和GUI. 简介 Unity提供了使用脚本创建G ...

  9. (资源)Git优秀学习资源

    在线教程 Try Git: Git初学者绝不能错过的Git上手资源. 廖雪峰Git教程: 比较系统的中文在线教程 易百Git教程 : 另一个比较全的中文在线教程 Git Immersion : A V ...

  10. 【C/C++学院】0904-boost智能指针/boost多线程锁定/哈希库/正則表達式

    boost_array_bind_fun_ref Array.cpp #include<boost/array.hpp> #include <iostream> #includ ...