ebson

[fform 정기 재배포] 1. project 재배포 1단계 본문

NODEJS WEB PROJECT

[fform 정기 재배포] 1. project 재배포 1단계

ebson 2024. 6. 30. 15:34

EC2 생성

프리티어로 사용할 AWS 계정을 생성했다면 EC2를 생성한다. (최신 버전의 ubuntu 선택)

 

보안 그룹 설정

 80, 5000, 27017 포트에 대한 인바운드 트래픽 허용 설정 추가

보안 그룹 인바운드 규칙 설정

 

키파일 생성

ssh 를 사용해 접속하기 위한 RSA 유형의 키파일을 .pem 형식으로 생성하고 저장

 

 

ubuntu 서버 접속하여 프로젝트 세팅

1. 시스템 업데이트

$sudo apt-get update

ubuntu 서버에 ssh 접속 후 시스템 업데이트 완료 화면

 

2. 파일질라로 접속하여 프로젝트 파일 업로드

SFTP 프로토콜을 사용하고 키 파일 유형으로 로그인

 

ubuntu 유저 아래 client 폴더와 server 폴더를 생성 후 프로젝트 파일 업로드

 

3. nodejs 설치

$sudo apt-get install nodejs

 

$curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -

$sudo apt-get install -y nodejs

$sudo apt install npm

$sudo npm install -g npm@6.14.8

 

4. nginx 설치와 세팅

$sudo apt-get install nginx

$sudo service nginx start

$sudo service nginx status

/etc/nginx/nginx.conf

$sudo vi /etc/nginx/nginx.conf

user ubuntu;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    client_body_buffer_size 100k;
    client_header_buffer_size 1k;
    client_max_body_size 100k;
    large_client_header_buffers 2 1k;
    client_body_timeout 10;
    client_header_timeout 10;
    keepalive_timeout 5 5;
    send_timeout 10;
    server_tokens off;
    #gzip  on; on;

    include /etc/nginx/conf.d/*.conf;
}

 

/etc/nginx/conf.d/default.conf 

$sudo touch default.conf 

$sudo vi default.conf 

server {
    #listen       80;
    listen 80 default_server
    listen [::]:80 default_server;
    server_name  yourdomain.com;

    access_log /home/ubuntu/client/server_logs/host.access.log main;

    location / {
        root   /home/ubuntu/client/deploy;
        index  index.html index.htm;
        try_files $uri /index.html;
        add_header X-Frame-Options SAMEORIGIN;
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    server_tokens off;

    location ~ /\.ht {
        deny  all;
    }

}

 

$sudo service nginx restart

 

5. nodejs 세팅

$cd /home/ubuntu/server

$npm install

$npm run start

 

 

 

'NODEJS WEB PROJECT' 카테고리의 다른 글

README.md  (0) 2022.09.04
Comments