nginx

slee2·2022년 8월 27일
0

내 메모장

목록 보기
5/7
sudo amazon-linux-extras install nginx1
sudo systemctl start nginx

아래 내용을 server {} 사이에 넣고, 포트번호 맞춰야됨.

    location / {
        sendfile off;
        proxy_pass         http://127.0.0.1:3000;
        proxy_redirect     default;
        proxy_http_version 1.1;
        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;
        proxy_cache_bypass $http_upgrade;
        proxy_max_temp_file_size 0;
    }
sudo nginx -t # successful 메세지가 나오면 문제없이 동작된다는 뜻
sudo systemctl restart nginx # 재시작

Https 적용

# EPEL 다운로드
# let's encrypt는 certbot을 이용하며, EPEL은 certbot에 필요한 의존성을 공급하는데 필요하다.
sudo wget -r --no-parent -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/

# 리포지토리 패키지 설치
sudo rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm

# EPEL 활성화
sudo yum-config-manager --enable epel*

# certbot 설치
sudo yum install -y certbot python2-certbot-apache

# certbot-nginx 설치
sudo yum install certbot-nginx

# 인증서 발급
# --email : 인증서 관련 안내 이메일을 전송 받는 이메일
# -d : 도메인
sudo certbot --nginx --agree-tos --redirect --staple-ocsp --email <email> -d <도메인>

다중 도메인 적용

#/etc/nginx/nginx.conf
http {
	include /etc/nginx/다중도메인넣을디렉토리/*.conf
}

#/etc/nginx/다중도메인넣을디렉토리/test.conf
server {
        server_name  인증서받을도메인;
        root         /usr/share/nginx/html;
        
        location / {
          sendfile off;
          proxy_pass         http://127.0.0.1:8080;
          proxy_redirect     default;
          proxy_http_version 1.1;
          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;
          proxy_cache_bypass $http_upgrade;
          proxy_max_temp_file_size 0;
    	}
}

로드밸런스

upstream cluster_group_1 {
        ip_hash;
        server 127.0.0.1:8080 weight=2 max_fails=6;
        server 127.0.0.1:8081;
        server 127.0.0.1:8082;
}
server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        location / {
          sendfile off;
          proxy_pass         http://cluster_group_1;
          proxy_redirect     default;
          proxy_http_version 1.1;
          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;
          proxy_cache_bypass $http_upgrade;
          proxy_max_temp_file_size 0;
        }
}

0개의 댓글