많은 사람들과 마찬가지로 필자는 기본 “LoadModule”라인이 많은 비교적 기본 제공되는 Apache 설치를 사용합니다.
처음부터 많은 소프트웨어를 설치했으며 정직하게 말하면 어떤 소프트웨어가 어떤 모듈을 사용하는지 알 수 없습니다.
Apache 인스턴스의 메모리 사용량을 줄이려면 모듈 사용을 제거하고 싶습니다. 내가 모듈을 사용하고 있는지 확인하는 유일한 방법은 구성에서 모듈을 제거하고 고장이 있는지 확인하는 것입니다. 이것은 내가 설명 할 시간보다 더 많은 방법으로 나쁘다.
아파치가 어떤 모듈을 사용 했는지보고하거나 모듈을 안전하게 구성 할 수 있는지 여부를 프로그래밍 방식으로 결정할 수있는 다른 방법 이 있는지 아는 사람이 있는지 알고 싶다 .
답변
내가 한 방법은 테스트 서버를 구축하고 문서를 읽고 빈 페이지에서 시작하는 것입니다.
다음 모듈은 필수입니다.
- 핵심
- mod_authz_host
- mod_auth_basic
- mod_authn_file
- mod_dir
- mod_log_config
- mod_mime
그런 다음 나머지 모든 모듈을 주석 처리하고 Apache를 다시 시작하십시오. 예를 들어 무언가가 깨지면 소리가납니다.
Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/squid.conf:
Invalid command 'order', perhaps misspelled or defined by a module not included in the server configuration
다른 모듈과 동일하게 수행하십시오. 이 방법을 사용하면 다음과 같은 모듈이 종종 필요 하지 않습니다.
- mod_authn_alias
- mod_authn_anon
- mod_authn_dbm
- mod_authn_default
- mod_authz_user
- mod_authz_owner
- mod_authz_groupfile
- mod_authz_dbm
- mod_authz_default
- mod_include
- mod_logio
- mod_ext_filter
- mod_usertrack
- mod_dav
- mod_info
- mod_dav_fs
- mod_speling
- mod_suexec
- mod_cgi
인증에 LDAP를 사용하지 않는 경우 비활성화 할 수 있습니다.
- mod_ldap
- mod_authnz_ldap
활성화 할 때 아래 모듈을 고려해야합니다.
- mod_proxy
- mod_proxy_balancer
- mod_proxy_ftp
- mod_proxy_http
- mod_proxy_connect
- mod_cache
- mod_disk_cache
- mod_file_cache
- mod_mem_cache
답변
이전 게시물에서는 문제가 발생할 때까지 모듈을 비활성화 할 것을 제안합니다. 그것이 프로덕션 시스템에서는 확실히 바보이지만 어쨌든 회귀 테스트를 수행해야하기 때문에 사람이 올바른 길을 가고 있습니다.
따라서이 경우 :
- 사이트 구성까지 실행중인 서버와 동일한 테스트 서버를 빌드하십시오.
- 모듈을 비활성화하십시오.
- 사이트에서 회귀 테스트를 수행하십시오.
- 문제가 발생하거나 모든 모듈이 완료 될 때까지 2 단계와 3 단계를 반복하십시오.
- 모듈을 다시 활성화하십시오.
- 2 단계와 3 단계를 반복하십시오.
- 새로 업데이트 된 아파치를 사용하여 구성에서 구성 플래시 컷을 수행하고 아파치 서비스를 다시 시작하십시오.
- 실패하면 구성 배스를 되돌리고 로그를 당겨 2 단계부터 (또는 필요한 경우 1 단계) 분석하고 시작하십시오.
아마도 아파치 구성을 간소화하는 가장 쉬운 방법 일 것입니다. 그렇지 않으면 각 모듈을보고 해당 기능을 결정한 다음 해당 기능을 사용하는 모듈을 찾기 위해 사이트를 검색해야합니다. 훨씬 오래 걸릴 것입니다.
답변
귀하의 질문에 대한 직접적인 대답은 없지만 인터넷에는 많은 ‘소규모’AMP 패키지가 있으며 사전에 설치된 대부분의 모듈이 포함되어 있지 않습니다. 그래서 나는 그것들을 예제 참조로 보는 것부터 시작할 것입니다.
이 두 링크는 당신을 시작할 수 있습니다 :
답변
나는 당신이 아파치에 대해 묻는다는 것을 알고 있지만, 시스템의 메모리 제약이 주어지면 아파치를 Nginx, Lighthttpd 또는 다른 저 발자국 웹 서버로 바꾸면 훨씬 더 나은 서비스를 제공받을 수 있습니다. 아파치는 모듈 지원에는 좋지만 Nginx, Lighthttpd, Cherokee, G-WAN 등과 같은 젊은 웹 서버와 비교할 때 메모리가 많이 부족합니다.