nginx는 웹 서버다. 클라이언트가 요청하면 알맞은 문서를 보내준다. 이외에는 봐도 무슨 말인지
apt-get -y install nginx
위의 명령어로 nginx를 설치
service nginx start
nginx 실행
여기서 service가 뭔지 궁금하니 확인하고 가자. service명령은 daemon 혹은 service라고 불리는 백그라운드에서 항상 돌아야하는 프로그램을 관리하는데 쓴다. nginx와 같은 서버 프로그램은 daemon이기 때문에 그냥 실행 시키지 못한다. nginx의 start 명령을 service를 통해 우회해서 실행시킨다.
service nginx status
nginx 상태 확인
service nginx stop
nginx 정지
curl이 설치되어 있지 않다면 아래의 명령으로 설치할 수 있다.
apt-get install -y curl
curl 받기는 했는데 뭔지 궁금하다. 한 번 찾아보니
cURL은 다양한 통신 프로토콜을 이용하여 데이터를 전송하기 위한 라이브러리와 명령 줄 도구를 제공하는 컴퓨터 소프트웨어 프로젝트이다
https://ko.wikipedia.org/wiki/CURL
라고 한다. http, https, ftp등 다양한 프로토콜을 지원한다.
본인의 경우 Xshell(ssh 툴이다)로 작업하는 중인데 service nginx start 가 계속 실패했다. 오류코드도 없이 그저 fail만 떠서 곤란했다.
nginx -t
위의 명령어가 도움이 많이 됐다. nginx의 설정파일을 테스트해주는 옵션(-T도 비슷하지만 차이를 모르겠다)이다. 아래와 같이 나왔다.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol) nginx: configuration file /etc/nginx/nginx.conf test failed
보통 ipv6 를 disable 해 두는 서버인 경우는 위와 같이 에러가 발생하게 됩니다. 이런 경우 default 사이트 설정 파일인
/etc/nginx/sites-enabled/default
을 열어서
#listen [::]:80 default_server;
위의 ipv6 리스닝 부분을 삭제하거나 주석 처리하시면 됩니다. (출처: https://www.fun25.co.kr/blog/nginx-ipv6-address-family-not-supported-by-protocol/?category=001)
따라해서 설정파일을 수정하고 나면
성공했다.