상세 컨텐츠

본문 제목

노드js서버로 홈페이지 운영하기_1

노드js·자바스크립트

by 김일국 2018. 5. 3. 15:14

본문

오늘은 노드js서버로 홈페이지 운영하기

실습환경: 구름 IDE > nodejs 컨테이너.

Ps. 이전 포스트에 같은 환경에서 nodejs와 그누보드 연동을 socket.io로 실습한 이력이 있다.

같은 환경에서, 노드js 서버 자체만으로 홈페이지와 mysql연동을 해보려고 한다.

오늘은 홈페이지 실행과 mysql 설치까지 진행한다.

노드js 서버에 app_express.js 서버실행 파일을 만들고 실행한다.(아래)

----------------------------------------------------------------

//사용 모듈 로드
var express = require('express');//웹 서버 사용.
var app = express();
var fs = require('fs');//파일 로드 사용.

//포트 설정
app.listen(9001, function(){
 console.log('Server Start');
});

//라우팅 설정
app.get('/', function(req,res){//웹 서버 기본주소로 접속 할 경우 실행.
 fs.readFile('test.html', function(error, data){//test.html 파일 로드.
  if(error){
   console.log(error);
  }else{
   res.writeHead(200,{'Content-Type':'text/html'});//Head Type설정.
   res.end(data);//파일 로드 html response.
  }
 }); 
});

//이미지 페이지 라우팅을 위한 고정경로.
app.use('/metro', express.static('metro'));

------------------------------------------------------------------------

결과화면(아래)

홈페이지는 정상으로 뜬다.http://gnujs.run.goorm.io/metro/ (구름의 무료서비스는 작업중에만 외부URL접근이 가능합니다. 그래서, 아래 이미지로만 확인)

구름 노드js서버는 mysql을 설치해야 합니다.

- 터미널화면: # apt-get install mysql-server

  주) 초기엔 버전체크 에러가 나올 수 있습니다. 그럴땐 설명대로 apt-get update 를 실행 한 후 다시 설치 합니다.

- mysql 설치중 root 암호를 지정합니다.

- mysql 설치 후 서버를 실행 합니다. service mysql start

- 테스트 작업에 사용할 DB와 테이블을 생성 합니다.(아래)

CREATE DATABASE opentest CHARACTER SET utf8 COLLATE utf8_general_ci;

CREATE TABLE IF NOT EXISTS `goods` (

  `id` int NOT NULL AUTO_INCREMENT,

  `name` varchar(128) NOT NULL,

  `category` varchar(128) NOT NULL,

  `price` int NOT NULL,

  `description` text NOT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;



CREATE TABLE IF NOT EXISTS `members` (

  `id` int NOT NULL AUTO_INCREMENT,

  `username` varchar(128) NOT NULL,

  `password` varchar(256) NOT NULL,

  PRIMARY KEY (`id`),

  UNIQUE KEY `username` (`username`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;



CREATE TABLE IF NOT EXISTS `purchases` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `userid` int NOT NULL,

  `goodsid` int NOT NULL,

  `date` datetime NOT NULL, //버전이 5.6.5 이상일 때 DEFAULT CURRENT_TIMESTAMP,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

//버전이 5.6.5 미만일 때 

CREATE TRIGGER purchases_OnInsert BEFORE INSERT 

ON purchases FOR EACH ROW

SET NEW.date = NOW();


내일 부터는 위 환경에서 mysql을 연동한 nodejs용 홈페이지를 만들어 보도록 하겠습니다.

관련글 더보기

댓글 영역