server.js
2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
const express = require("express");
const fs = require("fs");
const path = require("path");
const HTTPS = require("https");
const mysql = require('mysql');
var address;
var json_data = [];
const app = express();
const domain = "2020105619.oss2021.tk";
const sslport = 8080;
const dotenv = require('dotenv').config(); //dotenv를 사용하기 위해서 dotenv 라이브러리를 불러온 뒤, config() 메소드를 호출
const mysqlConObj = require('./config/mysql'); //config의 mysql파일을 가져와 mysqlConnection 객체 사용
const db = mysqlConObj.init();
app.use(express.static(path.join(__dirname, "kakao")));
app.use(express.static(path.join(__dirname, "public")));
mysqlConObj.open(db); //db 연결
db.query('SELECT * FROM csvdata.csvdata', function (error, results, fields) {
if (error) {
throw (error);
}
});
app.get("/", function (req, res) {
res.sendFile(path.join(__dirname + "/main.html"));
});
app.set("views", __dirname + "/views");
app.set("view engine", "ejs");
app.get("/geolocation", function (req, res) {
address = req.query.address;
db.query('SELECT * FROM csvdata.csvdata', function (error, results, fields) {
if (error) {
throw (error);
}
for (var i = 0; i < results.length; i++) {
if (results[i].city_country == address) {
json_data.push(results[i]);
}
}
});
res.render('kakaomap', { 'data': json_data })
// res.sendFile(path.join(__dirname + "/kakao/kakaomap.html"), { json_data: json_data });
});
try {
const option = {
ca: fs.readFileSync("/etc/letsencrypt/live/" + domain + "/fullchain.pem"),
key: fs
.readFileSync(
path.resolve(
process.cwd(),
"/etc/letsencrypt/live/" + domain + "/privkey.pem"
),
"utf8"
)
.toString(),
cert: fs
.readFileSync(
path.resolve(
process.cwd(),
"/etc/letsencrypt/live/" + domain + "/cert.pem"
),
"utf8"
)
.toString(),
};
HTTPS.createServer(option, app).listen(sslport, () => {
console.log(`[HTTPS] Server is started on port ${sslport}`);
});
} catch (error) {
console.log(
"[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다."
);
console.log(error);
}