운영 및 유지보수 Apache Apache 서비스 구성 자세히 설명

Apache 서비스 구성 자세히 설명

Aug 23, 2019 pm 01:52 PM
apache

Apahce 구성 지침은 핵심 지침과 타사에서 제공하는 지침의 두 부분으로 나눌 수 있습니다. Apache에서는 각 명령어가 모듈에 해당하며, 모든 모듈 중에서 가장 중요한 모듈은 core_module, so_module, http_module, mpm 모듈입니다. so_moudle을 제외한 다른 모듈은 끄거나 비활성화할 수 없습니다.

One: httpd.conf

(1) 메인 서버 부분

1, ServerName: 도메인 이름이나 IP 주소가 될 수 있는 Apache 기본 호스트 이름을 정의합니다

2, ServerRoot: 서버가 있는 디렉터리를 정의하는 데 사용됩니다. this 경로는 일반적으로 구성 중에 --prefix로 지정됩니다

3. DocumentRoot: 아파치가 페이지 서비스를 제공하는 루트 디렉터리를 지정하는 데 사용됩니다. 이 경로는 공백이 있는 경우 상대 경로가 아닌 절대 경로여야 합니다.

4 , ServerAdmin: 서버 오류 발생 후 관리자에게 이메일을 보낼 주소

5 , ServerAlias ​​​​및 Alias: 는 모두 디렉터리를 매핑하는 데 사용되지만 ServerAlias는 매핑된 주소를 식별합니다. 디렉토리는 CGI 스크립트 디렉토리로, 이 디렉토리의 모든 파일은 CGI 스크립트로 취급됩니다. 그러나 Alias는 일반 디렉터리에 매핑됩니다.

6, User 및 Group: Apache 하위 프로세스를 실행하는 데 사용되는 사용자 및 사용자 그룹을 정의하는 데 사용됩니다.

7, Listen: Apache 청취를 위한 포트 번호를 정의하는 데 사용됩니다.

8 , LoadModule 명령어: 모듈 또는 대상 파일을 로드하는 데 사용됩니다. LoadModule cgi_module 모듈/mod_cgi.so_module

9. ErrorDocument: 사용자 정의 오류 페이지 정보 ErrorDocument 500 "알 수 없는 오류" ErrorDocument 404 "/var/server/www/cgi-bin /missing_404.pl " ErrorDocument 402 http://www.nicky.com/error_402.html

10. 옵션: 해당 기능을 사용할 디렉터리를 결정합니다. 이러한 기능은 다음과 같습니다:

없음: 옵션 명령이 작동하지 않습니다

ExecCGI: 현재 디렉터리에서 CGI 스크립트가 실행되도록 허용

포함: SSI 기능 사용 허용

IncludesNOEXEC: SSI 기능 사용은 허용하지만 exec cgi 및 exec cmd 기능은 비활성화됩니다

색인: 인덱스 기능을 활성화합니다. 예를 들어 URLz 디렉토리에 대한 요청에 DirectoryIndex 지시어에 의해 지정된 인덱스 파일이 포함되어 있지 않으면 서버는 요청된 디렉토리 내용 목록을 자동으로 반환합니다.

FollowSymLinks: 다음에서 기호 링크 사용을 허용합니다. 현재 환경이지만 위치 컨테이너에서는 무시됩니다

All: MultiViews를 제외한 모든 기능을 사용합니다. 또한 옵션의 기본 매개변수이기도 합니다

MultiViews: mod_negotiations 모듈

11에서 제공하는 다중 보기 기능을 활성화하는 데 사용됩니다. ServerTokens: OS/Major/Full은 오류 바닥글 정보의 세부 사항에 영향을 미치므로 일반적으로 사용하지 않는 것이 좋습니다.

(2) 컨테이너 부분
1, 컨테이너: 모듈에서 작동합니다. 먼저 모듈이 로드되었는지 확인한 다음 처리할지 여부를 결정합니다. 즉, 판단 결과가 true인 경우에만 컨테이너의 명령이 실행되고, false인 경우에는 모두 무시됩니다. . 모듈 이름> 모듈이 로드되었는지 확인하려면

<IfModule mpm_netware_module><code><IfModule mpm_netware_module><br>    DirctoryIndex index.html <br></IfModule>

如果载入则执行
<IfModule !mpm_netware_module><br>    DirctoryIndex index.html <br></IfModule>
如果不载入则执行

