*웹서버와 WAS 연동방식

1. ISAPI

단점: 속도 느리다 회사가 다른 제품일 때 보통 쓴다

2. 라이브러리

같은 회사 것만 사용 가능(아파치-톰캣 등) 속도가 빠르다

 

 

0. 웹서버와 WAS 비교


서버 웹서버 WAS(Web Application Server)

프로그램 아파치 톰캣
포트 80 8080
  정적 동적

1. 아파치-톰캣 연동 설명


참고 사이트

AJP, mod_jk 설명 사이트

https://noobnim.tistory.com/26

아파치, 톰캣 설명 참고 사이트

https://byul91oh.tistory.com/65

1-1. APJ, mod_jk

(1) APj

웹서버 뒤에 있는 어플리케이션 서버로부터 웹서버로 들어오늘 요청을 위임할 수 있는 바이너리 프로토콜이다.

(2) mod_jk

아파치, 톰캣 연동을 위해 mod_jk 라는 모듈을 사용하는데, 이는 AJP프로토콜을 사용하여 톰캣과 연동하기 위해 만들어진 모듈이다. mod_jk는 톰캣의 일부로 배포되지만, 아파치 웹서버에 설치하여야 한다.

1-2. 동작 방식

https://madplay.github.io/post/apache-tomcat-modjk

 

  1. 아파치 웹서버의 httpd.conf에 톰캣 연동을 위한 설정을 추가하고 톰캣에서 처리할 요청을 지정한다.
  2. 사용자의 브라우저는 아파치 웹서버(보통 포트80)에 접속해 요청한다.
  3. 아파치 웹서버는 사용자의 요청이 톰캣에서 처리하도록 지정된 요청인지 확인 후, 톰캣에서 처리해야 하는 경우 아파치 웹서버는 톰캣의 AJP포트(보통 8009포트)에 접속해 요청을 전달한다.
  4. 톰캣은 아파치 웹서버로부터 요청을 받아 처리한 후, 처리 결과를 아파치 웹서버에 되돌려 준다.
  5. 아파치 웹서버는 톰캣으로부터 받은 처리 결과를 사용자에게 전송한다. 출처: https://noobnim.tistory.com/26 [공부하는 블로그:티스토리]

2. 아파치와 톰캣 연동 설정


참고 사이트

아파치 톰캣 연동하기(apache, tomcat, mod_jk)

아파치 톰캣 연동

2-1. Apache 설정하기

(1) 라이브러리 다운 및 폴더 디렉토리 설정

라이브러리 다운

https://www.apachelounge.com/download/ 에서 다운로드 파일 다운

zip 파일 안의 mod_jk.so 파일을 $Apache_Home > modules 폴더 안에 위치시킴

(2) workers.properties 추가

 

📢 workers.properties 파일은 Apache HTTP Server에서 연결하고자 하는 Tomcat에 대한 정의 및 설정 파일이다. workers는 back-end에 위치한 각 Tomcat 인스턴스들을 가리킨다.

[worker.properties 설명 출처]

