๋ฐ˜์‘ํ˜•

# node.js๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ ์…‹ํŒ…์ด ํ•„์š”ํ•˜๋‹ค.


- nginx, node.js, mongodb ์„ค์น˜ ์ˆœ์ด๋‹ค.

- nginx๋Š” ์›น์„œ๋ฒ„๋‹ค. 

- nginx๋Š” ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ํ™œ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ณดํ†ต์€ ์ค‘๊ฐ„ ๋ผ์šฐํ„ฐ ์—ญํ• ๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๋“ฏ ํ•˜๋‹ค.

- node.js๋Š” ecmascript ๊ธฐ๋ฐ˜ ์–ธ์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์„œ๋ฒ„๋‹จ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ ํ”Œ๋žซํผ(์™„์ „์ฒด?)์ด๋‹ค.

- node.js๋Š” v8์—”์ง„ ์œ„์—์„œ ๋™์ž‘ํ•œ๋‹ค. (v8์—”์ง„์€ c++๋กœ ๋˜์–ด์žˆ๋‹ค๊ณ  ํ•œ๋‹ด...)

- mongodb๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„์ด๋‹ค.

- nginx, node.js, mongodb๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ์œผ๋กœ ๋ฆฌ๋ˆ…์Šค ubuntu ์šด์˜์ฒด์ œ๋ฅผ ์„ ํƒํ•˜์˜€๋‹ค.



[0] apt-get ์ตœ์‹ ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ 

 (#apt-get? ์šฐ๋ถ„ํˆฌ, ๋ฐ๋น„์•ˆ ๊ณ„์—ด์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ๋ช…๋ น์–ด ๋„๊ตฌ๋ผ๊ณ ํ•จ.  yum์€ ๋ ˆ๋“œํ–‡ ๊ณ„์—ด์—์„œ..)


$ sudo apt-get update


[1] nginx

1) [๋ณดํ†ต ์„ค์น˜] ์„ค์น˜ : sudo apt-get install nginx


* ๋ฒ„์ „ํ™•์ธ : nginx -v


1-1) [**๊ผญ ์•ˆํ•ด๋„ ๋จ] ์ปดํŒŒ์ผ ๋ฐฉ์‹์œผ๋กœ ์„ค์น˜ (์••์ถ•ํŒŒ์ผ์„ ๋ฐ›์•„ ํ’€์–ด์„œ ์ปดํŒŒ์ผ ํ•˜์—ฌ ์„ค์น˜ํ•˜๋Š”๋ฒ•)

 - ์ด๊ฑด ์•ˆํ•ด๋„ ๋˜๋Š” ๋ฒ•์ด๊ธดํ•œ๋ฐ, ๋‚˜์˜๊ฒฝ์šฐ๋Š” nginx echo๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์–ด์„œ ์ด๋ฐฉ๋ฒ•์œผ๋กœ ์„ค์น˜๋ฅผ ์‹œ๋„ํ–ˆ๋‹ค.

 - echo ๋ชจ๋“ˆ ์žˆ์œผ๋ฉด nginx ํ•จ์ˆ˜ ๋‚ด์—์„œ ํ˜ธ์ถœ์—ฌ๋ถ€ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 http://astinchoi.github.io/2018/02/01/nginx_install_with_echo_nginx_module.html

 ์œ„์˜ ๋งํฌ๋ฅผ ์‘์šฉํ–ˆ๊ณ , 


 ๋‚˜๋Š” ์ด๋ ‡๊ฒŒ ํ–ˆ๋‹ค.

 $ apt-get install gcc, unzip, make, g++


 $ wget http://nginx.org/download/nginx-1.12.2.tar.gz

 $ tar -xvzf nginx-1.12.2.tar.gz

 $ wget https://github.com/openresty/echo-nginx-module/archive/v0.61.zip

 $ unzip v0.61.zip

 $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.42.tar.gz

 $ tar -zxf pcre-8.42.tar.gz

 $ wget http://www.openssl.org/source/openssl-1.0.2p.tar.gz

 $ tar -zxf openssl-1.0.2p.tar.gz

 $ wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

 $ unzip master.zip

 $ wget http://zlib.net/zlib-1.2.11.tar.gz

 $ tar -zxf zlib-1.2.11.tar.gz

 $ cd nginx-1.12.2

 

 $ ./configure --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx/nginx.pid --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-pcre=/root/pcre-8.42 --with-zlib=/root/zlib-1.2.11 --add- module=/root/echo-nginx-module-0.61 

