zoukankan      html  css  js  c++  java
  • centos7.2,看似复杂,实则简单,从零开始安装node部署kos链接mysql,外接nginx。

    1、首先先要确保有一个完整的服务器,有需要请去各种某云购买

    2、确保你的服务器已经安装yum以及curl(通常都会有)

    3、首先下载最新版的node(目前最新稳定版是12开头,所以填12,如果不是填其他)

    curl -sL https://deb.nodesource.com/setup_12.x | sudo bash
    

    4、接着就是用yum安装

    yum -y install nodejs
    

    5、安装完毕就可以了查看了

    npm -v    
    node -v
    

    注意:期间我遇到了个坑,这里简易的说一下。

    设置了npm全局配置与缓存,设置完发现全局安装不了插件。安装完也是无效。

    npm config set prefix "***"    // 慎用
    npm config set cache "***"  // 慎用
    

    这种情况之后,上网查了是要删掉.npmrc的文件就可以了。但是呢,这个文件,并不好找。其实只要一个命令就解决了。(这命令下就能看到配置的位置,删了就复原了)

    npm config list
    

    6、安装完node服务器,就简易的用koa部署一下,然后node执行一下就可以了。(例如:node app.js,也可安装forever启动)

    const Koa = require('koa');
    const mysql = require('mysql');  // 数据库
    const route = require('koa-route');  // 路由
    const app = new Koa();
    const koaBody = require('koa-body');  // koa获取post请求的中间件
    
    // 启动中间件
    app.use(koaBody());
    
    // mysql连接
    const connection = mysql.createConnection({
        host: '***',
        port: '***',
        user: '***',
        password: '***',
        database: '***'
    });
    connection.connect()
    
    // 路由组件
    const about = ctx => {
        ctx.response.type = 'html';
        ctx.response.body = '<a href="/server/">Index Page</a>';
    };
    const main = ctx => {
        console.log(ctx.res)
        ctx.response.body = 'Hello World';
    };
    
    const www = async ctx => {
        // console.log(ctx.request.query) 传的后缀
        // console.log(ctx.request.body) 传的body
        return new Promise(resolve => {
            const sql = "SELECT * FROM `index`";
    
            connection.query(sql, (err, res) => {
                if (err) throw err;
                ctx.body = res
                resolve();
            });
        })
    };
    
    app.use(route.get('/server/', main));
    app.use(route.get('/*', about));
    app.use(route.post('/*', www));
    
    app.listen(3000, () => {
        console.log('listen')
    });
    

    7、服务器内部有了这个本地的127.0.0.1:3000的服务,但是内部还要用nginx包裹一下。(能加上https以及其他静态页面、静态资源)

    这样加上,https里就多了一个node服务器的入口

    server {
            listen 443;
    		location ~ /server/ {
    			proxy_pass  http://127.0.0.1:3000;
        	}
    }
    

      

  • 相关阅读:
    弹性计算双周刊 第24期
    【阿里云新品发布·周刊】第8期:数字化风暴已经来临!云+区块链,如何颠覆未来科技?
    洞见数据库前沿 阿里云数据库最强阵容 DTCC 2019 八大亮点抢先看
    开发者招聘节 | 2019阿里巴巴技术面试题分享(陆续放出)
    bzoj1856: [Scoi2010]字符串
    bzoj1257: [CQOI2007]余数之和sum
    bzoj1088: [SCOI2005]扫雷Mine
    noip2015 运输计划
    noip2015 子串
    noip2015 斗地主
  • 原文地址:https://www.cnblogs.com/huangqiming/p/13183004.html
Copyright © 2011-2022 走看看