Linux 서비스의 httpd 기본 설정 상세 설명
자, 쓸데없는 소리 하지 말고 httpd 의 기본 설정 을 소개 합 시다!
기본 소개
1. 버 전
httpd-1.3
httpd-2.0
httpd-2.2
httpd-2.4
지금까지 최신 버 전 은 httpd - 2.4.6 이 었 지만 시스템 자체 RPM 패키지 에 설 치 된 httpd - 2.2.15 버 전 을 사 용 했 습 니 다. 최신 버 전 설정 은 다 를 수 있 습 니 다.
2. 모델:
고도 모듈 화: DSO
MPM:Multipath Processing Module #다 중 처리 모듈
prefork: 한 번 에 한 프로 세 스 가 요청 에 응답 합 니 다.
worker: 하나의 프로 세 스 가 여러 스 레 드 를 만 들 고 하나의 스 레 드 가 요청 에 응답 합 니 다.
이벤트: 이벤트 구동 을 기반 으로 한 프로 세 스 가 여러 요청 에 응답 합 니 다.
3. 설치
여기 바로 rpm 패키지 가 설치 되 어 있 습 니 다. CD 에 소프트웨어 패키지 가 있 습 니 다.
yum install httpd
4. httpd 설치 후 기본 정보
서비스 스 크 립 트: / etc / rc. d / init. d / httpd
실행 디 렉 터 리: / etc / httpd /
프로필: / etc / httpd / conf
주 프로필: / etc / httpd / conf / httpd. conf
확장 설정: / etc / httpd / conf. d / *. conf
socket:http:80/tcp,https:443/tcp
웹 페이지 파일 디 렉 터 리 (DocumentRoot): / var / www / html
CGI:/var/www/cgi-bin/
기본 홈 페이지 파일: / var / www / html / index. html
5. 주 프로필 구조
전역 설정: 메 인 서버 나 가상 호스트 에 효과 가 있 고 일부 기능 은 서버 자체 작업 속성 입 니 다.
홈 서버 설정: 홈 페이지 속성
가상 서버: 가상 호스트 및 속성 정의
6. 테스트 설정 및 보기 명령
사 용 했 어
service httpd configtest #
httpd -t #
httpd -l #
httpd -D DUMP_MODULES #
service httpd reload #
service httpd restart # httpd
메모: 프로필 을 수정 한 후 프로필 을 다시 불 러 오고 서버 감청 포트 를 수정 한 후 서 비 스 를 다시 시작 해 야 합 니 다.
기본 설정
따뜻 한 알림: httpd 의 작업 속성 을 설정 할 때 명령 은 대소 문 자 를 구분 하지 않 지만 약 속 된 습관 이 있 습 니 다. 단어의 이니셜 대문자;명령 의 값 은 대소 문 자 를 구분 할 수 있 습 니 다.어떤 명령 은 여러 번 반복 해서 사용 할 수 있다.
1. 감청 포트 설정:
Listen [IP:]PORT
Listen 172.16.3.1: 80
2. 선택 한 MPM 속성 설정
기본 값 으로 prefork 모델 설치
StartServers 8 #
MinSpareServers 5 #
MaxSpareServers 20 #
ServerLimit 256 #
MaxClients 256 #
MaxRequestsPerChild 4000 #
worker 모델: worker 모델 을 지원 하려 면 / etc / sysconfig / httpd 를 설정 하고 다음 줄 을 열 어야 합 니 다.
HTTPD=/usr/sbin/httpd.worker
StartServers 4 #
MaxClients 300 #
MinSpareThreads 25 #
MaxSpareThreads 75 #
ThreadsPerChild 25 #
MaxRequestsPerChild 0
3. 서버 지원 keep - alive 설정 (긴 연결)
KeepAlive {On|Off} #
KeepAliveTimeout 2 #
MaxKeepAliveRequests 50 #
4. 로드 모듈 설정
# LoadModule foo_module modules/mod_foo.so
#
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
5. 사이트 루트 디 렉 터 리 설정
DocumentRoot "/var/www/html" #
#
#
6. 페이지 파일 의 접근 속성 설정
Options
Indexes # ,
FollowSymLinks #
SymLinksifOwnerMatch # , apache
ExecCGI: # CGI ;
All
None
7. 클 라 이언 트 기반 접근 제어
Order # allow deny ; : :
Order allow,deny
Allow from all #
172.16.0.0/16 , 172.16.3.1
Order allow,deny
Deny from 172.16.3.1 # IP
Allow from 172.16.0.0/16 #
8. userdir 개인 사이트
# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
#UserDir disabled #
#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disabled" line above, and uncomment
# the following line instead:
#
UserDir public_html #
프로필 을 다시 불 러 온 후 사용:http://HOST/~username/
예 를 들 면:http://172.16.3.1/~centos/
9. 기본 홈 페이지 정의
DirectoryIndex index.php index.jsp index.html
10. 로그 기능 설정
로 그 는 두 가지 종류 가 있 습 니 다. 접근 로그 (형식 사용자 정의), 오류 로그 입 니 다.
:
ErrorLog "/path/to/error_log_file"
:
CustomLog "/path/to/custom_log_file" logformat
:{combined|common|agent}
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
%h #
%l #
%u #
%t #
%r # ,
%s #
%b #
%{Foobar}i #
%{User-Agent}i #
11. 지원 하 는 문자 집합
AddDefaultCharset UTF-8
12. 경로 별명
사이트 의 실제 디 렉 터 리 를 숨 길 수 있 습 니 다.
Alias /test/ "/www/test/" #
#
Options None
AllowOverride None
Order allow,deny
Allow from 172.16.0.0/16
13. 스 크 립 트 경로 별명
서버 에 있 는 스 크 립 트 프로그램 을 호출 하지만 웹 사이트 디 렉 터 리 에 스 크 립 트 를 두 고 싶 지 않 습 니 다.
ScriptAlias /cgi-bin/ "/www/cgi-bin/" # cgi
# vi /wwww/cgi-bin/test.sh #
#!/bin/bash
#cat << EOF
Content-Type:text/html
#
The hostname is: `hostname`. #
The timeis: `date`. #
EOF
테스트: 스 크 립 트 가 실 행 된 결 과 를 보 여 줍 니 다.
14. 사용자 접근 제어 기반
사이트 나 사이트 의 특정한 경로 가 권한 을 수 여 받 은 사용자 에 게 만 접근 하려 고 할 때 사용자 기반 접근 통 제 를 사용 할 수 있 습 니 다.
htpasswd 명령 을 사용 하여 사용자 계 정 파일 을 만 듭 니 다.htpasswd
-c # -c ,
-m # MD5
-s # SHA
-p #
-d #
-e #
:
# htpasswd -c -m /etc/httpd/conf/.htpass tom
# htpasswd -m /etc/httpd/conf/.htpass jerry
# -c ,
(1) 사용자 계 정 파일 만 들 기
# htpasswd -c -m /etc/httpd/conf/.htpass tom
(2) 주 프로필 수정
# vi /etc/httpd/conf/httpd.con DocumentRoot "/www/html" # /www/html
Optins Indexes
AllowOverride AuthConfig
AuthName "Oaly for employees." # ,
AuthType Basic #
AuthUserFile /etc/httpd/conf/.htpass #
Require valid-user #
Require 접근 할 수 있 는 사용 자 를 지정 합 니 다. 한 사용 자 를 지정 할 수 있 습 니 다. 사용자 이름 을 직접 쓰 면 됩 니 다. 사용자 이름 은 여러 개의 빈 칸 으로 나 눌 수 있 고 모든 사용 자 를 지정 하면 valid - user 를 사용 할 수 있 습 니 다.
15. 가상 호스트 설정
(1) 주석 홈 서버, 가상 호스트 추가# DocumentRoot "/www/html" #
NameVirtualHost 172.16.3.1:80 #
DocumentRoot /www/web1 #
ServerName web1.lyd.com #
DocumentRoot /www/web2
ServerName web2.lyd.com
(2) 가상 호스트 에 테스트 파일 제공mkdir /www/web{1,2}
echo web1.lyd.com > /www/web1/index.html
echo web2.lyd.com > /www/web2/index.html
(3) 설정 이 끝 난 후 httpd - t 로 설정 파일 에 오류 가 있 는 지 테스트 합 니 다.
(4) 서비스 재 부팅 httpd restart
(5) 검증, 검증 클 라 이언 트 의 hosts 파일 수정,
윈도 우즈 클 라 이언 트
시작 -- > 실행 -- > "c: \ windows \ system 32 \ drivers \ etc \ hosts" 를 입력 하여 메모 장 으로 열 고 다음 줄 을 추가 하 십시오.
172.16.3.1web1.lyd.com
172.16.3.1web2.lyd.com
16. 설정 지원 https
(1) httpd 지원 ssl 모듈 설치
yum install mod_ssl -y
(2) 자체 건설 CA# cd /etc/pki/CA
# (umask 077; openssl genrsa -out private/cakey.pem 2048)
# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365
(3) 비밀 키 생 성cd /etc/httpd/conf/
mkdir ssl
cd ssl
(umask 077; openssl genrsa -out httpd.key 1024)
(4) 인증서 생 성 신청openssl req -new -key httpd.key -out httpd.csr
(5) ca 서명 증서openssl ca -in httpd.csr -out httpd.crt -days 365
(6) httpd 의 ssl 프로필 수정
vi /etc/httpd/conf.d/ssl.conf
DocumentRoot "/www/web1"
ServerName www.lyd.com
SSLCertificateFile /etc/httpd/conf/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/httpd.key
(7) 클 라 이언 트 가 신뢰 할 수 있 는 인증서 서버 에 ca 인증 서 를 가 져 오고 검증 합 니 다.
자주 사용 하 는 설정 은 기본적으로 이 정도 입 니 다. 누락 되 거나 잘못된 점 이 있 으 면 비판 과 지적 을 환영 합 니 다!
다음으로 전송:https://blog.51cto.com/liyandong/1282225
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.