공식 사이트 URL : https://expressjs.com/ko/ [새창]
(Node.js 가 설치되어있어야 함)
시작하기
> Windows 인스턴스에 원격으로 연결
> Command Prompt
> 애플리케이션 폴더 생성 및 이동
> 해당 폴더에서 아래 명령어로 애플리케이션 설정 (저는 기본 설정 그대로 생성)
$ npm init
> 'package.json' 파일이 생성된 것을 확인할 수 있다.
> 아래 명령어로 express 설치
$ npm install express --save
* 저의 경우 기본 설정의 name; (express)로 되어있어 오류가 발생했습니다. package.json 파일에서 name을 변경하고 설치하니 제대로 설치가 되었습니다.
> 'node_modules' 폴더 생성 및 package.json 파일이 변경된 것을 확인
Hellow world
* 'package.json' 파일에 main 이 'index.js' 로 설정되어 있음 (기본 설정으로 해서)
* 공식문서에서는 'app.js'로 main을 설정하였지만 저는 그대로 사용하기로 하였습니다.
> 애플리케이션 폴더에 'index.js' 파일을 아래와 같이 작성 (port 는 80으로 변경)
const express = require('express')
const app = express()
const port = 80
app.get('/', (req, res) => res.send('Hello World! Express'))
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`))
> 아래 명령어를 이용해 애플리케이션 실행
$ node index.js
> 브라우저에서 http://localhost 로 결과물 확인
> 외부에서 http://xxx.xxx.xxx.xxx 또는 http://도메인명 으로 연결 > 연결 성공
라우팅
* 루트 URL로 접속 시 'index.html' 화면을 보여주고 싶은 상태
> 애플리케이션 폴더에 'index.html' 파일 생성 후 간단하게 내용 입력 후
> 'index.js' 파일을 아래와 같이 수정
const express = require('express')
const app = express()
const port = 80
app.get('/',function(req,res){
res.sendFile(__dirname + '/index.html') // <-- sendFile, __dirname
});
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`))
> 기존 애플리케이션 종료 후 다시 실행
> 브라우저에서 http://localhost로 연결하여 'index.html' 내용이 정상적으로 출력되는 것을 확인
도메인 별로 다른 서버로 서비스 (vhost 사용)
> 아래 명령어를 이용해 vhost 설치
$ npm install vhost --save
> sub 도메인용 'subindex.html' 파일 생성 후 간단하게 내용 입력
> 'index.js' 파일을 아래와 같이 수정
const express = require('express')
const vhost = require('vhost')
const main = express()
const sub = express()
const app = express()
const port = 80
main.get('/',function(req,res){
res.sendFile(__dirname + '/index.html')
});
sub.get('/',function(req,res){
res.sendFile(__dirname + '/subindex.html')
});
app.use(vhost('example.com', main));
app.use(vhost('sub.example.com', sub));
app.use(vhost('localhost', main)); // local에서 확인하기 위해 추가함
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`))
> 기존 애플리케이션 종료 후 다시 실행
> 브라우저에서 http://localhost 로 연결하여 'index.html' 내용이 정상적으로 출력되는 것을 확인
> 각 도메인으로 접속하여 설정한 페이지가 제대로 표시 되는 것을 확인
'냐냐한 IT > 냐냐한 실습 기록' 카테고리의 다른 글
React Native(Expo cli) - 안드로이드 폰에 apk 넣기 (0) | 2021.02.07 |
---|---|
React Native(Expo cli) - 시작, Hello World (0) | 2021.02.06 |
Amazon EC2 Windows 인스턴스에 NodeJS 서버 띄우기 (0) | 2020.06.14 |
기존 도메인을 AWS EC2에 연결 (0) | 2020.06.12 |
Amazon EC2 Windows 인스턴스 시작하기 (0) | 2020.06.02 |