많은 사람들과 마찬가지로 필자는 기본 “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 등과 같은 젊은 웹 서버와 비교할 때 메모리가 많이 부족합니다.