nginx란?
웹 서버 소프트웨어로, 가벼움과 높은 성능을 목표로 한다. 웹 서버, 리버스 프록시 및 메일 프록시 기능을 가진다.
$ sudo apt-get install nginx
nginx 설정 파일 수정
$ sudo vi /etc/nginx/nginx.conf
http {} 블록 끝에 구문 추가
include /etc/nginx/sites-enabled/*.conf; // sites-enabled 디렉토리에서 서버 블록을 찾도록 지시
server_names_hash_bucket_size 64; // 도메인이름 분석하는데 할당되는 메모리 양
$ sudo vi /etc/nginx/sites-available/도메인이름(프로토콜 제외).conf
/etc/nginx/sites-available/도메인이름(프로토콜 제외).conf 아래 내용 입력
server {
  listen  80;
  server_name 도메인이름;
  location / {
    root  /var/www/html; //vsftpd 홈디렉토리
    index  index.html index.htm index.nginx-debian.html;
    try_files $uri $uri/ =404; 
  }
  error_page  500 502 503 504  /50x.html;
  location = /50x.html {
    root  /usr/share/nginx/html;
  }
}
React build 배포 시
server {
  listen 80;
  listen [::]:80;
  root /var/www;
  index index.html index.htm index.nginx-debian.html;
  server_name site.com;
  location / {
    try_files $uri $uri/ @rewrites;
  }
  location @rewrites {
    rewrite ^(.+)$ /index.html last;
  }
}
서버 블록 파일 활성화
sudo ln -s /etc/nginx/sites-available/도메인.conf /etc/nginx/sites-enabled/도메인.conf
nginx 재시작
$ sudo systemctl restart nginx
nginx log 확인
$ sudo ls /var/log/nginx // access.log error.log
$ sudo tail -f /var/log/nginx/access.log
server_name 을 꼭 도메인으로 해야되나요? 임의로 지정하면 어떻게 되나요??