일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
- SQLite
- 개발자 이야기
- swift
- Apache
- jquery
- Python
- node.js
- RSocket
- xml
- SQL
- pdo
- php
- Linux
- 외국인 노동자
- javadoc
- Eclipse
- WebClient
- spring boot
- 일본
- gradle
- webflux
- Java
- build tool
- bootstrap
- Spring
- Ajax
- angularjs
- JavaFX
- mybatis
- maven
- Today
- 1
- Total
- 3,710,858
목록전체 글 (435)
슬기로운 개발자 생활
이름 기반 가상 호스트이름 기반의 경우 IP 주소는 한개가 아니어도 된다. 이름 기반의 경우는 클라이언트의 요청에 포함된 Hosts 헤더를 보고 어떤 호스트에 액세스할 것인지를 결정한다.먼저 "VirtualHost"를 사용하여 ServerName마다 설정하고 있다. ServerName www1.devkuma.com .... ServerName www2.devkuma.com .... 요청(request)에 포함된 Hosts 헤더를 참조하여 "ServerName"와 일치하는 블록을 찾는다. 일치하는 블록이 발견되면 그 블록의 설정이 적용된다.좀 더 구체적으로 설명을 하자면, "ww1.devkuma.com"과 "ww1.devkuma.com" 두 호스트를 1개 이상의 IP 주소에 할당하고, 각각에 대한 액세스에..
1대의 서버를 사용하여 여러 도메인을 사용한 Web 서버로서의 기능을 제공하는 방법에 대해 설명한다. 서버가 여러 인터페이스를 가지고 있고 IP 주소가 여러개를 할당할 수있는 경우와 하나의 IP 주소에 호스트을 보고 배분 방법이 있다. IP 기반 가상 호스트IP 기반은 하나의 서버에 여러 개의 LAN 카드가 장착되어 있어, 여러 IP 주소를 있는 경우에 각각의 IP 주소에 대한 가상 호스트를 지정한다.IP 기반 가상 호스트를 할당하려면 "VirtualHost"를 사용한다. ... ... ... ... 예를 들어, "192.168.1.1"와 "192.168.1.2" 2개의 IP 주소가 할당되어 있다면 DNS에 "ww1.devkuma.com"을 "192.168.1.1"으로 등록하고, "ww2.devkuma...
로그는 별도로 지정하지 않으면 하나의 파일에 기록을 이어간다. 따로 설정을 하게 되면 로그를 일정 기간마다 별도의 파일로 전환될 수 있게 할 수 있다. 예를 들어 하루 단위로 별도의 로그 파일로 기록하도록 하면 관리도 편해진다.로그 로테이션 (rotetalogs)로그를 순환하는 유틸리티 프로그램을 Apache에서는 제공하고 있다. "{Apache 설치 디렉토리}/Apache24/bin" 디렉토리에 들어있는 "rotatelogs" 프로그램을 사용한다.사용법은 다음과 같다.rotatelogs 대상-로그-파일 지정-시간 지정 시간은 초 단위로 로그를 분할하는 시간을 지정한다. 1 일 단위라면 "60 × 60 × 24 = 86400 "으로 지정한다.로그 로테이션은 "httpd.conf"로 설정하여 자동으로 할 ..
액세스 로그에 기록되는 액세스한 정보는 IP 주소로 기록된다. 기록되는 시점에 IP 주소를 호스트명으로 변환하고 기록하기 위한 설정(HostnameLookups)도 있지만, 이는 액세스할 때마다 DNS 참조가 발생하여 부하가 높아지기 때문에 일반적으로 로그에 기록된 후 호스트명으로 일괄 변환한다.IP 주소를 호스트명으로 변환하여 다른 파일로 저장하는 유틸리티 프로그램이 Apache에서는 제공하고 있다. "{Apache 설치 디렉토리}/Apache24/bin" 디렉토리에 들어있는 "logresolve" 프로그램을 사용한다.사용법은 다음과 같습니다.logresolve < 대상-로그-파일 위 명령어를 실행하면 변환된 로그가 표준 출력에 표시된다. 이것을 다른 파일에 저장하는 경우에는 다음과 같이 실행한다.lo..
에러 로그는 어느 레벨까지의 에러를 기록할지 여부를 8단계로 지정할 수 있다. 지정하려면 "LogLevel"로 사용하여 설정한다.LogLevel 기록하는-레벨 설정 가능한 레벨은 다음과 같다.레벨의미emerg서버가 가동 할 수 없을 정도의 심각한 오류alertcrit보다 심각한 오류crit치명적인 오류error오류warn경고notice알림 메시지info서버 정보debug디버깅을위한 정보레벨은 위에서 부터 심각하고, "error"로 설정하면 "error" 위의 "crit", "alert", "emerg" 에러도 모두 기록된다.보다 낮은 수준으로 설정하면 많은 정보를 로그로 남길 수 있지만, 그 만큼 로그 파일 크기가 커지게 되므로 필요에 따라 설정을 변경한다."httpd.conf" 파일에 대한 "LogLe..
액세스 로그은 오직 1개의 파일에만 저장되는 것은 아니다. 로그 형식을 여러개를 정의하여 별도의 액세스 로그로 여러 파일에 저장할 수도 있다.기본적으로 "httpd.conf" 파일에 작성되어 있는 로그 포맷에 "User-Agent"만 따로 기록하는 형식을 추가한다.LogFormat "%{User-Agent}i" agent 그리고, 로그 파일 지정에서 새로운 "CustomLog"를 지정한다.CustomLog logs/agent.log agent 실제 적용이 된다면 아래와 같을 것이다. # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %..
액세스 로그로 저장하는 데이터는 직접 커스텀마이징하여 형식을 지정할 수 있다.로그 형식 : LogFormat로그 형식은 "LogFormat"으로 지정한다. 문법은 다음과 같다.LogFormat "포맷" 로그-형식-이름 기본적으로 "httpd.conf" 파일에 작성되어 있는 로그 형식으로는 다음의 두 가지가 정의되어 있다.LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common 로그 형식 이름으로 "common"과 "combined"의 두 가지가 있다. 형식은 여러 항목의 조합에 의해 정의되었고, 설정 가능한 주요 항목은 다음과 같다.설정..
액세스 및 오류 로그의 위치는 "httpd.conf"에 정의되어 있다. 먼저 액세스 로그에서 살펴 보겠다.액세스 로그 : CustomLog액세스 로그 파일의 위치는 "CustomLog"로 지정한다. "httpd.conf"에서 "CustomLog"로 검색해 보면, 다음과 같은 내용을 찾을 수 있을 것이다. # # The following directives define some format nicknames for use with # a CustomLog directive (see below). # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %..