'2017/08/11'에 해당되는 글 2건

728x90

Node.js 서버 환경이 구축되었으니 이제 간단한 웹서버를 만들어서 동작하는지 확인해보자.

 

준비사항

nodejs Web Sever 파일을 저장할 디렉토리를 정한다.

편의상 기존 Web 서버의 하위 디렉토리에 두는 것이 여러모로 편할 거 같아서 /usr/local/apache/htdocs/nodejs 디렉토리를 생성했다.

cd /usr/local/apache/htdocs/nodejs

 

이제 샘플코드를 https://nodejs.org/en/about/ 에서 샘플로 제공한 코드를 EditPlus 에 복사한 다음 코드를 수정했다.

 

const http = require('http');
// http 모듈에 들어있는 서버 기능을 사용하려면 require()메소드로 http모듈을 불러온다.
 
const hostname = '127.0.0.1'// 실제 사용 IP로 변경해야 정상 동작됨
const port = 3000;
 
// http 객체의 createServer() 메소드를 호출하면 서버 객체가 반환된다.
http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type''text/plain' });
  res.end('Welcome to Nodejs Server!!!\n');
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
// 이 서버 객체의 listen() 메소드를 호출하면 웹서버가 시작된다. 

 

 

vi webserver.js 파일을 생성한다.

위에 수정한 코드를 붙여넣기하고 :wq 로 저장하고 빠져나온다.

 

파일을 실행한다.

 

 

Server running 이라고 화면에 나온다.

 

이제 Web 브라우저에서 접속해보자.

라고 화면에 출력되는 것을 확인할 수 있다.

Node.js 가 잘 동작하는 걸 확인할 수 있다.

 

백그라운드 실행

#node webserver.js &

 

프로세스 동작 여부 확인

#ps -ef | grep node

 

프로세스 죽이기

#kill -p PID번호

 

#####################################################

 

express 설치를 해서 Web 서버 만들기

 

 

 

express 모듈은 request 이벤트 리스너를 연결하는데 use() 메소드를 사용한다.

use() 메소드는 여러번 사용할 수 있다.

use() 메소드의 매개변수에는 function(request, response, next) { } 형태의 함수를 입력한다.

use() 메소드의 매개변수에 입력하는 함수를 미들웨어라고 부른다.

요청의 응답을 완료하기 전까지 요청 중간 중간에 여러가지 일을 처리할 수 있다.

// server.js 파일 (Terminal 창에서 아래 두줄 실행한다)
// npm install express --save
// npm install ejs --save
 
const express = require('express');
const app = express();
 
const server = app.listen(3000,() => {
   console.log('Start Server : 3000 port');
});
 
app.set('views', __dirname + '/views');
app.set('view engine''ejs');
app.engine('html', require('ejs').renderFile);
 
app.get('/'function (req, res) {
res.render('index.html');
});
 
app.get('/about'function (req, res) {
    res.send('About Page');
});
 
app.get('/intro'function (req, res) {
    res.render('intro.html');
});
 

 

index.html 파일 → https://www.w3schools.com/ 사이트의 Bootstrap 예제를 가져온 예시 파일이다.

 

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Bootstrap Example</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
 
<div class="container">
    <h1>Welcome to My Homepage</h1>
    <h2>Basic Table</h2>
    <p>The .table class adds basic styling (light padding and horizontal dividers) to a table:</p>
    <table class="table">
        <thead>
        <tr>
            <th>Firstname</th>
            <th>Lastname</th>
            <th>Email</th>
        </tr>
        </thead>
        <tbody>
        <tr>
            <td>John</td>
            <td>Doe</td>
            <td>john@example.com</td>
        </tr>
        <tr>
            <td>Mary</td>
            <td>Moe</td>
            <td>mary@example.com</td>
        </tr>
        <tr>
            <td>July</td>
            <td>Dooley</td>
            <td>july@example.com</td>
        </tr>
        </tbody>
    </table>
</div>
 
</body>
</html>

 

 

 

블로그 이미지

Link2Me

,
728x90

채팅 기능을 테스트해보고자 구글링했더니 node.js 서버 환경 구축이 필요하다.

CentOS 6.6 기반에서 node.js 설치하는 방법을 적어둔다.


1. https://www.nodejs.org  사이트에 접속하여 download 사이트로 이동한다.



2. Linux 64-bit 에서 마우스 우클릭하여 링크 주소를 복사한다.

   리눅스에서 다운로드할 경로를 미리 정한다.

   cd /usr/local/ 에서 다운로드 하고 압축을 푼다.  

   wget 복사한 주소를 붙여넣기 한다. 여기서 주의할 점은 https://nodejs.org/dist/v6.11.2/node-v6.11.2-linux-x64.tar.xz 로 나온다.

  wget https://nodejs.org/dist/v6.11.2/node-v6.11.2-linux-x64.tar.gz 로 변경해서 엔터키를 치면 다운로드된다.

  wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.gz


  ※ 2020.1.29일 12.9.1 버전을 받아서 설치했더니 에러가 발생하여 설치 포기하고 8.12.0 버전으로 설치했다.


3. 압축을 푼다.

    tar xvzf node-v6.11.2-linux-x64.tar.gz

    tar xvzf node-v8.12.0-linux-x64.tar.gz


4. mv node-v8.12.0-linux-x64 nodejs 로 디렉토리명을 변경해준다. 경로명을 기억하기 쉽게 하기 위해서....

   cd nodejs 하고 ll 을 하면 bin 폴더 등 이미 인스톨된 상태가 되어 있더라.


5. 실행파일 PATH 지정하기

    #vi /etc/profile

export NODE_HOME=/usr/local/nodejs
export PATH=$PATH:$NODE_HOME/bin

위 그림과 같이 입력하고 :wq 로 저장한다.


6. 작성한 PATH 가 적용되도록 아래 구문을 적어주고 엔터키를 친다.

# source /etc/profile


이제 nodejs 가 제대로 되었는지 확인해본다.


정상적으로 설치되었다면 위 그림처럼 입력한 결과를 출력해줄 것이다.

빠져나오는 것은 .exit 를 입력한다.


node.js 서버 환경 구축은 준비되었다.


7. 방화벽 포트 추가

통신을 하기 위해서는 통신할 포트를 정해야 한다.

포트(port)는 8080 으로 설정하겠다.

#cat /etc/sysconfig/iptables
로 방화벽 설정 상태를 확인한다.



#vi /etc/sysconfig/iptables 편집으로 한줄 추가한 다음 저장하고 빠져나온다.

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT


방화벽 재시작
#/etc/init.d/iptables restart

변경한 정보 저장(재시작을 하고 나서 저장해야 적용된 정보가 저장됨)
#service iptables save


설치위치 확인
#which node
로 하면 설치 위치를 확인할 수 있다.

#node -v

#npm -v

방화벽 포트 설정까지 마쳤다.

이제 node.js 웹서버 테스트 파일로 통신이 되는지 확인해보자.

블로그 이미지

Link2Me

,