[JAVA] Nginx + Tomcat 연결하기 (윈도우 환경) (1)

춤추는 머쉬룸·2024년 1월 17일
1

2024 CNU NHN ACADEMY

목록 보기
4/15
post-thumbnail

짱복잡해.... 그치만 성공!!
java로 servlet 을 만들어서 tomcat 으로 구동하고 nginx와 연결했다!

1. Nginx, Tomcat 설치

1-1. Nginx 설치

> Nginx 설치 사이트

다운로드 후 원하는 C 드라이브에 압축 해제한다.
nginx 폴더 진입 후 nginx.exe 파일 누르면 실행!

실행 정지는 관리자 권한 cmd 창에서 해당 폴더 위치로 간 다음 nginx.exe -s stop 을 한다.

1-2. Tomcat 설치

> Tomcat 설치 사이트

다운로드 후 원하는 C 드라이브에 압축 해제한다.

(사실 윈도우 환경이면 아래의 윈도우 버전을 다운받아도 되겠지만 나는 Intellij 를 통해 java servlet 프로그램을 작성할 것이기 때문에 이 방식으로 했다.)

2. Java Servlet 프로그램 작성 & Tomcat 실행 확인

2-1. Intellij 에서 Jakarta EE 로 새 프로젝트를 생성한다

  1. Generators 에서 Jakarta EE 선택
  2. Template 를 Web application 으로 변경
  3. Application server 에서 new > tomcat server 선택
  4. 팝업 화면의 Tomcat Home 에서 톰캣이 설치된 경로 선택 > Ok > Next

  1. Version 에서 JAVA EE 8 선택 > create

2-2. Edit Configuration

  1. 상단의 Run > Edit Configuration 선택
  2. 톰캣의 기본 포트는 8080 이므로 자동으로 설정되어 있다. 만약 다른 포트를 사용하고 싶다면 아래 HTTP port 를 다른 숫자로 변경한다.

  1. Server 옆 Deployment 를 누른다.
  2. 아래 Applicatoin context 를 / 로 변경한다.

2-3. Servlet 클래스를 만들고 web-app 에 추가한다

  1. HttpServlet 클래스를 상속받는 클래스를 만든다.

나는 HelloServlet 이라는 클래스를 만들었다

import java.io.*;

public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
        resp.setCharacterEncoding("utf-8");
        try (PrintWriter writer = resp.getWriter()) {
            writer.println("<!DOCTYPE html>");
                writer.println("<html>");
                    writer.println("<head>");
                        writer.println("<meta charset='utf-8'>");
                    writer.println("</head>");
                writer.println("<body>");
                    writer.println("<h1>hello servlet!</h1>");
                    writer.println("<h1>안녕 서블릿!</h1>");
                writer.println("</body>");
                writer.println("</html>");
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}

  1. webapp > WEB-INF > web.xml 파일에 Servlet 설정을 추가한다.
<servlet>
	<servlet-name>helloServlet</servlet-name>
    <servlet-class>com.nhnacademy.servlet_demo.HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
	<servlet-name>helloServlet</servlet-name>
	<url-pattern>/hello</url-pattern>
</servlet-mapping>

  • servlet-name : 추가할 Servlet 클래스
  • servlet-class : 추가할 Servlet {클래스 패키지}.{클래스}
  • url-pattern : 호스트:포트/{뒤에 들어갈 경로}
    ex) localhost:8080/hello 를 원한다면 hello 입력

2-4. 프로젝트를 실행시켜 브라우저에서 동작을 확인한다

  1. ▶️ 처럼 생긴 재생 버튼을 눌러 Tomcat을 실행시킨다.
  2. 브라우저에 localhost:8080/hello 를 입력해 작성한 프로그램이 실행되는지 확인한다.

HelloServlet 클래스에서 작성한 내용이 잘 뜨는 것을 확인할 수 있다!


내용이 너무 길어져서 Nginx 와 연결하는 부분은 다음 포스트에 진행하겠다!

0개의 댓글