본문 바로가기
SW/Node.js

Ububtu 우분투 NGINX node.js 도메인 프록시 (proxy) 설정 및 확인

by bigju 2023. 8. 29.

1. Nginx 설치

https://bigju.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC-Ubuntu-2204-nginx-yum-%EC%84%A4%EC%B9%98-%EB%B0%8F-virtual-host-%EC%84%A4%EC%A0%95

 

우분투 (Ubuntu) 22.04 nginx yum 설치 및 virtual host 설정

1. 업데이트 및 Nginx 설치 sudo apt update -y // 업데이트 sudo apt install nginx -y //niginx 설치 systemctl status nginx // nginx 상태확인 2. Nginx 시작 및 확인 systemctl start nginx // nginx 시작 netstat -tnlp // 포트 체크 3. Ni

tistory.bigju.co.kr


2. Node.js 설치

< Using Ubuntu>

sudo 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 구동 테스트


<파일 열기>

sudo vi /home/bigju/public_html/index.js

*저는 개인적으로 쓰는 서버가 있어 도메인과 연결되어 있는 /home 디렉터리에 작성했습니다.

-> 각자 맞는 경로에 작성하시면 됩니다.

(기본 경로 : /var/www/html/)

 

<작성>

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 () {



                console.log ('Listening on 127.0.0.1:3333');

});

* 3333 node 포트는 개인이 상황에 맞게 포트를 자유롭게 설정해 주시면 됩니다.

-> 주의 할점 : 이미 사용중인 포트를 사용할 경우 충돌이 날 수 있으니 비어있는 포트 사용 권장 드립니다.

 


4. nginx virtualHost 작성

 

<기본 web 파일 경로 작성>

sudo vi /etc/nginx/sites-enabled/bigju.co.kr.conf

<작성>

server {
    listen       80;
    server_name bigju.co.kr;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /home/bigju/public_html;
        index  index.html;
   # }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    
    #error_page   500 502 503 504  /50x.html;
#       location  / {
        #root   /home/bigju;
        #index index.html
        proxy_pass http://127.0.0.1:3333; 
        proxy_set_header X-Real-IP $remote_addr; 
        proxy_set_header X_Forwarded_For $proxy_add_x_forwarded_for; 
        proxy_set_header Host $http_host; 
        proxy_set_header X_NginX_Proxy true; 
        proxy_redirect off;
   }
    #proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
#    location ~ \.php$ {
#        proxy_pass   http://127.0.0.1;
#    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
#    location ~ \.php$ {
#        root           html;
#        fastcgi_pass   127.0.0.1:9000;
#        fastcgi_index  index.php;
#        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#        include        fastcgi_params;
#    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

#HTTPS server
#server {
# listen 443 ssl;

#server_name osam.kr;

# ssl_certificate /etc/nginx/ssl/bigju.kr/bigju.pem;
# ssl_certificate_key /etc/nginx/ssl/bigju.kr/bigju_kr_2023.key;
 
# ssl_session_timeout 5m;

# ssl_protocols TLSv1.2;
#ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384;
#ssl_prefer_server_ciphers on;


#    location  / {
#       root   /home/devadmin/osam;
#       index index.html
#        proxy_set_header X-Real-IP $remote_addr; 
#        proxy_set_header X_Forwarded_For $proxy_add_x_forwarded_for; 
#        proxy_set_header Host $http_host; 
#        proxy_set_header X_NginX_Proxy true; 
#        proxy_pass http://127.0.0.1:3000; 
#        proxy_redirect off; 

#       }
#}

<주의>

*포트 3333은 개인이 설정한 포트를 입력해 줍니다.

*80 포트는 nginx가 구동 중인 포트 

* proxy_pass :  server_name에 적어둔 도메인으로 접속할 때 연결해 줄 주소와 포트


5. nginx 재시작

 

<구문 확인>

sudo nginx -t   // 구문 테스트

sudo systemctl restart nginx // nginx 재시작

6. 링크 설정

 

<conf 파일 링크>

sudo cd /etc/nginx/sites-enabled

sudo ln -s /etc/nginx/sites-available/node.bigju.conf node.bigju.conf 

sudo systemctl restart nginx

7. node.js 구동

 

<실행>

sudo cd /home/bigju/public_html/

sudo node index.js &  // 구동 시작

8. 확인

 

<연결 확인>

http://bigju.co.kr/

 

Big Ju

댓글

메인으로가기


    

Big Ju

IT Engineer


항상 답을 위해 노력하는

엔지니어입니다.

 

 

    


 UP!