# 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
[2-1] npm ์ต์ ๋ฒ์ ์ฌ๋ฆฌ๊ธฐ
1) ์ค์น : sudo npm install -g npm
* ๋ฒ์ ํ์ธ : npm -v
[3] mongodb
1) ์ค์น : sudo apt-get install mongodb
* ๋ฒ์ ํ์ธ : mongo --version