2 容器:封装一组条件为真时才生效的指令,作用于 server config, virtual host, directory, .htaccess ,和IfModule区别在于,他是以模块是否加载作为判断,但是IfDefine是以条件为判断

依据

<IfDefine Proxy>

LoadModule proxy_module modules/libproxy.so

</IfDefine>

3 容器:

Directory: 让它封装的指令在它的指定的目录或者他的子目录起作用,这个目录必须是一个完整的路径,当然你也可以使用通配符* ?匹配目录,也考虑利用使用[]来确定字符范围,不过不论是哪一种都不能匹配/

<Directory /var/apache/html>

    Order Deny,Allow

Deny from all

</Directory>

上述例子禁止了对/var/apache/html目录的访问权限。任何请求到/var/apache/html都会被拒绝

如果希望目录使用正则表达式,那么需要在前面加一个~

<Directory ~ "^/var/apache[0-9]{2}/html">

    Order Deny,Allow

Allow from all

</Directory>

DirectoryMatch: 和Directory作用类似,只不过他可以直接接受正则匹配 而不需要加一个~符号

<DirectoryMatch "^/var/apache[0-9]{2}/html">

    Order Deny,Allow

Allow from all

</DirectoryMatch> DircoryIndex index.html

🎜🎜로드된 경우 🎜<IfModule! mpm_netware_module>🎜 DirectoryIndex index.html 🎜</IfModule>🎜로드되지 않은 경우 실행🎜🎜2 컨테이너: 조건이 true인 경우에만 적용되는 명령 집합을 캡슐화하고 서버 구성에 따라 작동합니다. , 가상 호스트, 디렉터리, .htaccess와 IfModule의 차이점은 모듈이 로드되었는지 여부를 판단하지만 IfDefine은 조건🎜🎜based🎜🎜<IfDefine Proxy>🎜🎜LoadModule proxy_module module/libproxy.so🎜🎜</IfDefine>🎜🎜3 컨테이너: 🎜🎜디렉토리: 캡슐화하는 명령을 넣습니다. it 지정된 디렉터리 또는 해당 하위 디렉터리가 작동합니다. 물론 이 디렉터리는 전체 경로여야 합니다. 물론 와일드카드 문자 *?를 사용할 수도 있습니다. 디렉터리 일치, 문자 범위를 결정하기 위해 [] 사용을 고려하세요. 그러나 어떤 유형이든 /🎜🎜<Directory /var/apache/html>🎜🎜와 일치할 수 없습니다. 주문 거부,허용🎜🎜모두 거부🎜🎜</Directory>🎜🎜위의 예에서는 /var/apache/html 디렉토리에 대한 액세스를 비활성화합니다. . /var/apache/html에 대한 모든 요청은 거부됩니다🎜🎜디렉토리에서 정규식을 사용하려면 ~🎜🎜<Directory ~ "^/var/apache[0-9]를 추가해야 합니다. { 2}/html">🎜🎜 주문 거부, 허용🎜🎜모두 허용🎜🎜</Directory> 🎜🎜DirectoryMatch: ~ 기호🎜🎜<DirectoryMatch "^/var/apache[0-9]{2}/html"&gt를 추가하지 않고 일반 일치를 직접 허용할 수 있다는 점을 제외하면 디렉토리와 유사합니다.🎜🎜<code> 주문 거부, 허용🎜🎜모두 허용🎜🎜</DirectoryMatch>🎜

4
Files: 파일에서만 작동하며 정규식 앞에 와일드카드와 [] 및 ~를 사용하여 정규식을 사용할 수도 있습니다
<Files "^.css " ><code><Files "^.css"><br>    Order Deny,Allow<br>Allow from All<br></Files>

FilesMatch: Files 而不需要加一个~符号
<FilesMatch ".(gif|jpe?g|png)$"><br>Order Deny,Allow<br>Allow from All<br></FilesMatch>

5 : 只是对URL进行访问控制

Order Allow,Deny
Deny from All
</Location>

如果以cgi开头URL则会被拒绝
另外还可以将URL 请求映射到Apache模块处理器上,例如使用mod_status模块:
<Location /server-status><br>SetHandler server-status<br></Location>

如果使用上面的配置。那么访问/server-status,apache会将连接交给mod_status模块处理,并返回一个Apache服务器运行状态页面