>> ์ฐธ๊ณ ๋กœ ๊ฒฝ๋กœ๊ฐ™์€๊ฑด ์กฐ๊ธˆ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.


 $ make -j2

 $ make install


 ์ด๋ ‡๊ฒŒ ์ปดํŒŒ์ผ๋ฐฉ์‹์œผ๋กœ ์„ค์น˜๋ฅผ ํ–ˆ๋‹ค......



2) ์‹คํ–‰ : sudo service nginx start    

  ~ ์•„๋‹ˆ๋ฉด.... sudo /etc/init.d/nginx start

  ~ ์ค‘์ง€๋Š” stop, ์žฌ์‹œ์ž‘์€ restart, ์ƒํƒœ๋Š” status


โ€ป service ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰์ด ์•ˆ๋œ๋‹ค๋ฉด /lib/systemd/system/ ์„ ๋ณด๋ผ. (nginx.service ํŒŒ์ผ ์ฐพ์•„๋ณด๊ธฐ)

โ€ป /etc/init.d/nginx ๊ฐ€ ์‹คํ–‰์ด ์•ˆ๋œ๋‹ค๋ฉด /etc/init.d์— nginx ํŒŒ์ผ์„ ์‚ดํŽด๋ณด๋ผ. (์—†์œผ๋ฉด ์ฐพ์•„์„œ ๋งŒ๋“ค๋˜๊ฐ€ ํ•ด์•ผํ•œ๋‹ค.)


3) ์‹คํ–‰ ํ™•์ธ : ip ์ฃผ์†Œ ์ ‘๊ทผ์œผ๋กœ ํ™•์ธ(http)

 - http ์ ‘๊ทผ์ด ์•ˆ๋˜๊ฑฐ๋“  ํ•ด๋‹น ํฌํŠธ(80)์ด ์—ด๋ ค์žˆ๋Š”์ง€ ํ™•์ธํ•˜์—ฌ์•ผ ํ•œ๋‹ค.


4) ์„ค์ • : /etc/nginx/sites-enabled ์ด๋™ํ•˜์—ฌ test.conf ํŒŒ์ผ์ƒ์„ฑ (ํŒŒ์ผ๋ช…์€ ์ƒ๊ด€์—†์Œ)

 - ์™ธ๋ถ€ ์„œ๋ฒ„์—์„œ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ ๋‚ด๋ถ€ ํฌํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์„œ๋ฒ„์‹คํ–‰

 ---- test.conf ๋‚ด์šฉ ----

server {

    listen       80;

    server_name  localhost;


    location / {

        proxy_set_header Host $http_host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_set_header X-NginX-Proxy true;


        proxy_pass http://localhost:3000/; <----์‚ฌ์šฉํ•  ๋‚ด๋ถ€ ํฌํŠธ ์ž…๋ ฅ

        proxy_redirect off;

        index index.jsp index.html index.php;

    }


    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root   html;

    }

}

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

 - ์ด๋ ‡๊ฒŒ ๋˜๋ฉด, ์™ธ๋ถ€์—์„œ http://์„œ๋ฒ„์ฃผ์†Œ ๋กœ ์ ‘๊ทผ์‹œ servcer -> location / ํ•จ์ˆ˜๋ฅผ ํƒ„๋‹ค.


[2] node.js

1) ์„ค์น˜ : sudo apt-get install -y nodejs

* ๋ฒ„์ „ํ™•์ธ : node -v


[2-1] npm ์ตœ์‹ ๋ฒ„์ „ ์˜ฌ๋ฆฌ๊ธฐ

1) ์„ค์น˜ : sudo npm install -g npm

* ๋ฒ„์ „ํ™•์ธ : npm -v


[3] mongodb

1) ์„ค์น˜ : sudo apt-get install mongodb

* ๋ฒ„์ „ํ™•์ธ : mongo --version

๋ฐ˜์‘ํ˜•

+ Recent posts