Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Python
- jQuery
- 자바스크립트
- 계산기앱
- customclass
- 계산기앱만들기
- iOS앱배포
- 앱배포
- AJAX
- 파이썬서버
- FLASK
- JavaScript
- 딩동말씀
- 스프링
- 스위프트
- Swift
- iOS계산기
- 개발기록
- iOS배포
- spring
- 웹
- ios
- subscript
- MainScheduler
- 맥
- Xcode
- FileOwner
- 앱버전구하기
- DispatchGroup
- Xib
Archives
- Today
- Total
개발하는 뚝딱이
[Node.js] Node.js + Nginx + MongoDB 본문
개발환경
- Ubuntu
- Node.js + Nginx + MongoDB
1. 설치
1-1. 우분투에 접속
1-2. Node.js, npm 설치
sudo apt-get install -y nodejs
sudo apt-get install -y build-essential
1-3. express 설치
sudo npm install -g express
sudo npm install -g express-generator
1-4. nginx 설치
sudo apt-get install nginx
2. express로 프로젝트 생성
더보기
Express는 Node.js의 서버를 더 쉽게 구축하기 위해 만들어진 프레임워크. 미들웨어 구조.
express [프로젝트명]
3. 서버 실행
cd nodeApp
npm install
node ./bin/www
4. nginx 설정
4-1. vim으로 파일 열기
sudo vim /etc/nginx/sites-available/default
4-2. 아래 그림의 파란 글씨 수정
4-3. nginx 재시작
sudo /etc/init.d/nginx restart
4-4. Node.js 프로젝트 웹 연동 가능!
5. 기존 프로젝트에 MongoDB 연동하기
5-1. Mongoose 모듈 설치하기
npm install express body-parser dotenv mongoose
5-2. dotenv 파일 생성
환경변수 설정을 위한 파일 추가로, 프로젝트의 최상위에 .env 파일 작성
// 파일 위치 : /.env
PORT=[포트번호 작성하기]
MONGO_URI=mongodb://localhost/<db-name>
5-3.MongoDB 연결
app.js 파일(없으면 생성) 모듈을 require하고 connect 메소드로 MongoDB에 연결
require('dotenv').config();
const express = require('express');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
const app = express();
const port = process.env.PORT || 4500;
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
mongoose.Promise = global.Promise;
mongoose.connect(process.env.MONGO_URI, { useMongoClient: true })
.then(() => console.log('Successfully connected to mongodb'))
.catch(e => console.error(e));
app.listen(port, () => console.log(`Server listening on port ${port}`));
바벨을 사용하는 경우, 아래와 같이 작성
더보기
바벨 babeljs.io
- Node.js가 최신 스펙의 javascript를 모두 지원하는 것이 아니기 때문에 번역해주는 모듈인 '바벨'이 필요
- 실제로 개발된 소스를 관리하는 폴더와 babel로 변환되어 실행할 소르를 관리하는 폴더를 분리해야 함
require('dotenv').config();
import mongoose from 'mongoose'
...
mongoose.Promise = global.Promise;
mongoose.connect(process.env.MONGO_URI)
.then(() => console.log('Successfully connected to mongodb'))
.catch(e => console.error(e));
'웹' 카테고리의 다른 글
[JSP] JavaBean, 자바빈은 왜 사용될까 (0) | 2020.01.17 |
---|---|
[ IoT] Python Flask + JavaScript (0) | 2019.12.01 |
[ Python Flask ] 파이썬 플라스크 (0) | 2019.12.01 |
[javascript] favicon 404에러 (0) | 2019.11.08 |
[Spring] war파일 배포 tomcat 404에러 (0) | 2019.10.07 |