文章目录
1、在服务器安装 nodejs
2、API接口代码上传到阿里云服务器
3、阿里云服务器开放3306、8000端口
我这里用的是阿里云的RDS云数据库,所以需要开放3306端口
这个API接口监听的是8000端口,所以需要开放8000端口
4、查看端口8000端口状态
查看8000端口有没有被占用
netstat -anp | more
如果8000端口被占用,就杀死与端口8000相关联的所有进程
fuser -k 8000/tcp
5、关闭防火墙
查看防火墙状态
firewall-cmd --state
开启防火墙
systemctl start firewalld.service
关闭防火墙
systemctl stop firewalld.service
6、开放指定端口防火墙
开放端口:firewall-cmd --zone=public --add-port=8000/tcp --permanent
重启防火墙:systemctl restart firewalld.service
firewall-cmd --list-ports
或者
netstat -ntlp
7、代码
1、mysqldb.js
const mysql=require('mysql')
const dbconf={
host:'',
port:'3306',
database:'myblog',
user:'blogsproject',
password:'SJKrds1213'
}
function exec(sql){
const con=mysql.createConnection(dbconf)
const promise=new Promise((resolve,reject)=>{
con.query(sql,(err,data)=>{
if(err){
reject(err)
return
}
resolve(data)
})
})
return promise
}
const sql=`select * from blogs`
const data=exec(sql).then(data=>{
// console.log(JSON.parse(data))//Unexpected token o in JSON at position 1
//console.log(JSON.stringify(data))
// return console.log(JSON.parse(JSON.stringify(data)))
return JSON.parse(JSON.stringify(data))
})
module.exports=data
2、www.js
const data=require('./mysqldb')
const http=require('http')
const router=(req,res)=>{
const url=req.url
const path=url.split('?')[0]
res.setHeader('Content-type','Application/json,charset=utf-8')
if(req.method==='GET' && path==='/api/blogs/list'){
return data.then(list=>{
res.end(JSON.stringify(list))
})
}
}
const server=http.createServer(router)
server.listen(8000)
8、调用API接口