AWS EC2 의 NGINX
NGINX 설정
# 시스템 업그레이드
sudo apt update
sudo apt upgrade
# nginx 설치
sudo apt-get install nginx
# nginx 명령어
sudo systemctl start nginx // 시작
sudo systemctl status nginx // 스텟
sudo systemctl stop nginx // 종료
sudo systemctl restart nginx // 재시작
sudo systemctl enable nginx // 부팅시 nginx 자동 재시작
# nginx 실행 테스트
sudo nginx -t
# 실행중인 프로세스 보기
ps
# nginx 삭제 명령어
sudo apt-get remove nginx
sudo apt-get purge nginx
sudo apt-get autoremove
# 자동 제거
sudo apt-get purge nginx nginx-common nginx-core
# 수동 제거
# Nginx 설정 파일 제거
sudo rm -r /etc/nginx
# Nginx 로그 디렉토리 제거
sudo rm -r /var/log/nginx
# Nginx 웹 루트 디렉토리 제거 (예시: /usr/share/nginx/html)
sudo rm -r /usr/share/nginx/html
# 80번 포트 사용중인지 확인
sudo netstat -tulpn | grep :80
sudo lsof -i :80
# 프로세스 죽이기
sudo kill -9 [프로세스 아이디 PID]
# 방화벽 해제
sudo ufw allow 80
# 에러 로그 메시지
sudo cat /var/log/nginx/error.log
# 읽기 권한 부여
chmod 711 /home/ubuntu // 얘가 중요
sudo chmod -R 755 /home/ubuntu/nginx // 디렉토리에 대한 읽기 실행 권한을 설정
sudo chown -R www-data:www-data /home/ubuntu/nginx // 다음 명령을 사용하여 소유자를 변경
첫번째로 해야할 것은 /etc/nginx/nginx.conf 파일을 조~금 변경하는 겁니다.
http {
//...
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
include /etc/nginx/sites-enabled/*.conf;
}
그 후엔 파일 두개 만들고 conf 파일 하나를 만듭시다.
$ sudo mkdir /etc/nginx/sites-available
$ sudo mkdir /etc/nginx/sites-enabled
$ sudo vi /etc/nginx/sites-available/#######.conf
### 은 아무 이름이나 해주시공
build 파일 경로도 지정해줍시다
이는 /home/ubuntu/~/build 파일의 index.html 을 바라봐라 라는 뜻입니다.
server {
listen 80;
location / {
root /home/ubuntu/#######/#######/build; # 자신의 build 파일
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
sitea-enabled 에도 같은 파일을 만들어 바라보게 해주시고
테스트를 진행합니다.
$ sudo ln -s /etc/nginx/sites-available/#######.conf /etc/nginx/sites-enabled/#######.conf
$ sudo nginx -t
# 테스트 성공시
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
만약 nginx 실행 시 500번 에러가 뜨셨다면
그러나…
그런데, 위 이미지처럼 500 Internal Server Error가 발생할 수 있습니다. 사실 간단한 문제로, build까지의 경로로 접근할 때 거치는 디렉토리들에 대해 외부에서의 실행 권한이 없어서 발생하는 문제일 가능성이 높습니다. 홈 디렉토리인 /home/ubuntu의 권한을 others의 실행 권한을 포함한 711로 설정합니다.
라고 합니다 권한 설정을 합시다.
$ chmod 711 /home/ubuntu
실행 확인!
'클라우드' 카테고리의 다른 글
AWS RDS - MySQL (0) | 2023.12.22 |
---|