ElasticBeanstalk에 Spring Boot 프로젝트로 Tomcat을 사용하고 있을때 Custom nginx.conf 적용 방법입니다.
Maven을 사용하고 있다면 pom.xml에 아래와 같이 정의합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<plugin> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <webResources> <resource> <directory>src/main/resources/.ebextensions</directory> <targetPath>.ebextensions</targetPath> <filtering>true</filtering> </resource> </webResources> </configuration> </plugin> |
/src/main/resources/.ebextensions/nginx/nginx.conf 생성 ( 대용량 파일의 업로드를 위한 설정이 포함되어 있습니다. 값을 서비스에 맞게 수정하세요 )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# Elastic Beanstalk Nginx Configuration File user nginx; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; worker_processes auto; worker_rlimit_nofile 33193; 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"'; include conf.d/*.conf; map $http_upgrade $connection_upgrade { default "upgrade"; } server { listen 80 default_server; access_log /var/log/nginx/access.log main; client_header_timeout 600; client_body_timeout 600; keepalive_timeout 600; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; gzip off; gzip_comp_level 4; gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; # Include the Elastic Beanstalk generated locations include conf.d/elasticbeanstalk/*.conf; } client_max_body_size 10240M; } |
자 이제 빌드를 하고 eb deploy를 통해 배포를 진행하면 custom nginx 설정이 적용됩니다.