Node+mongodb+nginx线上部署

作者: 喝不醉再来 | 来源:发表于2017-05-24 23:13 被阅读608次

    一个偶然的机会发现阿里云居然9元服务器用6个月,点我
    开启了我捣鼓服务器之旅。

    刚刚好我自己博客也做好了,就抓住这个机会把博客部署到服务器上面去,作为只用过win的人来说linux简直太痛苦了,前前后后一共重新换了好几次系统盘。

    建议大家还是用centos6吧,虽然我用的是Ubuntu.因为刚开始用centos7系统命令更新了很多,好了废话不多说,开启第一步服务器配置之旅把。。

    登陆和分配管理员

    第一步先去阿里云后台拿到IP


    image.png

    我们首先登陆了后先新建一个管理员,因为root权限太高了,很危险

    \\ ubuntu
    adduser xxx \\你的用户名
    \\ 接下来会让你输入2次密码
    
    image.png
    这里选y就好了,然后把刚刚输入的用户名加入sudo$ gpasswd -a xxx sudo
    然后输入 visudo image.png
    找到root那一行下面输入 用户名 xxx ALL=(ALL:ALL) ALL

    现在开始安装常用的软件

    sudo apt-get install vim openssl build-essential libssl-dev wget curl git
    

    下一步安装nvm方便我们管理node 版本 点我

    要安装或更新nvm,可以使用
    cURL 
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh
    或Wget:
    wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh
    

    等待安装完成输入sudo nvm install v6.10.3我们目前安装的是6.10.3你可以去官方选择安装其他的版本。
    安装pm2 这个可以帮我们监控我们的node程序,死掉可以自动帮我们重新启动
    npm install -g pm2

    安装nginx

    sudo apt-get install nginx
    

    现在我们开始配置nginx,

    image.png

    进入nginx目录cd /etc/nginx/conf.d
    我们在这里新建一个文件 vi blog.conf
    进入文件输入以下代码

    upstream blog {
      server 127.0.0.1:8081; \\ 你node的端口
    }
    
    server {
      listen 80;
      server_name 47.93.0.0;  \\ 这里输入你需要访问这个node域名
    
      location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward_For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-Nginx-Proxy true;
    
        proxy_pass http://blog;
        proxy_redirect off;
      }
    }
    

    现在先让我们启动nginx service nginx start

    安装mongodb

    现在让我们进入最坑的环节,这个环节坑了我一天

    1. 添加mongodb签名

    $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
    

    2. 创建/etc/apt/sources.list.d/mongodb-org-3.2.list文件并写入命令

    ubuntu 14.04

    $ echo "deb http://repo.mongodb.org/apt/ubuntu precise/mongodborg/3.2multiverse"|sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.listubuntu 
    

    16.04

    $ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
    

    3. 更新软件源列表

    $ sudo apt-get update
    

    4. 安装mongodb(默认是安装稳定版)

    $ sudo apt-get install -y mongodb-org
    

    或者安装指定版本:

    $ sudo apt-get install -y mongodb-org=3.2.9 mongodb-org-server=3.2.9 mongodb-org-shell=3.2.9 mongodb-org-mongos=3.2.9 mongodb-org-tools=3.2.9
    

    启动、停止、重启

    sudo service mongod start
    sudo service mongod stop
    sudo service mongod restart
    

    切记这里命令是改了,很多教程都不对了,启动不了

    我们现在输入nerstat -lntp
    查看默认的270717端口是否已经成功的启动
    如果启动了那就恭喜你吧。

    pm2 启动程序

    我们先上传我们本地写好的node,先动手把依赖给安装了

    1启动

    pm2 start app.js
    

    如果你看到以下界面证明已经启动成功

    image.png

    结尾

    1.记得把app.js里面的端口改成和Nginx里面配置的一样的端口

    2.关于mongodb配置我可能会单独拿一章出来说,太坑了!

    相关文章

      网友评论

      • JackYao:nerstat -lntp
        这个命令是错的,,
        netstat -lntp 才是对的. 希望博主更改一下.
        喝不醉再来:@JackYao 多谢
      • 81c17c76d562:博主 根据你的nginx配置 一直连不上 但是取消调nginx就可以了 可以详细说一下这方面的吗
      • 81c17c76d562:博主可以再说说mongodb配置的坑
        喝不醉再来: @Mr_Wrong丶 好的,近期忙好了就整理

      本文标题:Node+mongodb+nginx线上部署

      本文链接:https://www.haomeiwen.com/subject/egtaxxtx.html