centos7.2,看似复杂,实则简单,从零开始安装node部署kos链接mysql,外接nginx。

Posted Nothing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
    	}
}

  

 

以上是关于centos7.2,看似复杂,实则简单,从零开始安装node部署kos链接mysql,外接nginx。的主要内容,如果未能解决你的问题,请参考以下文章

程序员面试常见的看似简单,实则含有深意的问题

从零开始打造 Mock 平台 - 核心篇

如何从零使用 Keras + TensorFlow 开发一个复杂深度学习模型

一道看似dp实则暴力的题 Zombie's Treasure Chest

设计模式之美——看似面向对象,实则面向过程

蓝桥杯历届试题-翻硬币:看似bfs,实则找规律贪心