웹서버 만들기(1)
- 목표 : jsp 를 이용하여 간단한 로그인 서버를 만들것이다.
- 환경 : 우분투 22.04
- MVC ( Model View Controller ) 구조
- MVC 모델1 :
클라이언트 <> 아파치 or nginx <> 톰캣 <> JSP <> DB
- MVC 모델2 :
클라이언트 <> 아파치 or nginx <> 톰캣<> servlet JSP <> DB
- MVC 모델1 :
Nginx 설치하기
sudo apt install nginx
nginx 설치하기.service nginx status
로 상태를 확인할 수 있다. 설치를 하면 자동으로 동작 시작하는 것을 볼 수 있다.
nmap localhost
로 열린 포트를 확인할 수 있다.
- nginx 중지, 시작, 재시작 명령어.
sudo service nginx stop sudo service nginx start sudo service nginx restart
톰캣 설치하기
- 톰캣 설치하기 전 open jdk 11 부터 설치한다.
sudo apt install openjdk-11-jdk -y
명령으로 설치한다.
- 톰캣을 설치 하기 위해 톰캣 10.0.27 버전 먼저 다운로드 받는다
sudo wget https://archive.apache.org/dist/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz
명령으로 다운받는다.
- 현재폴더에서 압축을 풀어준다.
tar -xvf apache-tomcat-10.0.27.tar.gz
- tomcat 동작시키기.
./apache-tomcat-10.0.27/bin/startup.sh
톰켓을 시작한다.
nmap localhost
로 열린 포트를 확인한다
[http://localhost:8080]
- 만약 자바를 설치하지 않았거나 JAVA_HOME 환경변수를 지정하지 않으면 오류가 발생할 수 있다. JAVA_HOME 환경변수를 등록하여 오류 해결이 가능하다.
NginX 와 Tomcat 연동하기
- 먼저 톰켓을 동작 시켜야한다.
vi /etc/nginx/nginx.conf
파일을 살폅보면 sites-enabled 폴더 안의 파일들을 살펴보는 것을 알 수 있다.
sudo vi /etc/nginx/sites-enabled/default
열어보자.
location / 의 proxy_pass 부분에 tomcat의 동작중인 주소를 넣어준다.- [http://localhost] 로 접속하면 nginx로 연결되는 것이아닌 tomcat으로 연결되는것을 확인할 수 있다.
nginx와 tomcat 연동중 발생한 오류
- 실패1 css 파일 못찾음
- 해결법
- 방법 (1)
/etc/nginx/sites-enabled/default
파일의 location / 부분을 살펴보자.- try_files $uri $uri/ =404; 부분을 주석처리 안해주면 jsp 가 제대로 동작안하거나 웹사이트가 제대로 동작안 할 수 있다. 따라서 try_files $uri $uri/ =404; 부분을 주석처리해주면 된다.
- 방법(2)
- try_files $uri $uri/ =404; 을 주석처리 하지않고 .css 요청이 들어올 때도 proxy_pass 처리해 준다.
/etc/nginx/sites-enabled/default
파일에 넣어주면 된다.
- try_files $uri $uri/ =404; 을 주석처리 하지않고 .css 요청이 들어올 때도 proxy_pass 처리해 준다.
- 방법 (1)
- 실패2 jsp는 동작은 하지만 서버가 페이지를 이상하게 만들어서줌.
예상동작 - 해결법
- 방법(1)
location ~ \.js {
부분에서add_header Content-Type application/x-javascript;
부분을 주석처리 해주면 된다.
- 방법(2)
- try_files $uri $uri/ =404; 부분을 주석처리 안해주면 jsp 가 제대로 동작안하거나 웹사이트가 제대로 동작안 할 수 있다. 따라서 try_files $uri $uri/ =404; 부분을 주석처리해주면 된다.
- try_files $uri $uri/ =404; 부분을 주석처리 안해주면 jsp 가 제대로 동작안하거나 웹사이트가 제대로 동작안 할 수 있다. 따라서 try_files $uri $uri/ =404; 부분을 주석처리해주면 된다.
- 방법(1)
- 주의
default
파일 바꾸고 나서 nginx 서버를 재시작해줘야 한다.sudo service nginx restart
JSP 동작 테스트
apache-tomcat-10.1.7/webapps/ROOT
위치에 test.jsp 파일을 만들어준다.- 그리고 다음 내용을 test.jsp 파일에 추가해준다.
1
2
3
4
5
6
7
<html>
<% String test="hello"; %>
<script>
alert('<%=test%>');
</script>
</html>
- 동작결과
http://localhost/test.jsp
또는http://주소/test.jsp
로 들어가면 alert 창이 뜨는 것을 확인할 수 있다.
참고 사이트
- Jsp MVC 패턴이란 무엇인가? (Model1, Model2)
- 1. 우분투에서 아파치 웹서버 설치하기
- 아파치 + 톰캣 연동하기
- [WEB] NginX - Tomcat 연동
- Install Tomcat on Ubuntu – Simple Step-by-Step Guide (hostinger.com)
- nginx설정 (Tomcat서버 요청하기)
- Install Tomcat on Ubuntu – Simple Step-by-Step Guide (hostinger.com)
- nginx설정 (Tomcat서버 요청하기)
- [리눅스] nginx tomcat 설치 및 연동
- 우분투를 개발 머신으로 만들기 - JSP 환경 구축
- CodeMonkey :: nginX Tomcat과 nginX 연동처리를 통한 서버관리
댓글남기기