(https://sarc.io/index.php/httpd/259-workers-properties-1#:~:text=이 workers.properties 파일은,정의 및 설정 파일이다.&text=worker.tomcat1%2C worker.tomcat2,값과 동일해야 한다.)

[Apache_Home] > conf 폴더에 텍스트 파일을 생성한다. 텍스트 파일을 [worker.properties] 이라고 제목을 수정하고 다음의 코드를 추가한다.

  • worker.properties 추가 코드
worker.list=study
worker.study.type=ajp13
worker.study.host=localhost
worker.study.port=8009

(3) AJP 옵션 활성화

$Apace_Home > conf 폴더의 httpd.conf파일에서 AJP 옵션을 활성화 해야 한다.

맨 아래에 다음의 코드를 추가한다 (아마도 한글 설정하는 코드 아래일 것임 )

  • httpd.conf 수정 코드 (AJP 옵션 활성화)
#mod_jk 모듈 설정
     LoadModule jk_module modules/mod_jk.so
     JkworkersFile conf/workers.properties
     JkMount /* study
 # log 파일 만들기
     JkLogFile logs/mod_jk.log
     JkLogLevel info
     JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
     JkRequestLogFormat "%w %V %T"

2-2. 톰캣 설정하기

(1) AJP 활성화

%Tomcat_Home > conf 폴더에서 server.xml 파일을 수정한다.

주석 처리되있다면 해제하고, 포트 등이 맞는지 확인 한다

  • server.xml 코드
<!-- Define an AJP 1.3 Connector on port 8009 -->

    <Connector protocol="AJP/1.3"
               address="127.0.0.1"
               port="8009"
               redirectPort="8443"
	secretRequired="false"
    />

2-3. 가상 호스트 설정

📢 동일한 서버 내에 여러 도메인을 가진 웹서버를 구축해서 서비스를 할 때 사용
www.plc1.com
www.plc2.com 등
아파치 입장에서는 톰캣이 가상 호스트임

[Apache_Home]\conf\extra\httpd-vhosts.conf 에 다음의 코드 추가

<VirtualHost *:8009>    
      ServerAdmin admin    
      DocumentRoot "C:/webroot"
      ErrorLog "logs/example-project-error.log"
      CustomLog "logs/example-project-access.log"
</VirtualHost>

3. 결과

*** MachineInfo.java 파일의 서브렛을 ("/dbconnection")으로 바꾼 상태임(컴파일도 해둠)

톰캣, 아파치 서버를 전부 끄고, 톰캣 → 아파치 순서대로 실행한다. (아파치는 윈도우 서비스이므로 관리자 권한 실행)

이후에는 포트번호(8080)이 없이 서브렛만 입력해도 된다.

http://127.0.0.1/dbconnection

속도가 빠르다

 

'JAVA > 웹서버' 카테고리의 다른 글

아파치 Servlet 만들기  (0) 2022.05.30
아파치 톰캣 만들기  (0) 2022.05.27
아파치 서버 만들기  (0) 2022.05.27

1. Servlet

1-1. Servlet 디렉토리 생성

아파치 서버 만들기 참고하여 프로젝트 디렉토리 생성

c:\webroot

(1) [프로젝트 디렉토리] c:\webroot 하단에 WEB-INF 폴더 생성

(2) WEB-INF 디렉토리 하단에 classes, lib, src 폴더 생성

(3) [TOMCAT_HOME]\webapps\ROOT\web.xml 파일을 [프로젝트 디렉토리]\WEB-INF 폴더 내로 복사

[프로젝트 디렉토리] > WEB-INF

1-2. 클래스 생성 및 등록 (Annotation)

WEB-INF 폴더 내 web.xml 파일을 이용해서 서블릿 클래스를 등록하지 않고 자바 소스에 직접 url를 기술하는 방식

web.xml 파일 안의 web-app 옵션 중 metadata-complete를 반드시 false로 바꿔줘야 함

(1) web.xml 파일 수정

metadata-complete="true" 
<!-- true를 false로 수정 -->
metadata-complete="false"

(2) src 폴더에 서블릿 소스를 생성

WEB-INF 폴더 > src 폴더 > 다음의 코드를 텍스트 파일로 HelloTest.java를 생성

  • 코드
    1. “ 따옴표 주의
    2. 파일명과 public class [클래스 이름]이 같아야 함 (대소문자 구문)
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import javax.servlet.annotation.WebServlet;
    @WebServlet("/hellojava")
    
    public class HelloTest extends HttpServlet {
    
        public void doGet(HttpServletRequest req, HttpServletResponse resp)         throws IOException {
            resp.setContentType("text/html; charset=UTF-8");
    
            PrintWriter out = resp.getWriter();
            
            out.println("<HTML><HEAD><TITLE>HelloServlet</TITLE></HEAD>");
            out.println("<BODY>");
            out.println("<h>안녕하세요? 서블릿 테스트 예제입니다.</h2>");
            out.println("<H2> Clinet IP: " + req.getRemoteAddr() + "</H2>");
            out.println("<H2> Client Host : " + req.getRemoteHost() + "</H2>");
            out.println("<H2> Request URI : " + req.getRequestURI() + "</H2>");
            out.println("</BODY></HTML>");
        }
    }
    

(3) 서블릿 소스 컴파일

cmd에서 src 폴더로 디렉토리 변경 후, javac –d ../classes [java 파일명] –encoding UTF-8 실행

javac –d ../classes HelloTest.java –encoding UTF-8

컴파일을 하고 나면 classes 폴더에 [java 파일명].class가 생성된 것을 볼 수 있다

1-3. 웹 접속하기

브라우저에서 http://127.0.0.1:8080/hellojava 접속하면 다음 화면을 볼 수 있다

2. MariaDB 조회하기

2-1. MariaDB 커넥터 라이브러리 추가하기

(1) JDBC 커넥터 다운로드

https://mariadb.com/downloads/connectors/

홈페이지에서 자바 버전에 맞는 jdbc connector를 다운로드한다

(2) lib 폴더에 jar 추가하기

다운로드한 파일을 [프로젝트 디렉토리] > WEB-INF > lib 폴더에 추가한다.

2-2. 소스 파일 추가하기

(1) src 폴더에 java 텍스트 파일 추가하기

텍스트 파일을 생성하고 확장자를 포함하여 MachineInfo.java으로 바꾼다. 파일을 열어서 코드를 추가한다.

코드 중 uri, userid, uwerpw, query는 필요에 맞게 수정해야 함

String uri ="jdbc:mariadb:/[서버 IP]:[방화벽 포트]/[DB 이름]";
	String userid = "[유저명]";
	String userpw = "[비밀번호]";
	String query = "select machineName, managerName, temperature,power,runTime from tbl_machine";
  • 코드
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    @WebServlet("/machineinfo")
    public class MachineInfo extends HttpServlet{
    
    	private static final long serialVersionUID = 1L;
    	
        public void doGet(HttpServletRequest req, HttpServletResponse resp)  throws IOException {
        	
    	resp.setContentType("text/html; charset=UTF-8");
    	PrintWriter out = resp.getWriter();
    	String uri ="jdbc:mariadb://192.168.5.7:14321/MES_factory";
    	String userid = "smartUser";
    	String userpw = "1q2w3e4r";
    	String query = "select machineName, managerName, temperature,power,runTime from tbl_machine";
    	Connection con = null;
    	Statement stmt = null; 
    	ResultSet rs = null;
                	
    	try{
    		Class.forName("org.mariadb.jdbc.Driver");
    		con = DriverManager.getConnection(uri,userid,userpw);
    		stmt = con.createStatement();
    		rs = stmt.executeQuery(query);
    	
    		out.println("<!DOCTYPE HTML><HEAD><TITLE>JDBC Test</TITLE></HEAD>");
           		out.println("<BODY>");
    		out.print("<h1>서블릿 DB 연동 테스트</h1>");
    		out.println("<TABLE border=1><TR><TD>기계명</TD><TD>관리자</TD><TD>온도</TD><TD>전력사용량</TD><TD>운전시간</TD></TR>");
    	
    		while(rs.next()) {
    			out.println("<TR><TD>" + rs.getString("machineName") + "</TD>"
    			+ "<TD>" + rs.getString("managerName") +"</TD>"
    			+ "<TD>" + rs.getInt("temperature") + "</TD>"
    			+ "<TD>" + rs.getInt("power") + "</TD>"
    			+ "<TD>" + rs.getInt("runTime") + "</TD>");
    		}
    		out.println("</TABLE></BODY>");
    
    		if(rs != null) { rs.close(); }
    		if(stmt != null) { stmt.close(); }
    		if(con != null) { con.close(); }
    	}catch(Exception e) { e.printStackTrace(); }
    
    } //End of doGet
    
    	
    	
    
    }
    
  • public clasee [클래스 이름]과 파일 이름은 동일해야 한다(대소문자 구분)

(2) 접속하기

http://127.0.0.1:8080/machineinfo 으로 접속하면 다음 화면을 볼 수 있다

1. Servlet

1-1. Servlet 디렉토리 생성

아파치 서버 만들기 참고하여 프로젝트 디렉토리 생성

c:\webroot

(1) [프로젝트 디렉토리] c:\webroot 하단에 WEB-INF 폴더 생성

(2) WEB-INF 디렉토리 하단에 classes, lib, src 폴더 생성

(3) [TOMCAT_HOME]\webapps\ROOT\web.xml 파일을 [프로젝트 디렉토리]\WEB-INF 폴더 내로 복사

[프로젝트 디렉토리] > WEB-INF

1-2. 클래스 생성 및 등록 (Annotation)

WEB-INF 폴더 내 web.xml 파일을 이용해서 서블릿 클래스를 등록하지 않고 자바 소스에 직접 url를 기술하는 방식

web.xml 파일 안의 web-app 옵션 중 metadata-complete를 반드시 false로 바꿔줘야 함

(1) web.xml 파일 수정

metadata-complete="true" 
<!-- true를 false로 수정 -->
metadata-complete="false"

(2) src 폴더에 서블릿 소스를 생성

WEB-INF 폴더 > src 폴더 > 다음의 코드를 텍스트 파일로 HelloTest.java를 생성

  • 코드
    1. “ 따옴표 주의
    2. 파일명과 public class [클래스 이름]이 같아야 함 (대소문자 구문)
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import javax.servlet.annotation.WebServlet;
    @WebServlet("/hellojava")
    
    public class HelloTest extends HttpServlet {
    
        public void doGet(HttpServletRequest req, HttpServletResponse resp)         throws IOException {
            resp.setContentType("text/html; charset=UTF-8");
    
            PrintWriter out = resp.getWriter();
            
            out.println("<HTML><HEAD><TITLE>HelloServlet</TITLE></HEAD>");
            out.println("<BODY>");
            out.println("<h>안녕하세요? 서블릿 테스트 예제입니다.</h2>");
            out.println("<H2> Clinet IP: " + req.getRemoteAddr() + "</H2>");
            out.println("<H2> Client Host : " + req.getRemoteHost() + "</H2>");
            out.println("<H2> Request URI : " + req.getRequestURI() + "</H2>");
            out.println("</BODY></HTML>");
        }
    }
    

(3) 서블릿 소스 컴파일

cmd에서 src 폴더로 디렉토리 변경 후, javac –d ../classes [java 파일명] –encoding UTF-8 실행

javac –d ../classes HelloTest.java –encoding UTF-8

컴파일을 하고 나면 classes 폴더에 [java 파일명].class가 생성된 것을 볼 수 있다

1-3. 웹 접속하기

브라우저에서 http://127.0.0.1:8080/hellojava 접속하면 다음 화면을 볼 수 있다

2. MariaDB 조회하기

2-1. MariaDB 커넥터 라이브러리 추가하기

(1) JDBC 커넥터 다운로드

https://mariadb.com/downloads/connectors/

홈페이지에서 자바

버전에 맞는 jdbc connector를 다운로드한다

 

 

(2) lib 폴더에 jar 추가하기

다운로드한 파일을 [프로젝트 디렉토리] > WEB-INF > lib 폴더에 추가한다.

 

 

 

2-2. 소스 파일 추가하기

(1) src 폴더에 java 텍스트 파일 추가하기

텍스트 파일을 생성하고 확장자를 포함하여 MachineInfo.java으로 바꾼다. 파일을 열어서 코드를 추가한다.

코드 중 uri, userid, userpw, query는 필요에 맞게 수정해야 함

MachineInfo.java.txt
0.00MB

길어서 txt 파일로 대체

  • public clasee [클래스 이름]과 파일 이름은 동일해야 한다(대소문자 구분)

(2) 접속하기

http://127.0.0.1:8080/machineinfo 으로 접속하면 다음 화면을 볼 수 있다

 

'JAVA > 웹서버' 카테고리의 다른 글

아파치-톰캣 연동하기  (0) 2022.06.07
아파치 톰캣 만들기  (0) 2022.05.27
아파치 서버 만들기  (0) 2022.05.27

1. Apache Tomcat

1-1. 아파치 Tomcat 다운로드

(1) Tomcat 설치파일 다운로드

홈페이지에서 버전 9의 64 bit(운영체제에 맞는 bit) zip을 다운로드한다.

작성기준으로 최신 버전 10을 받지 않는 이유는 안정성 때문이다

https://tomcat.apache.org/

(2) Tomcat 파일 위치 지정

압축 폴더의 apache-tomcat-9.0.63를 원하는 곳에 위치시킨다. ~~~\\apache-tomcat-9.0.63 경로가 [Tomcat_Home]이다.

여기서는 C: 드라이브 바로 아래에 위치시켰음 [Tomcat_Home] = C:\apache-tomcat-9.0.63

1-2. Tomcat 환경 설정

(1) server.xml 파일 수정

  • Connector protocol 코드에 secretRequired="false" 추가
<Connector protocol="AJP/1.3"
             address="127.0.0.1"
             port="8009"
             redirectPort="8443"
						 secretRequired="false"
    />
            <!-- 보안모드를 비활성화하겠다 secretRequired=false-->
  • Host name 코드도 다음과 같이 수정한다
  • <Host name="localhost" appBase=“[프로젝트 디렉토리]" unpackWARs="true" autoDeploy=“true“ > <Context path=“/" docBase =“[프로젝트 디렉토리]" unpackWARs="true" reloadable=“true" > </Context>
<Host name="localhost"  appBase="c:/webroot"
            unpackWARs="true" autoDeploy="true">
           
           <Context path="/" docBase ="c:/webroot" 
              unpackWARs="true" reloadable="true" > 
       </Context>

(2) 환경 변수 추가 및 CLASSPATH 설정

검색기 > 시스템 환경 변수 편집

<aside> 📢 CATALINA 는 톰캣을 의미함

</aside>

 

  • CATALINA_BASE, CATALINA_HOME 생성 후, [Tomcat_Home] 입력 CATALINA_TMPDIR 생성 후, [Tomcat_Home] \\temp 입력

  • CLASSPATH 을 편집하여 %CATALINA_HOME%\\lib\\servlet-api.jar 추가

  • JRE_HOME 생성 후, [JAVA_HOME] 입력한다. 예를 들어, C:\\Java\\jdk-11.0.15.1 이라면 다음과 같음

1-3. Tomcat 시작 및 중지

(1) Cmd 에서 [Tomcat_Home]/bin 으로 디렉토리 변경

  • 시작 : [Tomcat_Home]/bin/startup.bat 중지 : [Tomcat_Home]/bin/shutdown
C:\\apache-tomcat-9.0.63\\bin>startup
C:\\apache-tomcat-9.0.63\\bin>shutdown

(2) 사이트 접속하기

Tomcat이 실행 중일 때, 웹 브라우저로 http://127.0.0.1:8080/ 에 접속하면 다음과 같은 화면을 볼 수 있다

2. Tomcat 콘솔 한글 깨짐 문제 해결

(1) 윈도우 검색에서 regedit 실행

(2) HKEY_CURRENT_USER\Console 디렉토리에서 오른쪽 마우스 클릭 → 새로 만들기 → 키 → Tomcat 생성 → 새로 만들기 → DWORD(32비트) → 이름: CodePage, 단위 10진수, 데이터 65001 선택

1. Apache Tomcat

1-1. 아파치 Tomcat 다운로드

(1) Tomcat 설치파일 다운로드

홈페이지에서 버전 9의 64 bit(운영체제에 맞는 bit) zip을 다운로드한다.

작성기준으로 최신 버전 10을 받지 않는 이유는 안정성 때문이다

https://tomcat.apache.org/

(2) Tomcat 파일 위치 지정

압축 폴더의 apache-tomcat-9.0.63를 원하는 곳에 위치시킨다. ~~~\\apache-tomcat-9.0.63 경로가 [Tomcat_Home]이다.

여기서는 C: 드라이브 바로 아래에 위치시켰음 [Tomcat_Home] = C:\apache-tomcat-9.0.63

1-2. Tomcat 환경 설정

(1) server.xml 파일 수정

  • Connector protocol 코드에 secretRequired="false" 추가
<Connector protocol="AJP/1.3"
             address="127.0.0.1"
             port="8009"
             redirectPort="8443"
						 secretRequired="false"
    />
            <!-- 보안모드를 비활성화하겠다 secretRequired=false-->
  • Host name 코드도 다음과 같이 수정한다
  • <Host name="localhost" appBase=“[프로젝트 디렉토리]" unpackWARs="true" autoDeploy=“true“ > <Context path=“/" docBase =“[프로젝트 디렉토리]" unpackWARs="true" reloadable=“true" > </Context>
<Host name="localhost"  appBase="c:/webroot"
            unpackWARs="true" autoDeploy="true">
           
           <Context path="/" docBase ="c:/webroot" 
              unpackWARs="true" reloadable="true" > 
       </Context>

(2) 환경 변수 추가 및 CLASSPATH 설정

📢 CATALINA 는 톰캣을 의미함
  • CATALINA_BASE, CATALINA_HOME 생성 후, [Tomcat_Home] 입력 CATALINA_TMPDIR 생성 후, [Tomcat_Home] \\temp 입력

  • CLASSPATH 을 편집하여 %CATALINA_HOME%\\lib\\servlet-api.jar 추가

  • JRE_HOME 생성 후, [JAVA_HOME] 입력
    예를 들어, C:\Java\jdk-11.0.15.1 이라면 다음과 같음

 

1-3. Tomcat 시작 및 중지

(1) Cmd 에서 [Tomcat_Home]/bin 으로 디렉토리 변경

  • 시작 : [Tomcat_Home]/bin/startup.bat 중지 : [Tomcat_Home]/bin/shutdown
C:\\apache-tomcat-9.0.63\\bin>startup
C:\\apache-tomcat-9.0.63\\bin>shutdown

(2) 사이트 접속하기

Tomcat이 실행 중일 때, 웹 브라우저로 http://127.0.0.1:8080/ 에 접속하면 다음과 같은 화면을 볼 수 있다

2. Tomcat 콘솔 한글 깨짐 문제 해결

(1) 윈도우 검색에서 regedit 실행

(2) HKEY_CURRENT_USER\Console 디렉토리에서 오른쪽 마우스 클릭 → 새로 만들기 → 키 → Tomcat 생성 → 새로 만들기 → DWORD(32비트) → 이름: CodePage, 단위 10진수, 데이터 65001 선택

'JAVA > 웹서버' 카테고리의 다른 글

아파치-톰캣 연동하기  (0) 2022.06.07
아파치 Servlet 만들기  (0) 2022.05.30
아파치 서버 만들기  (0) 2022.05.27

1. 아파치 서버

1-1. 아파치 서버 설치하기

참고 사이트

[Apache] Windows 10 64bit 환경 Apache2.4 설치 및 설정

 

[Apache] Windows 10 64bit 환경 Apache2.4 설치 및 설정

[Apache] Windows 10 64bit 환경 Apache 설치 및 설정 1. 아파치(Apache) 2.4 설치파일 다운로드 Apache VS16 binaries and modules download www.apachelounge.com 운영체제 환경이 64 bit인 경우 첫 번..

haenny.tistory.com

(1) 아파치 서버 설치하기

https://www.apachelounge.com/download/

위 사이트에서 zip 파일을 다운로드한다

(2) zip 파일 안에서 Apache24를 C: 드라이브에 위치한다

 

(3) 프로젝트 디렉토리 만들기

C: 드라이브에 webroot 폴더를 만들고 텍스트 파일만든다. index.html로 변경한다. html 파일을 열어서 다음과 같이 수정한다.

<html>
	<meta charset="utf-8">
	<body>
		<h1> hello. this is 아파치 서버 </h1>

	</body>
</html>

(3) httpd.conf 수정

C 드라이브 아래에 Apache24, webroot 폴더가 있을 경우
[Apache_Home] = c:\Apache24
[프로젝트 디렉토리] = c:\webroot
리눅스 프로그램을 윈도우로 이식한 프로그램은 디렉토리를 표시할 때 \\가 아닌 /를 쓴다
c:/Apache24
c:/Apache24

[Apache_Home]/conf/httpd.conf 수정하기

  • 서버 루트 변경 : Define SRVROOT “[Apache_Home]"
  • 서버 네임 변경 : ServerName 127.0.0.1
  • 다큐먼트 루트 변경 DocumentRoot “[프로젝트 디렉토리]“ <Directory “[프로젝트 디렉토리]“> ※ 반드시 \가 아닌 /로 입력
  • 인코딩 코드 입력행 추가 AddDefaultCharset utf-8
# // 서버루트 변경
#Define SRVROOT "c:/Apache24"
ServerRoot "${SRVROOT}"
# // 서버 네임 변경
ServerName 127.0.0.1
# // 다큐먼트 루트 변경
DocumentRoot "c:/webroot"
<Directory "c:/webroot">
# // 한글 인코딩
AddDefaultCharset utf-8

httpd.conf 파일

1-2. 아파치 실행

(1) 아파치를 윈도우 서비스에 등록

관리자 권한으로 cmd 실행

[Apache_Home]의 bin 폴더로 이동 → 윈도우 서비스 등록 명령 실행

*** 윈도우 서비스는 cmd를 관리자 권한으로 실행해야 함 ***

// 윈도우 서비스 등록
httpd -k install
// 서비스 시작 
httpd –k restart 
// 서비스 종료 
httpd –k stop

(2) 윈도우 서비스에서 실행하기

윈도우 검색기로 “서비스” 검색 > Apache2.4 우클릭

시작 유형(윈도우 시작시 자동실행 유무) 및 서비스 실행, 중지 제어

(3) 웹 서버 접속하기

서비스가 실행 중일 때, 웹 브라우저에 localhost 혹은 127.0.0.1 을 입력하면 다음과 같은 화면이 나온다

1. 아파치 서버

1-1. 아파치 서버 설치하기

참고

[Apache] Windows 10 64bit 환경 Apache2.4 설치 및 설정

(1) 아파치 서버 설치하기

https://www.apachelounge.com/download/

(2) zip 파일 안에서 Apache24를 C: 드라이브에 위치한다

(3) 프로젝트 디렉토리 만들기

C: 드라이브에 webroot 폴더를 만들고 텍스트 파일만든다. index.html로 변경한다. html 파일을 열어서 다음과 같이 수정한다.

<html>
	<meta charset="utf-8">
	<body>
		<h1> hello. this is 아파치 서버 </h1>

	</body>
</html>

(3) httpd.conf 수정

<aside> 📢 C 드라이브 아래에 Apache24, webroot 폴더가 있음 [Apache_Home] = c:\Apache24 [프로젝트 디렉토리] = c:\webroot

</aside>

리눅스 프로그램을 윈도우로 이식한 프로그램은 디렉토리를 표시할 때 \\가 아닌 /를 쓴다
c:/Apache24
c:/Apache24

[Apache_Home]/conf/httpd.conf 수정하기

  • 서버 루트 변경 : Define SRVROOT “[Apache_Home]"
  • 서버 네임 변경 : ServerName 127.0.0.1
  • 다큐먼트 루트 변경 DocumentRoot “[프로젝트 디렉토리]“ <Directory “[프로젝트 디렉토리]“> ※ 반드시 \가 아닌 /로 입력
  • 인코딩 코드 입력행 추가 AddDefaultCharset utf-8
# // 서버루트 변경
#Define SRVROOT "c:/Apache24"
ServerRoot "${SRVROOT}"
# // 서버 네임 변경
ServerName 127.0.0.1
# // 다큐먼트 루트 변경
DocumentRoot "c:/webroot"
<Directory "c:/webroot">
# // 한글 인코딩
AddDefaultCharset utf-8

httpd.conf 파일

1-2. 아파치 실행

(1) 아파치를 윈도우 서비스에 등록

관리자 권한으로 cmd 실행

[Apache_Home]의 bin 폴더로 이동 → 윈도우 서비스 등록 명령 실행

*** 윈도우 서비스는 cmd를 관리자 권한으로 실행해야 함 ***

// 윈도우 서비스 등록
httpd -k install
// 서비스 시작 
httpd –k restart 
// 서비스 종료 
httpd –k stop

(2) 윈도우 서비스에서 실행하기

윈도우 검색기로 “서비스” 검색 > Apache2.4 우클릭

시작 유형(윈도우 시작시 자동실행 유무) 및 서비스 실행, 중지 제어

(3) 웹 서버 접속하기

서비스가 실행 중일 때, 웹 브라우저에 localhost 혹은 127.0.0.1 을 입력하면 다음과 같은 화면이 나온다

1. 아파치 서버

1-1. 아파치 서버 설치하기

참고

[Apache] Windows 10 64bit 환경 Apache2.4 설치 및 설정

(1) 아파치 서버 설치하기

https://www.apachelounge.com/download/

(2) zip 파일 안에서 Apache24를 C: 드라이브에 위치한다

(3) 프로젝트 디렉토리 만들기

C: 드라이브에 webroot 폴더를 만들고 텍스트 파일만든다. index.html로 변경한다. html 파일을 열어서 다음과 같이 수정한다.

<html>
	<meta charset="utf-8">
	<body>
		<h1> hello. this is 아파치 서버 </h1>

	</body>
</html>

(3) httpd.conf 수정

<aside> 📢 C 드라이브 아래에 Apache24, webroot 폴더가 있음 [Apache_Home] = c:\Apache24 [프로젝트 디렉토리] = c:\webroot

</aside>

리눅스 프로그램을 윈도우로 이식한 프로그램은 디렉토리를 표시할 때 \\가 아닌 /를 쓴다
c:/Apache24
c:/Apache24

[Apache_Home]/conf/httpd.conf 수정하기

  • 서버 루트 변경 : Define SRVROOT “[Apache_Home]"
  • 서버 네임 변경 : ServerName 127.0.0.1
  • 다큐먼트 루트 변경 DocumentRoot “[프로젝트 디렉토리]“ <Directory “[프로젝트 디렉토리]“> ※ 반드시 \가 아닌 /로 입력
  • 인코딩 코드 입력행 추가 AddDefaultCharset utf-8
# // 서버루트 변경
#Define SRVROOT "c:/Apache24"
ServerRoot "${SRVROOT}"
# // 서버 네임 변경
ServerName 127.0.0.1
# // 다큐먼트 루트 변경
DocumentRoot "c:/webroot"
<Directory "c:/webroot">
# // 한글 인코딩
AddDefaultCharset utf-8

httpd.conf 파일

1-2. 아파치 실행

(1) 아파치를 윈도우 서비스에 등록

관리자 권한으로 cmd 실행

[Apache_Home]의 bin 폴더로 이동 → 윈도우 서비스 등록 명령 실행

*** 윈도우 서비스는 cmd를 관리자 권한으로 실행해야 함 ***

// 윈도우 서비스 등록
httpd -k install
// 서비스 시작 
httpd –k restart 
// 서비스 종료 
httpd –k stop

(2) 윈도우 서비스에서 실행하기

윈도우 검색기로 “서비스” 검색 > Apache2.4 우클릭

시작 유형(윈도우 시작시 자동실행 유무) 및 서비스 실행, 중지 제어

(3) 웹 서버 접속하기

서비스가 실행 중일 때, 웹 브라우저에 localhost 혹은 127.0.0.1 을 입력하면 다음과 같은 화면이 나온다

'JAVA > 웹서버' 카테고리의 다른 글

아파치-톰캣 연동하기  (0) 2022.06.07
아파치 Servlet 만들기  (0) 2022.05.30
아파치 톰캣 만들기  (0) 2022.05.27

+ Recent posts