vue+express+mongodb+mongoose项目部署

vue+express+mongodb项目部署

项目结构:
项目结构
前后端分离项目,前端使用vue+vuex+axios,
后端使用node+express+mongodb+mongoose.
项目地址:https://github.com/dyanfee/vueBlog

一、环境部署

1. mongodb
  1. 下载

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.7.tgz

  2. 解压

    tar -xvf mongodb-linux-x86_64-rhel70-4.2.7.tgz

    清理安装包

    rm mongodb-linux-x86_64-rhel70-4.2.7.tgz

  3. 重命名mongodb文件夹

    mv mongodb-linux-x86_64-rhel70-4.2.7 mongodb

  4. 加入环境变量(也可以不加或者添加为软连接),方便的使用命令

    PATH=$PATH:/usr/local/mongodb/bin

    长期加入echo "export PATH=$PATH:/usr/local/mongodb/bin" >> /etc/profile

    查看环境变量

    echo $PATH

  5. 设置数据库数据和日志存放位置

    data位置:

    mkdir -p /var/mongodb/data

    log位置:

    mkdir -p /var/mongodb/data

  6. 设置开机自启(修改/etc/rc.d/rc.local加入mongodb启动路径)

    vim /etc/rc.d/rc.local

    添加/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

  7. 为启动方便,写配置文件在/var/mongodb

    vim /var/mongodb/mongodb.conf

    添加

    dbpath=/var/mongodb/data
    logpath=/var/mongodb/logs/log.log
    

    启动方式为

    mongod -f /var/mongodb/mongodb.conf -fork

    也可以注册服务启动

    参考:https://www.cnblogs.com/mymelody/p/5905640.html

  8. 启动数据库后添加管理员

    // 打开数据库
    cd /usr/local/mongodb/bin
    ./mongo
    // 创建超级管理员
    db.createUser({
        "user": "admin",
        "pwd": "admin",//管理员密码
        "roles": [{
            "role": "dbAdminAnyDatabase",
            "db": "admin"
        }]
    })
    // 添加网站管理用户
    db.createUser({
        "user": "bloguser",
        "pwd": "123",//密码
        "roles": [{
            "role": "dbOwner",
            "db": "blog"
        }]
    })
    
2. node
  1. 下载node包

    建议去https://npm.taobao.org/mirrors/node 查找需要安装的node包

    wget https://npm.taobao.org/mirrors/node/v12.18.0/node-v12.18.0-linux-x64.tar.gz

  2. 解压

    tar -xvf node-v12.18.0-linux-x64.tar.gz

    清理安装包

    rm node-v12.18.0-linux-x64.tar.gz

  3. 重命名(node是已经编译好的,所有不需要编译安装)

    mv node-v12.18.0-linux-x64/ node

  4. 将node下的bin加入环境变量,因为npm全局安装的包默认会将命令加入node/bin/目录下,故为了方便直接将该目录加入环境变量。

    PATH=$PATH:/usr/local/node/bin

    长期加入echo "export PATH=$PATH:/usr/local/node/bin" >> /etc/profile

    也可以只将npm和node命令添加软连接,命令为

    ln -s /usr/local/node/bin/node /usr/local/bin/node
    ln -s /usr/local/node/bin/npm /usr/local/bin/npm
    //注意查看/usr/local/bin 是否在环境变量中
    
3. nginx
  1. 安装前准备

    安装相关依赖

    yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

    安装pcre

    yum install -y pcre pcre-devel

  2. 下载nginx安装包

    cd /usr/local

    wget http://nginx.org/download/nginx-1.18.0.tar.gz(官网找安装包

    http://nginx.org/en/download.html)

  3. 解压

    tar -xvf /usr/local/nginx-1.18.0.tar.gz

    进入解压文件夹cd nginx-1.18.0

  4. 安装

    ./configure --prefix=/usr/local/nginx如果有未安装依赖自行安装

    make&&make install 安装

  5. 创建软连接

    ln -s /usr/local/nginx/bin/nginx /usr/local/bin/nginx

  6. 启动服务

    nginx

二、代码部署

  1. 创建代码存放文件夹

    mkdir /home/www/server -p
    mkdir /home/www/blog -p
    
  2. 上传代码

    用winSCP工具 ,vue 代码需要build。

  3. 配置nginx

        server {
            listen       80;
            server_name  www.xxx.com xxx.com; #域名
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    		# 前端
            location / {
                root   /home/www/blog;
                index  index.html index.htm;
            }
    		# 代理后端
            location /api {
               proxy_pass   http://127.0.0.1:3000;
            }
        }
    
  4. 启动nginx或者重启

    nginx -s reload

  5. 启动后端server

    cd /home/www/server
    pm2 start bin/www
    
  6. 配置端口安全策略(我用的阿里云需要处理)

    防火墙打开端口

    #添加端口
    sudo firewall-cmd --add-port=3000/tcp --permanent

    #重启服务
    sudo firewall-cmd --reload

    #列出已经打开的端口
    sh
    cd /home/www/server
    pm2 start bin/www

    
    
  7. 配置端口安全策略(我用的阿里云需要处理)

    防火墙打开端口

    #添加端口
    sudo firewall-cmd --add-port=3000/tcp --permanent

    #重启服务
    sudo firewall-cmd --reload

    #列出已经打开的端口
    firewall-cmd --list-all

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值