웹, 앱

[웹서버] 라즈베리파이 서버 구축 A to Z (2) - Nginx 설치 및 설정

Hyun-danpung2 2022. 8. 3. 13:46
728x90
반응형

2단계: Nginx 설치 및 설정

나는 Apache 대신에 Nginx를 이용했다. Apache와 Nginx, 그리고 이 다음에 설치할 Tomcat의 차이점은 아래에서 확인할 수 있다.

 

 

https://danpung2.tistory.com/35

 

[현문hyun답] Apache, Nginx, Tomcat 이란 뭐고 차이점은 뭘까?

서론 웹서버를 구축하면서 Apache와 Nginx, 그리고 Tomcat 중에 선택해야 했다. 스프링 부트를 배우면서 Tomcat이 내장되어 있다는 건 알았지만 Tomcat이 뭔지는 몰랐고, 참여하고 있는 프로젝트에서는 Ap

danpung2.tistory.com

 

 

sudo apt-get install nginx

 

위 명령어로 nginx를 설치했고 나는 기존의 설정 파일을 전부 삭제한 후 설정 파일을 새로 만들었다.

 

rm /etc/nginx/sites-enabled/default
rm /etc/nginx/sites-available/default

 

 

위 명령어로 기본 설정 파일을 삭제한 후, 아래 명령어로 새로운 설정 파일을 만들었다. 이렇게 한 이유는 nginx에서 여러 개의 서버를 돌리는 상황이 있을 수도 있을거라 생각해서 였다. 이 글에서는 프로젝트 이름을 project로 처리하겠다. (추가적으로, 나는 vim을 설치했다.)

 

vim /etc/nginx/sites-enabled/project.conf

 

그 후 sites-enable과 sites-available을 심볼릭 링크로 엮어준다. 이때, 심볼릭 링크란, 윈도우의 바로가기와 비슷한 개념으로, ln -s [원본] [생성] 명령어를 사용해서 만들어준다.

 

ln -s /etc/nginx/sites-enabled/project.conf /etc/nginx/sites-available/

 

그 다음으로 project.conf 내용을 채워준다.

 

server {
	listen 80;
	listen [::]:80;

  	server_name [도메인 주소]; (없다면 주석)
	root [루트 경로];
	#index index.html; (index페이지)
	#error_page 404 error.html; (error페이지. 없으면 주석)
    
	location / {
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		index index.html;
	}

	location /api {
		proxy_pass http://localhost:8080;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
	}
 }

나는 API 요청을 /api를 붙여서 하도록 할 예정이었기에 톰캣 기본 포트인 8080을 미리 설정해주었다. 이렇게 하면 웹사이트에 접근했을 때는 location / 설정에 따르고, API를 요청할 때는 location /api 설정에 따른다.

 

설정을 완료해주고 다음 명령어로 nginx을 재시작해준다.

 

sudo systemctl restart nginx

 

 

728x90
반응형