💪 Today I Learned
Apache VS Nginx
- Apache : MPM 방식, 스레드/프로세스 기반 구조
- Nginx : 비동기 Event-Driven 기반 구조
발표 자료 만들다가 문득 궁금해져서 찾아봤다. 2주에 걸쳐 서버 프로그램으로 apache
와 nginx
를 사용했는데 정작 둘의 차이점은 모르고 있었다. 그래서 오늘 포스팅에 간략하게나마 정리했다. 간단하게 동시 접속 요청이 많을 경우 nginx
를 사용하면 될 것 같다.
hard link VS symbolic link (soft link)
- hard link : 원본 파일과 동일한 inode를 가진다.
- symbolic link : 원본 파일의 이름을 가리킨다.
phpmyadmin
설치 시 ln -s 명령어로 심볼릭 링크를 걸어줬는데 이게 뭔가 싶었다. 찾아보니 2년 전 시스템 프로그래밍 시간에 배운 내용이었다. 수업 당시 교수님께서 soft link
라는 용어로만 설명하셔서 생소하지 않았나 싶다.
어쨌든 심볼릭 링크는 쉽게 말해 윈도우 바로가기와 같은 것이다. 그래서 원본 파일이 삭제된다면 무용지물이 된다. 반면 하드 링크는 동일한 inode
를 가지므로 원본 파일이 삭제되도 데이터만 남아있다면 문제 없다.
Nginx server block
- redirection 위주
어제 말한대로 nginx의 server block
에 대해 공부해봤다. 깊게 파보진 않고 http -> https나 ip -> domain 형식으로 redirection
걸어주는 방식에 대해 많이 알아봤다. 과제를 끝마쳤다고 생각했었는데 크롬이 아닌 edge
로 들어가서 확인해보니 아니었다. (캐시를 삭제해주지 않아서 그런듯)
어쨌든 이번엔 제대로 구현했고 수차례 확인까지 했다. 삽질을 조금 했지만 굉장히 간단했다. http
로 요청 들어오는 경우에 301로 리턴하여 리다이렉션 적용할 주소를 써주면 됐다.
🏃 한마디
생각보다 내가 했던 과제에 빈틈이 많이 존재했다. 그래서 아예 AWS instance
를 하나 더 생성해 처음부터 다시해봤다. 한 번 더 훑어보니 서버 구축의 전반적인 과정을 이해하기 훨씬 수월했다. 또한 거의 2년 만에 사용하는 putty
가 편해지기 시작했다.
궁금했던 점이 있는데, 인바운드 규칙에서 3306 포트를 열었는데도 불구하고 MySQL
연결이 안된다는 것이다. 우분투 방화벽인 ufw
를 설정하여 해결하긴 했지만 왜 그런지 모르겠다. 내일 과제 발표 마치고 물어봐야겠다.