#配置文法說明:
#一、邏輯語句:
#類似if語句,if程式名或者是if子產品名,表示啟用時才配置
#<IfModule ***mod***>
#</IfModule>
#二、配置文法:
#以下被作用的變量可以使用正則和通配符
#作用于''中的目錄及以下子目錄
#<Directory ''>
#</Directory>
#作用于''命名的檔案
#<file ''>
#</file>
#以上兩個可以互相嵌套,嵌套之後作用域會改變
#作用于url的設定,不與檔案系統互相嵌套
#<Location url>
#</Location>
#三、權限文法:
#寫在以上目錄和url配置中,
#例子:
#------------
#先寫通路限制方式
#顯示html目錄,如果有index.html,則此目錄顯示index.html
# Options Indexes FollowSymLinks
#不支援重構url的.檔案
# AllowOverride None
#--------------
#在選擇可以通路的使用者
#通路權限,所有允許
# Order allow,deny
# Allow from all
#配置資訊說明:
#一、不常用變量設定:
#重新整理方面的
ServerTokens OS
#守護程序
#PidFile run/httpd.pid
#逾時設定(一般是一次響應的)
Timeout 60
#使用者群組設定
#使用者設定 apache
User apache
#組設定 apache
Group apache
#伺服器管理 [email protected]
ServerAdmin [email protected]
#一個支援url帶不帶~号的開關及子產品
<IfModule mod_userdir.c>
UserDir disabled
</IfModule>
#一個關于,Index檔案的先後順序
DirectoryIndex index.html index.html.var
#是否開啟讀取客戶機dns,會增加消耗
HostnameLookups Off
#一種傳回url的标準開關
UseCanonicalName Off
#打開情況下,使用者請求網頁不存在會傳回apache資訊和伺服器的名字
ServerSignature On
#當舊url不存在,從新url擷取資源
# Redirect old-URI new-URL
#浏覽器使用的編碼标準
AddDefaultCharset UTF-8
#html支援多語言版本,需要加載某子產品,暫時不能使用
#LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
#http請求和索引的設定
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable Charset=UTF-8
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif /core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
#AddEncoding用于告訴一些使用壓縮的MIME類型,這樣可以讓浏覽器進行解壓縮操作。
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
#增加特定字尾
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
#增加以什麼處理特定類型
AddHandler cgi-script .py
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
#在重構規則的時候,使用.htaccess字尾檔案來重構
AccessFileName .htaccess
#當配置支援.ht字尾檔案編輯打開目錄權限時,不允許使用者通路.ht*(htaccess)檔案
<Files ".ht*">
Require all denied
</Files>
#或者
#<FilesMatch "^\.ht*">
# Order allow,deny
# Deny from All
#<FilesMatch>
#長連結設定
#長連結開關
KeepAlive Off
#長連結逾時時間
KeepAliveTimeout 15
#連結請求次數,與長連結有關
MaxKeepAliveRequests 100
#用于儲存有不同的文檔類型的檔案名
TypesConfig /etc/mime.types
#未知擴充名則使用 text/plain
#DefaultType text/plain
#一個确定文檔類型的子產品,if使用,則去哪讀取
<IfModule mod_mime_magic.c>
# MIMEMagicFile /usr/share/magic.mime
MIMEMagicFile conf/magic
</IfModule>
#mime--指字尾名網際網路标準,例子:
#檔案字尾 MIME類型
#.ai application/postscript
#.eps application/postscript
#.exe application/octet-stream
#.doc application/vnd.ms-word
#.xls application/vnd.ms-excel
#.ppt application/vnd.ms-powerpoint
#.pps application/vnd.ms-powerpoint
#.pdf application/pdf
#.xml application/xml
#.odt application/vnd.oasis.opendocument.text
#.swf application/x-shockwave-flash
#對浏覽器的支援,以保證支援舊版本和新版本的特性
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
#二、程序配置
#apache伺服器會使用預先建立線程的模式,工作模式的選擇,可以通過修改工作子產品的配置,需要尋找别的檔案夾:
# 2.2版本分為:
# prefork mpm(多程序單線程)-問題:資源占用率較大
# work mpm(多程序多線程)(1個監聽線程)-如果開啟長連結(keep-live)線程占用時間過長,會必須逾時才能釋放,
# 過多線程被這樣占用會導緻高并發無線程可用
# 2.4版本多了一個
# event mpm(多程序多線程)(一個線程管理配置設定)--當有真實請求過來的時候,
# 将請求傳遞給服務線程,執行完畢後,又允許它釋放,這樣增強了在高并發場景下的請求處理能力
#對于apache程序工作模式的配置
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
<IfModule worker.c>
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
#三、加載功能子產品
# Example:
# LoadModule foo_module modules/mod_foo.so
#
#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_socache_module modules/mod_authn_socache.so
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
#LoadModule authz_dbd_module modules/mod_authz_dbd.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_form_module modules/mod_auth_form.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule allowmethods_module modules/mod_allowmethods.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule cache_disk_module modules/mod_cache_disk.so
#LoadModule cache_socache_module modules/mod_cache_socache.so
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule socache_dbm_module modules/mod_socache_dbm.so
#LoadModule socache_memcache_module modules/mod_socache_memcache.so
#LoadModule watchdog_module modules/mod_watchdog.so
#LoadModule macro_module modules/mod_macro.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule dumpio_module modules/mod_dumpio.so
#LoadModule buffer_module modules/mod_buffer.so
#LoadModule ratelimit_module modules/mod_ratelimit.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule request_module modules/mod_request.so
#LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule sed_module modules/mod_sed.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_debug_module modules/mod_log_debug.so
#LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
#LoadModule remoteip_module modules/mod_remoteip.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
#LoadModule proxy_uwsgi_module modules/mod_proxy_uwsgi.so
#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_express_module modules/mod_proxy_express.so
#LoadModule proxy_hcheck_module modules/mod_proxy_hcheck.so
#LoadModule session_module modules/mod_session.so
#LoadModule session_cookie_module modules/mod_session_cookie.so
#LoadModule session_dbd_module modules/mod_session_dbd.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#LoadModule ssl_module modules/mod_ssl.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule unixd_module modules/mod_unixd.so
#LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule info_module modules/mod_info.so
<IfModule !mpm_prefork_module>
LoadModule cgid_module modules/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
LoadModule cgi_module modules/mod_cgi.so
</IfModule>
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
#LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
#LoadModule rewrite_module modules/mod_rewrite.so
#四、監聽設定
#監聽端口
Listen 80
#引用其他配置檔案
Include /etc/httpd/conf.d/*.conf
#Include conf.d/ssl/ssl.conf
#錯誤日志存放,以及具體的書寫定義
ErrorLog "/etc/httpd/logs/httpd-error.log"
LogLevel warn
#apache2.2
#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
#CustomLog /var/log/httpd-access.log common
#CustomLog /var/log/httpd-referer.log referer
#CustomLog /var/log/httpd-agent.log agent
#CustomLog /var/log/httpd-access.log combined
#apache2.4
<IfModule log_config_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
<IfModule logio_module>
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
</IfModule>
CustomLog "logs/access_log" common
#CustomLog "logs/access_log" combined
</IfModule>
#五、目錄設定
#apache的讀取根目錄,
ServerRoot "/usr/local/apache2.4"
#網站服務根目錄設定
DocumentRoot "/var/www/html"
#預設域名設定
ServerName localhost:80
#六、檔案管理設定
#目錄及檔案管理設定,讀取方式以及權限
#/的目錄設定
<Directory />
#禁止顯示html目錄
Options FollowSymLinks
#AllowOverride參數就是指明Apache伺服器是否去找.htacess檔案作為配置檔案,
#如果設定為none,那麼伺服器将忽略.htacess檔案,如果設定為All,那麼所有在.htaccess檔案裡有的指令都将被重寫。
AllowOverride None
</Directory>
#/var/www/html的目錄設定,也就是根目錄
<Directory "/var/www/html">
#顯示html目錄,如果有index.html,則此目錄顯示index.html
Options Indexes FollowSymLinks
#不支援重構url的.檔案
AllowOverride None
#使用者權限,所有允許
Order allow,deny
Allow from all
</Directory>
#七、虛拟主機
#與監聽端口相對應,在虛拟主機中可以設定修改部分參數,以及設定目錄标簽和檔案管理标簽
#<VirtualHost ip:端口号>
#</VirtualHost>
#自己配置的預設80端口接收主機,權限等在上面有預設設定
#多端口部署多項目
#Listen 192.168.88.238:80
#Listen 192.168.88.238:8080
#<VirtualHost 192.168.88.238:80>
# DocumentRoot "/var/www/html/main/account_giscript/server_python"
# ServerName 192.168.88.238:80
#</VirtualHost>
#<VirtualHost 192.168.88.238:8080>
# DocumentRoot "/var/www/html/main/account_giscript/server"
# ServerName 127.0.0.2:80
#</VirtualHosnt>
#八、擴充配置
#先加載子產品,上面有cgi_moudle
#cgi腳本設定,用于支援運作.py腳本,通過設定目錄和目錄運作達成
#ScriptAlias /cgi-bin/ "/var/www/html/main/account_giscript/server_python/"
#cgi 目錄配置
#<Directory "/var/www/html/main/account_giscript/server_python/">
# AllowOverride None
# Options +ExecCGI
# Order allow,deny
# Allow from all
#</Directory>
#AddHandler cgi-script(cgi腳本) .py(檔案類型)
#Alias /icons/ "/var/www/icons/"
#icons 目錄配置
#<Directory "/var/www/icons">
# Options Indexes MultiViews FollowSymLinks
# AllowOverride None
# Order allow,deny
# Allow from all
#</Directory>
#<IfModule mod_dav_fs.c>
# # Location of the WebDAV lock database.
# DAVLockDB /var/lib/dav/lockdb
#</IfModule>