1. Nginx 설치
2. Node.js 설치
< Using Ubuntu>
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
<설치>
sudo apt-get install nodejs -y
<확인>
node -v
npm -v // npm은 nodejs 설치하면 설치된다.
3. Node.js 구동 테스트
<파일 작성>
*저는 개인적으로 쓰는 서버가 있어 도메인과 연결되어 있는 /home 디렉터리에 작성했습니다.
-> 각자 맞는 경로에 작성하시면 됩니다.
(기본 경로 : /var/www/html/)
<파일 열기>
vi /home/bigju/public_html/index.js
<작성>
vi /home/bigju/public_html/index.js
var http = require ('http');
http.createServer (function (request, response) {
response.writeHead (200, {'Content-Type': 'text/html'});
response.end ('<h1>Welcome to node.js</h1>');
}).listen (3333, function () { // 3333은 node 포트
console.log ('Listening on 127.0.0.1:3333'); // 3333은 node 포트
});
* 3333 node 포트는 개인이 상황에 맞게 포트를 자유롭게 설정해 주시면 됩니다.
-> 주의 할점 : 이미 사용중인 포트를 사용할 경우 충돌이 날 수 있으니 비어있는 포트 사용 권장 드립니다.
4. 도메인 Came 설정
bigju.co.kr cname node.bigju.co.kr
<cname>
도메인 별칭 서비스다.
bigju.co.kr를 웹에서 출력할 때 node.bigju.co.kr을 가져오라는 설정이다.
<↓도메인 레코드 값 알아보기↓>
5. nginx virtualHost 작성
<기본 web 파일 경로 작성>
vi /etc/nginx/sites-enabled/node.bigju.co.kr.conf
<작성>
server {
listen 80;
listen [::]:80;
root /home/bigju/public_html; //web 경로
index index.php index.html index.htm index.nginx-debian.html;
server_name node.bigju.co.kr;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/run/php/php7.4-fpm.sock;
# # With php-cgi (or other tcp sockets):
fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
}
6. proxy 파일 작성
<proxy 설정을 잡을 2차 도메인 bigju.co.kr로 설정해 준다>
vi /etc/nginx/sites-enabled/bigju.co.kr.conf
<파일 작성>
server {
listen 80;
server_name bigju.co.kr;
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://127.0.0.1:3333/;
proxy_redirect off;
}
log_not_found off;
gzip on;
gzip_comp_level 2;
gzip_proxied any;
gzip_min_length 1000;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js;
}
<주의>
*포트 3333은 개인이 설정한 포트를 입력해 줍니다.
*80 포트는 nginx가 구동 중인 포트
* proxy_pass : server_name에 적어둔 도메인으로 접속할 때 연결해 줄 주소와 포트
7. nginx 재시작
<구문 확인>
nginx -t // 구문 테스트
systemctl restart nginx // nginx 재시작
8. 링크 설정
<conf 파일 링크>
cd /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/node.bigju.conf node.bigju.conf
systemctl restart nginx
9. node.js 구동
<실행>
cd /home/bigju/public_html/
node index.js & // 구동 시작
10. 확인
<기본 확인>
http://IP:3333/
ex) http://node.bigju.co.kr:3333/
<proxy 확인>
http://IP
ex) http://bigju.co.kr
<뭐가 다른가?>
기본 설정은 http://node.bigju.co.kr:3333/ 포트까지 적어줘야 node.js 출력이 가능했지만
proxy 설정은 해주면 포트 없이 bigju.co.kr 작성만 해도 나온다.
<결론>
1. bigju.co.kr을 출력 입력했을 때 came인 node.bigju.co.kr을 불러온다.
2. 불려 온 node.bigju.co.kr에 연결된 파일을 오픈
3. node.bigju.co.kr에 연결된 포트 proxy 3333 포트 연결된 node.js를 불러온다.
Big Ju
'SW > Node.js' 카테고리의 다른 글
Centos apache 20.04에 Node.js 설치 실행 (0) | 2023.08.30 |
---|---|
Ububtu 우분투 NGINX node.js 도메인 프록시 (proxy) 설정 및 확인 (0) | 2023.08.29 |
[Node.js] Ubuntu 우분투 20.04에 Node.js 설치 실행 (0) | 2023.08.26 |
댓글