Nginx 설치
$ sudo apt install Nginx
certbot을 통한 인증서 발급
$ apt-get install python3-certbot-nginx
$ certbot certonly --nginx -d {myDomainName}
/etc/letsencrypt/live/{myDomainName}/
- cert.pem
- chain.pem
- fullchain.pem
- privkey.pem
4개의 파일이 존재하는지 확인
Nginx
$ touch /etc/nginx/conf.d/{원하는 이름}.conf
$ sudo vim /etc/nginx/conf.d/{원하는 이름}.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
server_name example.com www.example.com;
}
$ nginx -t
$ sudo service nginx restart
$ sudo vim /etc/nginx/sites-available/{원하는 이름}.conf
server {
listen 80; #80 port(HTTP)로 받을때
server_name <도메인 주소>; # 없을경우 localhost
return 301 https://<도메인 주소>$request_uri;
}
server {
listen 443 ssl http;
server_name <도메인 주소>;
# ssl 인증서 적용하기
ssl_certificate /etc/letsencrypt/live/<도메인 주소>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<도메인 주소>/privkey.pem;
location / {
proxy_pass http://localhost:3000;
}
location /api { # location 이후 특정 url을 처리하는 방법을 정의
proxy_pass http://localhost:8081; # Request에 대해 어디로 리다이렉트하는지
proxy_redirect off;
charset utf-8;
proxy_http_version 1.1;
}
}
location, proxy_pass에서 각 마지막 위치의 슬래쉬 여부에 따라 꼬일 수 있으니 파악하고 사용하기.
~^ 등의 표현식 제공
sites-enabled에 심볼릭 링크 생성
$ sudo ln -s /etc/nginx/sites-available/{원하는 이름}.conf /etc/nginx/sites-enabled
테스트 후 실행
$ sudo nginx -t
$ sudo service nginx start
# 설정을 변경했다면 꼭 sudo service nginx restart를 진행해주자...
'Web > Ops' 카테고리의 다른 글
무중단 배포 - 개념 (1/4) (0) | 2023.03.02 |
---|---|
ec2, docker를 활용한 프로젝트 배포하기 - 1 (0) | 2023.02.11 |
ubuntu에서 docker를 이용한 mysql 설치 (0) | 2023.02.11 |
ubuntu에서 openvidu 설치하기 (0) | 2023.02.11 |
ubuntu에서 도커 설치하기 (0) | 2023.02.11 |