容器的处理顺序问题
Apache 会优先处理Directory 容器(但是不会处理带有正则表达式的Directory和.htaccess,)接着处理Files 和 FilesMatch 容器,再接着就是处理Location 和LocationMatch容器

<Location /var/apache/html>

    Order deny,allow

    Allow from All

</Location>

<Direcotry /var/apache/html>

     Order allow,deny

Allow from All

Deny from www.jons.com

</Direcotry> 주문 거부, 허용

모든 항목에서 허용

FilesMatch: ~ 기호를 추가하지 않은 파일<FilesMatch ".(gif|jpe?g|png ) $">Order Deny,Allow

Allow from All🎜🎜🎜5 : URL에 대한 액세스 제어🎜<위치 /cgi>
주문 허용, 거부
모두 거부
</Location>🎜🎜🎜URL이 cgi로 시작하면 거부됩니다🎜또한 URL 요청을 Apache 모듈 프로세서에 매핑할 수 있습니다. 예를 들어, mod_status 모듈을 사용하세요: 🎜🎜SetHandler server-status🎜</Location>🎜🎜위 구성을 사용하는 경우. 그런 다음 /server-status에 액세스하면 Apache는 처리를 위해 mod_status 모듈에 연결을 넘겨주고 Apache 서버 실행 상태 페이지를 반환합니다🎜🎜컨테이너 처리 순서 문제: 🎜Apache는 디렉터리 컨테이너의 우선 순위를 지정합니다(그러나 정규식으로 Directory 및 .htaccess를 처리하지 않음) Files 및 FilesMatch 컨테이너를 처리한 다음 Location 및 LocationMatch 컨테이너를 처리합니다🎜🎜<Location /var/apache/html>🎜🎜 주문 거부, 허용🎜🎜 모두 허용🎜🎜</Location>🎜🎜<Direcotry /var/apache/ html>🎜🎜<code> 주문 허용, 거부🎜🎜모두 허용🎜🎜www.jons.com에서 거부🎜🎜< ;/Direcotry>🎜🎜위의 예에서 Apache는 컨테이너를 먼저 처리하므로 마지막으로 처리된 컨테이너는 이전 Directory 구성을 덮어씁니다. 사용자의 접근이 허용되며, 컨테이너가 동일한 경우 짧은 것부터 긴 것까지 사전 순서로 처리됩니다. 🎜🎜관련 질문이 더 필요하시면 PHP 중국어 웹사이트를 방문하세요: 🎜linux 비디오 튜토리얼🎜🎜

위 내용은 Apache 서비스 구성 자세히 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

H5 프로젝트를 실행하는 방법 H5 프로젝트를 실행하는 방법 Apr 06, 2025 pm 12:21 PM

H5 프로젝트를 실행하려면 다음 단계가 필요합니다. Web Server, Node.js, 개발 도구 등과 같은 필요한 도구 설치. 개발 환경 구축, 프로젝트 폴더 작성, 프로젝트 초기화 및 코드 작성. 개발 서버를 시작하고 명령 줄을 사용하여 명령을 실행하십시오. 브라우저에서 프로젝트를 미리보고 개발 서버 URL을 입력하십시오. 프로젝트 게시, 코드 최적화, 프로젝트 배포 및 웹 서버 구성을 설정하십시오.

XML로 PDF를 내보내는 방법 XML로 PDF를 내보내는 방법 Apr 03, 2025 am 06:45 AM

XML을 PDF로 내보내는 두 가지 방법이 있습니다 : XSLT 사용 및 XML 데이터 바인딩 라이브러리 사용. XSLT : XSLT 스타일 시트를 만들고 XSLT 프로세서를 사용하여 XML 데이터를 변환 할 PDF 형식을 지정하십시오. XML 데이터 바인딩 라이브러리 : XML 데이터 바인딩 라이브러리 가져 오기 PDF 문서 객체로드 XML 데이터 내보내기 PDF 파일을 만듭니다. PDF 파일에 더 나은 방법은 요구 사항에 따라 다릅니다. XSLT는 유연성을 제공하지만 데이터 바인딩 라이브러리는 구현하기가 간단합니다. 간단한 변환의 경우 데이터 바인딩 라이브러리가 더 좋으며 복잡한 변환의 경우 XSLT가 더 적합합니다.

