美文网首页
狗脑发热部署记录

狗脑发热部署记录

作者: Miridescent | 来源:发表于2019-07-31 15:56 被阅读0次

    1.购买阿里云服务器

    1.配置

    1.进入阿里云控制台
    2.修改管理密码


    修改管理密码

    3.配置入口出口安全组
    a.入口安全组,用于访问服务器


    入口安全组
    配置之后,可通过外部访问该服务器(上图配置为ssh协议)
    ssh root@00.00.00.00  // IP是服务器公网IP
    

    然后输入密码,密码为第二步中的修改密码

    2.域名

    1.域名购买

    2.域名解析

    3.备案

    3.部署环境配置(安装各种开发环境,node、python等)

    1.安装node

    cd ..  //到根目录下
    mkdir software  // 创建文件夹,存放下载的文件
    cd software
    // 用wget下载node资源文件,版本号可自己定
    wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz   
    tar xvf node-v10.16.0-linux-x64.tar.xz  // 解压文件
    ln -s /software/node-v10.16.0-linux-x64/bin/node /usr/local/bin/node // 创建软连接
    ln -s /software/node-v10.16.0-linux-x64/bin/npm /usr/local/bin/npm  // 创建软连接
    

    2.安装python

    // 安装python依赖环境
    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
    // 安装pip需要的依赖环境
    yum install libffi-devel -y
    // 下载安装包
    wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
    // 解压安装包
    tar -zxvf Python-3.7.4.tgz
    // 到文件夹下
    cd Python-Python-3.7.4
    // 当前文件
    ./configure  
    // 编译并安装
    make&&make install 
    

    到这里基本安装完成了
    python3.7安装在/usr/local/bin/下面,一般阿里云机器会预装Python2.7,此时默认命令python启动的是2.7版本,可以将python指令指向3.7版本

    // 修改指令指向
    mv /usr/bin/python /usr/bin/python.bak
    ln -s /usr/local/bin/python3 /usr/bin/python
    // 修改pip指令指向
    mv /usr/bin/pip /usr/bin/pip.bak
    ln -s /usr/local/bin/pip3 /usr/bin/pip
    

    将python指令指向3.7版本后,有些默认的软件可能需要修改,例如yum只支持2.7,不支持3.7,要修改相关文件,文件位置

    /usr/libexec/urlgrabber-ext-down
    /usr/bin/yum
    

    用编辑器,将上述两个文件中的

    #!/usr/bin/python
    

    修改为

    #!/usr/bin/python2.7
    

    保存即可

    3.安装mongo

    // 下载安装包
    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.10.tgz
    // 解压
    tar -zxvf mongodb-linux-x86_64-4.0.10.tgz
    // 将解压包移动到指定目录下
    mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb
    // 创建数据存放目录
    mkdir -p data/db
    // 创建日志目录
    mkdir -p data/logs
    // 创建配置文件
    vi mongodb.conf
    

    配置文件用于启动数据库时使用,配置文件内容

    #数据位置
    dbpath = /usr/local/mongodb/bin/data/db  
    #日志位置
    logpath = /usr/local/mongodb/bin/data/logs/mongodb.log
    #端口号
    port = 27017
    #以守护程序的方式启用,即在后台运行
    fork = true
    

    配置好配置文件后用文件启动数据库

    //启动数据库
    ./mongod -f ./mongodb.conf
    // 关闭数据库
    ./mongod -f ./mongodb.conf --shutdown
    

    注意到上面的操作都是在bin目录下,这样操作很麻烦,可以将mongo的命令添加到环境变量中,这样在任何地方都能执行操作

    // 用编辑器修改系统的profile文件
    vi /etc/profile
    

    增加内容

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

    保存后执行该文件

    source /etc/profile
    

    这样在任何地方都能使用相关命令了

    4.PM2(node进程管理)

    // 直接用npm安装
    npm install -g pm2
    
    // 创建软连接
    ln -s /software/node-v10.16.0-linux-x64/bin/pm2 /usr/local/bin/pm2
    ln -s /software/node-v10.16.0-linux-x64/bin/pm2-dev /usr/local/bin/pm2-dev
    ln -s /software/node-v10.16.0-linux-x64/bin/pm2-runtime /usr/local/bin/pm2-runtime
    ln -s /software/node-v10.16.0-linux-x64/bin/pm2-docker /usr/local/bin/pm2-docker
    

    4.拉取代码,部署

    1.安装git

    yum install git
    

    2.获取前后端代码

    git clone ......
    

    3.pm2启动后端服务nodejs

    一般node程序都是从www文件启动,找到文件,直接启动

    pm2 start /software/DogBrain/bin/www
    

    4.pm2启动前端vue项目

    pm2是管理node进程的工具,可以将vue项目打包,然后用express启动一个服务,间接启动vue项目
    vue项目打包

    npm run build
    

    打包后会出现一个dist文件夹,里面有两个文件index.html和static文件夹
    将文件放到服务器上
    创建一个DogBrainFount.js文件,文件内容

    const fs = require('fs');
    const path = require('path');
    const express = require('express');
    const app = express();
    //vue目录,注意dist文件的路径
    app.use(express.static(path.resolve(__dirname, './dist')))
    //
    app.get('*', function(req, res) {
        const html = fs.readFileSync(path.resolve(__dirname, './dist/index.html'), 'utf-8')
            res.send(html)
            })
            //定义启动的端口号
            app.listen(8080);
    

    用pm2启动这个文件即可将vue项目启动

    pm2 start DogBrainFount.js
    

    5.爬虫项目部署

    网站首页的数据来自知乎日报、爱范儿等网站
    用scrapy框架爬取数据
    将scrapy项目代码放的服务器上
    安装crontabs定时执行脚本,每天定时爬取网站内容

    // 安装crontabs
    yum install crontabs
    // 创建脚本文件
    touch rmtmp.sh
    // 编辑脚本文件
    vim rmtmp.sh
    

    脚本内容

    #!bin/bash
    #到执行文件路径下
    cd /software/DogBrainSpider/
    #执行命令
    scrapy crawl zhihuDaily
    

    接下来

    // 文件授权
    chmod 777 rmtmp.sh
    // 设置定时任务
    crontab -e
    

    设置任务内容

    // 每天上午9:10分执行脚本,爬取数据
    10 9 * * * /home/DogBrain/rmtmp.sh
    

    接下来

    // 重新加载
    systemctl reload crond
    // 重新启动
    systemctl restart crond
    

    查看已配置任务

    crontab -l
    

    定时用的corn语法,详细可以看这篇文章corn语法

    6.调试及其他

    1.由于前后端代码在一个服务器上,注意端口跨域的问题

    相关文章

      网友评论

          本文标题:狗脑发热部署记录

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