ubuntu server에서 dev server 세팅 과정

1. 새로운 dir에 git clone, Dockerize

운영 중인 컨테이너와 겹치지 않도록 docker image name, docker container name, service name 을 다르게 수정하여 배포

2. nginx settings 에서 새로운 서버 블록 생성

server {
    listen 80;
    server_name 172.7.0.57 domainname.kr;
 
    client_max_body_size 500M;
 
    location /static/ {
        alias /app/folder/projectname_aws/static/;
        autoindex on;
    }
 
    location /proj2/static/ {
        alias /app/folder/projectname_aws/static/;
        autoindex on;
    }
 
 
    location /media/ {
        alias /media/proj1_media/;
        autoindex on;
    }
 
    location /dashboard/ {
        proxy_pass http://127.0.0.1:3001/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        #proxy_http_version 1.1;
        #proxy_set_header Upgrade $http_upgrade;
        #proxy_set_header Connection "upgrade";
        # try_files $uri $uri/ /index.html;
    }
 
    location /api/ {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
 
 
 
    location /proj2/ {
        proxy_pass http://127.0.0.1:8005/;
        proxy_set_header Host $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;
    }
 
 
    location / {
        proxy_pass http://127.0.0.1:8006/;
        proxy_set_header Host $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;
    }
 
    real_ip_header X-Forwarded-For;
    set_real_ip_from 127.0.0.1;        # Trust requests from localhost (Gunicorn)
    set_real_ip_from 172.17.0.0/16;    # Trust Docker's internal network
    set_real_ip_from 192.168.0.0/16;
    set_real_ip_from 172.7.0.0/16;
    real_ip_recursive on;
}
 
 
 
 
 
server {
    listen 8002;
    server_name _;
 
    client_max_body_size 500M;
 
    location /static/ {
        alias /app/folder/test/projectname_aws/staticfiles/;
        autoindex off;
    }
 
    location /media/ {
        alias /media/proj2_media/;
    }
 
    location / {
        proxy_pass http://127.0.0.1:8008/;
        proxy_set_header Host $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;
    }
}

3. 리눅스 방화벽 확인

이 명령으로 현재 서버 외부에서 접근이 허용된 포트를 확인한다

sudo ufw status

만약 없을 경우 아래와 같이 추가가 가능하지만

sudo ufw allow 8007/tcp
sudo ufw reload

서버 설정을 변경하는건 위험할수 있으니 열려있는 포트를 사용해서 nginx를 포팅 해준다

4. docker 설정을 git이 되돌리지 못하게 막는다

git 이 이 파일을 건드리지 말아야 할 파일로 취급

git update-index --skip-worktree path/to/file

취소 하는 방법

git update-index --skip-worktree path/to/file