- 이미지 관련
- 기존엔 form-data형식으로 이미지 파일 및 추가 요청 데이터를 받아 서버에서 이미지를 s3에 저장하는 방식이였습니다.
- 하지만 여러개의 이미지 처리에서의 문제 및 다른 api과 비교했을때 image를 포함한 request는 json을 포함하지 않은 request는 form-data 혼용하게 되는 문제가 생겼습니다.
- 결과적으로, 클라이언트에서의 요청전 image를 직접 s3에 저장후 서버로 이미지의 url을 전달해주는 방식으로 변경하였습니다.
- .env 파일 생성(우선 적으로 이뤄져야함)
SECRET_KEY='{django unique key}'
AWS_S3_ACCESS_KEY_ID='{엑세스 키 ID}'
AWS_S3_SECRET_ACCESS_KEY='{비밀 엑세스 키}'
AWS_STORAGE_BUCKET_NAME='{bucket_name}'
- 로컬 환경
$ git clone https://github.com/DreamIn-Developer/server.git
$ pip install requirements.txt
$ python manage.py migrate
$ python manage.py runserver
- 배포 환경
$ git clone https://github.com/DreamIn-Developer/server.git
root 위치에 nginx 하위 conf.d 생성
$ sudo docker-compose up -d
- nginx/conf.d
server {
listen 80;
server_name ~~;
charset utf-8;
error_log /var/log/nginx/error.log;
location / {
proxy_pass ~~;
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 /static/ {
autoindex on;
alias /static/;
}
}