[server] 사용되었고 제거 할 수있는 Apache 모듈을 결정할 수 있습니까?

많은 사람들과 마찬가지로 필자는 기본 “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

답변

이전 게시물에서는 문제가 발생할 때까지 모듈을 비활성화 할 것을 제안합니다. 그것이 프로덕션 시스템에서는 확실히 바보이지만 어쨌든 회귀 테스트를 수행해야하기 때문에 사람이 올바른 길을 가고 있습니다.

따라서이 경우 :

  1. 사이트 구성까지 실행중인 서버와 동일한 테스트 서버를 빌드하십시오.
  2. 모듈을 비활성화하십시오.
  3. 사이트에서 회귀 테스트를 수행하십시오.
  4. 문제가 발생하거나 모든 모듈이 완료 될 때까지 2 단계와 3 단계를 반복하십시오.
  5. 모듈을 다시 활성화하십시오.
  6. 2 단계와 3 단계를 반복하십시오.
  7. 새로 업데이트 된 아파치를 사용하여 구성에서 구성 플래시 컷을 수행하고 아파치 서비스를 다시 시작하십시오.
  8. 실패하면 구성 배스를 되돌리고 로그를 당겨 2 단계부터 (또는 필요한 경우 1 단계) 분석하고 시작하십시오.

아마도 아파치 구성을 간소화하는 가장 쉬운 방법 일 것입니다. 그렇지 않으면 각 모듈을보고 해당 기능을 결정한 다음 해당 기능을 사용하는 모듈을 찾기 위해 사이트를 검색해야합니다. 훨씬 오래 걸릴 것입니다.

또는 가벼운 것으로 전환 할 수있는 좋은 기회를 제공 할 수 있습니다 .


답변

귀하의 질문에 대한 직접적인 대답은 없지만 인터넷에는 많은 ‘소규모’AMP 패키지가 있으며 사전에 설치된 대부분의 모듈이 포함되어 있지 않습니다. 그래서 나는 그것들을 예제 참조로 보는 것부터 시작할 것입니다.

이 두 링크는 ​​당신을 시작할 수 있습니다 :

  1. http://en.wikipedia.org/wiki/List_of_Apache%E2%80%93MySQL%E2%80%93PHP_packages
  2. http://en.wikipedia.org/wiki/Comparison_of_WAMPs

답변

나는 당신이 아파치에 대해 묻는다는 것을 알고 있지만, 시스템의 메모리 제약이 주어지면 아파치를 Nginx, Lighthttpd 또는 다른 저 발자국 웹 서버로 바꾸면 훨씬 더 나은 서비스를 제공받을 수 있습니다. 아파치는 모듈 지원에는 좋지만 Nginx, Lighthttpd, Cherokee, G-WAN 등과 같은 젊은 웹 서버와 비교할 때 메모리가 많이 부족합니다.


답변