pom.xml을 생성하는 방법 pom.xml을 생성하는 방법 Apr 03, 2025 am 06:00 AM

pom.xml 파일을 생성하는 다음과 같은 방법이 있습니다. Maven Archetype를 사용하여 사전 정의 된 프로젝트 템플릿을 제공하여 특정 유형의 프로젝트에 대해 POM.XML 파일을 자동으로 생성하십시오. Maven 헬퍼 플러그인을 사용하여 pom.xml 파일을 생성하기위한 명령을 제공하십시오. 프로젝트의 pom.xml 파일을 사용자 정의하려면 수동으로 만듭니다.

부트 스트랩 테이블을 풀기 위해 서버 측에서 문자 인코딩을 설정하는 방법 부트 스트랩 테이블을 풀기 위해 서버 측에서 문자 인코딩을 설정하는 방법 Apr 07, 2025 pm 12:00 PM

서버 측에서 문자 인코딩을 설정하려면 Bridble Bootstrap 테이블을 해결하려면 다음 단계를 따라야합니다. 서버 문자 인코딩을 확인하십시오. 서버 구성 파일 편집; 인코딩을 UTF-8로 설정하십시오. 서버를 저장하고 다시 시작합니다. 인코딩을 확인하십시오.

Apache에서 CGI 디렉토리를 설정하는 방법 Apache에서 CGI 디렉토리를 설정하는 방법 Apr 13, 2025 pm 01:18 PM

Apache에서 CGI 디렉토리를 설정하려면 다음 단계를 수행해야합니다. "CGI-BIN"과 같은 CGI 디렉토리를 작성하고 Apache 쓰기 권한을 부여하십시오. Apache 구성 파일에 "Scriptalias"지시록 블록을 추가하여 CGI 디렉토리를 "/cgi-bin"URL에 매핑하십시오. Apache를 다시 시작하십시오.

Debian OpenSSL 구성을 확인하는 방법 Debian OpenSSL 구성을 확인하는 방법 Apr 12, 2025 pm 11:57 PM

이 기사는 데비안 시스템의 OpenSSL 구성을 확인하여 시스템의 보안 상태를 신속하게 파악하는 데 도움이되는 몇 가지 방법을 소개합니다. 1. OpenSSL 버전을 먼저 확인하고 OpenSSL이 설치되었는지 확인 및 버전 정보를 확인하십시오. 터미널에 다음 명령을 입력하십시오. OpenSSLVERSION이 설치되지 않으면 시스템에 오류가 발생합니다. 2. 구성 파일을 봅니다. OpenSSL의 기본 구성 파일은 일반적으로 /etc/ssl/openssl.cnf에 있습니다. 텍스트 편집기 (예 : Nano)를 사용하여 Sudonano/etc/ssl/openssl.cnf이 파일에는 키, 인증서 경로 및 암호화 알고리즘과 같은 중요한 구성 정보가 포함되어 있습니다. 3. Ope를 활용하십시오

웹 사이트 성과를 향상시키기 위해 Debian Apache Logs를 사용하는 방법 웹 사이트 성과를 향상시키기 위해 Debian Apache Logs를 사용하는 방법 Apr 12, 2025 pm 11:36 PM

이 기사는 데비안 시스템에서 Apache Logs를 분석하여 웹 사이트 성능을 향상시키는 방법을 설명합니다. 1. 로그 분석 기본 사항 Apache Log는 IP 주소, 타임 스탬프, 요청 URL, HTTP 메소드 및 응답 코드를 포함한 모든 HTTP 요청의 자세한 정보를 기록합니다. 데비안 시스템 에서이 로그는 일반적으로 /var/log/apache2/access.log 및 /var/log/apache2/error.log 디렉토리에 있습니다. 로그 구조를 이해하는 것은 효과적인 분석의 첫 번째 단계입니다. 2. 로그 분석 도구 다양한 도구를 사용하여 Apache 로그를 분석 할 수 있습니다.

아파치를 시작하는 방법 아파치를 시작하는 방법 Apr 13, 2025 pm 01:06 PM

Apache를 시작하는 단계는 다음과 같습니다. Apache 설치 (명령 : Sudo apt-get Apache2를 설치하거나 공식 웹 사이트에서 다운로드) 시작 apache (linux : sudo systemctl start : windes (선택 사항, Linux : Sudo SystemCtl

See all articles