起因是之前的博客架的是php+mysql饰序,現(xiàn)在要只想換語言為node,而不打算移數(shù)據(jù)言沐。
參考文獻(xiàn):
http://www.cnblogs.com/zhongweiv/p/nodejs_mysql.html
上代碼
const router = require('express').Router();
//mysql
var mysql = require('mysql');
var query = function() {
//創(chuàng)建一個connection
var connection = mysql.createConnection({
host: 'www.***.com', //主機(jī)
user: '***', //MySQL認(rèn)證用戶名
password: '***', //MySQL認(rèn)證用戶密碼
port: '3306', //端口號
database: 'blog'
});
//創(chuàng)建一個connection
connection.connect(function(err) {
if (err) {
console.log('[query] - :' + err);
return;
}
console.log('[connection connect] succeed!');
});
// 查詢文章表
var articleSql = 'SELECT * FROM typecho_contents limit 0, 10';
//查
connection.query(articleSql, function(err, result) {
if (err) {
console.log('[SELECT ERROR] - ', err.message);
return;
}
console.log('--------------------------SELECT----------------------------');
cb(result);
console.log('-----------------------------------------------------------------\n\n');
});
//關(guān)閉connection
connection.end(function(err) {
if (err) {
return;
}
console.log('[connection end] succeed!');
});
}
router.get('/list', function(req, res, next) {
query(function (result) {
res.json(result);
});
});
module.exports = router;
這里使用了一個cb回調(diào)查詢的結(jié)果次酌,然后res.json渲染輸出
上傳到阿里云并部署https
先申請一個ca證書,然后在express啟動一個https服務(wù)并配置key證書為.key文件黍图,這里有個坑曾雕,我拿.pem去試半天一直報錯。
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
at Object.createSecureContext (_tls_common.js:90:19)
正確的配置如下
var app = require('express')();
app.get('/', function (req, res, next) {
console.log('hi,u');
});
var https = require('https')
,fs = require("fs");
var options = {
key: fs.readFileSync('./214104114130391.key'),
cert: fs.readFileSync('./214104114130391.pem')
};
https.createServer(options, app).listen(3001, function () {
console.log('Https server listening on port ' + 3001);
});
上述的214104114130391.key與.pem文件助被,在阿里云后臺申請得到
詳情可見我之前關(guān)于證書申請的文章剖张,http://blog.it577.net/archives/48/
使用forever讓node進(jìn)程后臺運行
目前通過控制臺遠(yuǎn)程到服務(wù)器,node app.js是可以跑通揩环,但一斷開遠(yuǎn)程連接搔弄,連同node一起斷了。通過搜索丰滑,可以使用forever這也做后臺進(jìn)程守護(hù)顾犹。
npm install forever -g
forever app.js
這樣斷開遠(yuǎn)程連接也不影響node運行了。
這過程中我還使用了軟連接將forever鏈到/usr/bin目錄褒墨,方便全局使用forever命令
ln -s /usr/local/src/node-v8.4.0-linux-x64/bin/forever /usr/bin/forever
非80端可以用在小程序訪問
小程序里配置域名白名單
即使我的接口api運行在3001端口炫刷,小程序還是認(rèn)的,成功為我返回了數(shù)據(jù)郁妈。
在瀏覽器訪問也顯示是安全證書
最后浑玛,大家節(jié)日快樂