文件路徑:/etc/apache2/httpd.confphp
# 服務目錄(全局配置)用於指定Apache的安裝路徑,
# 此選項參數值在安裝Apache時系統會自動把Apache的路徑寫入
ServerRoot "/usr"
# 設置互斥對象的目錄
# Mutex default:/private/var/run
# 偵聽web服務端口狀態,默認Listen:80 偵聽全部的地址的80端口
# 也能夠寫成IP地址的偵聽形式,Listen 12.34.56.78:80
# 不寫即默認的地址:0.0.0.0
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
Listen 80
</IfDefine>
# 動態共享對象支持 用於添加Apache一些動態模塊
LoadModule authn_file_module libexec/apache2/mod_authn_file.so
#LoadModule authn_dbm_module libexec/apache2/mod_authn_dbm.so
#LoadModule authn_anon_module libexec/apache2/mod_authn_anon.so
#LoadModule authn_dbd_module libexec/apache2/mod_authn_dbd.so
#LoadModule authn_socache_module libexec/apache2/mod_authn_socache.so
LoadModule authn_core_module libexec/apache2/mod_authn_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.so
LoadModule authz_user_module libexec/apache2/mod_authz_user.so
#LoadModule authz_dbm_module libexec/apache2/mod_authz_dbm.so
#LoadModule authz_owner_module libexec/apache2/mod_authz_owner.so
#LoadModule authz_dbd_module libexec/apache2/mod_authz_dbd.so
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
#LoadModule authnz_ldap_module libexec/apache2/mod_authnz_ldap.so
LoadModule access_compat_module libexec/apache2/mod_access_compat.so
LoadModule auth_basic_module libexec/apache2/mod_auth_basic.so
#LoadModule auth_form_module libexec/apache2/mod_auth_form.so
#LoadModule auth_digest_module libexec/apache2/mod_auth_digest.so
#LoadModule allowmethods_module libexec/apache2/mod_allowmethods.so
LoadModule file_cache_module libexec/apache2/mod_file_cache.so
#LoadModule cache_module libexec/apache2/mod_cache.so
#LoadModule cache_disk_module libexec/apache2/mod_cache_disk.so
#LoadModule cache_socache_module libexec/apache2/mod_cache_socache.so
#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
#LoadModule socache_dbm_module libexec/apache2/mod_socache_dbm.so
#LoadModule socache_memcache_module libexec/apache2/mod_socache_memcache.so
LoadModule watchdog_module libexec/apache2/mod_watchdog.so
LoadModule macro_module libexec/apache2/mod_macro.so
#LoadModule dbd_module libexec/apache2/mod_dbd.so
#LoadModule dumpio_module libexec/apache2/mod_dumpio.so
LoadModule echo_module libexec/apache2/mod_echo.so
LoadModule buffer_module libexec/apache2/mod_buffer.so
LoadModule data_module libexec/apache2/mod_data.so
LoadModule ratelimit_module libexec/apache2/mod_ratelimit.so
LoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.so
LoadModule ext_filter_module libexec/apache2/mod_ext_filter.so
LoadModule request_module libexec/apache2/mod_request.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule filter_module libexec/apache2/mod_filter.so
#LoadModule reflector_module libexec/apache2/mod_reflector.so
#LoadModule substitute_module libexec/apache2/mod_substitute.so
#LoadModule sed_module libexec/apache2/mod_sed.so
LoadModule charset_lite_module libexec/apache2/mod_charset_lite.so
#LoadModule deflate_module libexec/apache2/mod_deflate.so
LoadModule xml2enc_module libexec/apache2/mod_xml2enc.so
LoadModule proxy_html_module libexec/apache2/mod_proxy_html.so
LoadModule mime_module libexec/apache2/mod_mime.so
#LoadModule ldap_module libexec/apache2/mod_ldap.so
LoadModule log_config_module libexec/apache2/mod_log_config.so
LoadModule log_debug_module libexec/apache2/mod_log_debug.so
#LoadModule log_forensic_module libexec/apache2/mod_log_forensic.so
#LoadModule logio_module libexec/apache2/mod_logio.so
LoadModule env_module libexec/apache2/mod_env.so
LoadModule mime_magic_module libexec/apache2/mod_mime_magic.so
LoadModule expires_module libexec/apache2/mod_expires.so
LoadModule headers_module libexec/apache2/mod_headers.so
LoadModule usertrack_module libexec/apache2/mod_usertrack.so
##LoadModule unique_id_module libexec/apache2/mod_unique_id.so
LoadModule setenvif_module libexec/apache2/mod_setenvif.so
LoadModule version_module libexec/apache2/mod_version.so
LoadModule remoteip_module libexec/apache2/mod_remoteip.so
LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
LoadModule proxy_fcgi_module libexec/apache2/mod_proxy_fcgi.so
LoadModule proxy_scgi_module libexec/apache2/mod_proxy_scgi.so
LoadModule proxy_fdpass_module libexec/apache2/mod_proxy_fdpass.so
LoadModule proxy_wstunnel_module libexec/apache2/mod_proxy_wstunnel.so
LoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.so
LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so
LoadModule proxy_express_module libexec/apache2/mod_proxy_express.so
LoadModule proxy_hcheck_module libexec/apache2/mod_proxy_hcheck.so
LoadModule session_module libexec/apache2/mod_session.so
LoadModule session_cookie_module libexec/apache2/mod_session_cookie.so
LoadModule session_dbd_module libexec/apache2/mod_session_dbd.so
LoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so
#LoadModule slotmem_plain_module libexec/apache2/mod_slotmem_plain.so
LoadModule ssl_module libexec/apache2/mod_ssl.so
#LoadModule dialup_module libexec/apache2/mod_dialup.so
#LoadModule http2_module libexec/apache2/mod_http2.so
#LoadModule lbmethod_byrequests_module libexec/apache2/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module libexec/apache2/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_bybusyness_module libexec/apache2/mod_lbmethod_bybusyness.so
##LoadModule lbmethod_heartbeat_module libexec/apache2/mod_lbmethod_heartbeat.so
LoadModule unixd_module libexec/apache2/mod_unixd.so
#LoadModule heartbeat_module libexec/apache2/mod_heartbeat.so
#LoadModule heartmonitor_module libexec/apache2/mod_heartmonitor.so
#LoadModule dav_module libexec/apache2/mod_dav.so
LoadModule status_module libexec/apache2/mod_status.so
LoadModule autoindex_module libexec/apache2/mod_autoindex.so
#LoadModule asis_module libexec/apache2/mod_asis.so
LoadModule info_module libexec/apache2/mod_info.so
LoadModule cgi_module libexec/apache2/mod_cgi.so
#LoadModule dav_fs_module libexec/apache2/mod_dav_fs.so
#LoadModule dav_lock_module libexec/apache2/mod_dav_lock.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
LoadModule negotiation_module libexec/apache2/mod_negotiation.so
LoadModule dir_module libexec/apache2/mod_dir.so
LoadModule imagemap_module libexec/apache2/mod_imagemap.so
LoadModule actions_module libexec/apache2/mod_actions.so
LoadModule speling_module libexec/apache2/mod_speling.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule alias_module libexec/apache2/mod_alias.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
LoadModule php7_module libexec/apache2/libphp7.so
LoadModule perl_module libexec/apache2/mod_perl.so
LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so
#LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
<IfModule unixd_module>
# 指定Apache服務的運行用戶和用戶組,默認爲:daemon
User _www
Group _www
</IfModule>
# 指定Apache服務管理員通知郵箱地址,能夠默認也能夠設置爲本身真實郵箱
ServerAdmin woodtengfei@gmail.com
# 指定Apache默認的服務器名及端口
ServerName localhost:80
# 用戶對根目錄下全部的訪問權限控制,默認Apache對根目錄都是拒絕訪問
<Directory />
AllowOverride none
Require all denied
</Directory>
# 用於定義網站數據的保存路徑,啓動httpd後訪問localhost顯示It works是放在
# DocumentRoot/index.html的,修改index.html的內容定義本身的初始頁面內容
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
Options FollowSymLinks Multiviews
MultiviewsMatch Any
AllowOverride None
Require all granted
</Directory>
# 設置Apache默認支持的首頁,默認只支持:index.html首頁,如要支持其餘類型
# 的首頁,須要在此區域添加:如index.php表示支持index.php類型首頁
<IfModule dir_module>
DirectoryIndex index.html index.php index.jsp
</IfModule>
<FilesMatch "^\.([Hh][Tt]|[Dd][Ss]_[Ss])">
Require all denied
</FilesMatch>
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
<Files "rsrc">
Require all denied
</Files>
<DirectoryMatch ".*\.\.namedfork">
Require all denied
</DirectoryMatch>
# 主要是針對Apache默認的日誌級別,默認的訪問日誌路徑,默認的錯誤日誌
# 路徑等相關設置,此選項內容默認便可
ErrorLog "/private/var/log/apache2/error_log"
LogLevel warn
<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 "/private/var/log/apache2/access_log" common
</IfModule>
# 主要包含一些URL重定向、別名、腳本別名等相關設置和說明
<IfModule alias_module>
# Redirect permanent /foo http://www.example.com/bar
# Alias /webpath /full/filesystem/path
# ScriptAlias: This controls which directories contain server scripts.
ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$) "/Library/WebServer/CGI-Executables/$1"
</IfModule>
<IfModule cgid_module>
#Scriptsock cgisock
</IfModule>
<Directory "/Library/WebServer/CGI-Executables">
AllowOverride None
Options None
Require all granted
</Directory>
<IfModule headers_module>
RequestHeader unset Proxy early
</IfModule>
# MIME媒體文件,以及相關http文件解析配置說明
<IfModule mime_module>
TypesConfig /private/etc/apache2/mime.types
AddType application/x-gzip .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType text/html .shtml
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#AddHandler cgi-script .cgi
#AddHandler type-map var
#AddOutputFilter INCLUDES .shtml
</IfModule>
#MIMEMagicFile /private/etc/apache2/magic
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#MaxRanges unlimited
#EnableMMAP off
#EnableSendfile on
TraceEnable off
# 服務器池管理
Include /private/etc/apache2/extra/httpd-mpm.conf
# 多語言錯誤消息
#Include /private/etc/apache2/extra/httpd-multilang-errordoc.conf
# 動態目錄列表形式配置
Include /private/etc/apache2/extra/httpd-autoindex.conf
# 語言設置
#Include /private/etc/apache2/extra/httpd-languages.conf
# 我的主頁目錄
#Include /private/etc/apache2/extra/httpd-userdir.conf
# 請求和配置上的實時信息
#Include /private/etc/apache2/extra/httpd-info.conf
# 虛擬主機
Include /private/etc/apache2/extra/httpd-vhosts.conf
# Apache Http Server手冊
#Include /private/etc/apache2/extra/httpd-manual.conf
# 分佈式創做和版本控制
#Include /private/etc/apache2/extra/httpd-dav.conf
# 多種類默認設置
#Include /private/etc/apache2/extra/httpd-default.conf
# mod_proxy_html 使其支持HTML4/XHTML1 配置補充
<IfModule proxy_html_module>
Include /private/etc/apache2/extra/proxy-html.conf
</IfModule>
# Secure (SSL/TLS) connections Apache服務器安全鏈接設置
#Include /private/etc/apache2/extra/httpd-ssl.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
Include /private/etc/apache2/other/*.conf
我如今有個web項目和Java項目,我要部署到服務器上能夠訪問,該怎麼作?html
能夠經過Nginx,也能夠經過Apache的虛擬主機服務 web
確保啓用了虛擬主機服務 express
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
# 虛擬主機
Include /private/etc/apache2/extra/httpd-vhosts.conf
下面是虛擬主機配置說明 apache
# <URL:http://httpd.apache.org/docs/2.4/vhosts/>
#若是每臺運行Linux系統的服務器上只能運行一個網站,那麼人氣低、流量小的草根
#站長就要被迫承擔着高昂的服務器租賃費用了,這顯然也會形成硬件資源的浪費。在
#虛擬專用服務器(Virtual Private Server,VPS)與雲計算技術誕生之前,IDC服務
#供應商爲了可以更充分地利用服務器資源,同時也爲了下降購買門檻,因而紛紛啓用
#了虛擬主機功能。利用虛擬主機功能,能夠把一臺處於運行狀態的物理服務器分割成
#多個「虛擬的服務器」。可是,該技術沒法實現目前雲主機技術的硬件資源隔離,讓這
#些虛擬的服務器共同使用物理服務器的硬件資源,供應商只能限制硬盤的使用空間大
#小。出於各類考慮的因素(主要是價格低廉),目前依然有不少企業或我的站長在使
#用虛擬主機的形式來部署網站。
#Apache的虛擬主機功能是服務器基於用戶請求的不一樣IP地址、主機域名或端口號,實
#現提供多個網站同時爲外部提供訪問服務的技術。用戶請求的資源不一樣,最終獲取到
#的網頁內容也各不相同。
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot "/usr/docs/dummy-host.example.com"
# ServerName dummy-host.example.com
# ServerAlias www.dummy-host.example.com
# ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"
# CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common
#</VirtualHost>
# https://segmentfault.com/q/1010000008075477
# 訪問404要修改hosts文件/etc/hosts,若是Forbidden查看文件夾是否有訪問權限
<VirtualHost *:80>
ServerAdmin woodwu@staritgp.com
DocumentRoot "/Users/wood/Micro/static"
ServerName micro.com
ServerAlias www.micro.com
Alias / /Users/wood/Micro/static/
<Directory /Users/wood/Micro/static>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Allow from all
</Directory>
</VirtualHost>
上面代碼翻譯過來就是:segmentfault
服務監聽80端口(瀏覽器訪問http網站默認是80端口,https是443端口) 瀏覽器
ServerName micro.com 表示能夠用micro.com訪問DocumentRoot目錄安全
ServerAlias www.micro.com 是micro.com的別名,前面加個www也是能夠訪問的服務器
訪問時可能遇到的問題cookie
403權限問題問題,按照如上 Directory配置 All from all
404Not Found問題修改hosts文件,sudo vi /etc/hosts 給micro.com域名指定ip
若是按照上面的配置來,仍是出現Forbidden的權限問題,那麼請檢查/Users/wood/Micro/static中的任何一個目錄有訪問權限
chmod -R 777 /Users/wood/Micro/static/
but然並卵~
來看看日誌:/etc/var/log/apache2/error_log
逐個查看文件夾權限發現
everyone是無訪問權限,修改成只讀便可
--------------------------------------反向代理---------------------------------------
#反向代理
ProxyRequests Off
#payment
ProxyPass /payment http://127.0.0.1:8821
ProxyPassReverse /payment http://127.0.0.1:8821
<proxy *>
AllowOverride All
Order Deny,Allow
Allow from all
</proxy>
訪問localhost/payment -> 其實是訪問了http://127.0.0.1:8821服務
更多關於Apache httpd反向代理的配置請見 http://www.javashuo.com/article/p-kdnhtodr-gr.html
爲了防止內容改錯了,或者仍是有問題,這裏附上配置附件(包含這3個文件:httpd.conf、httpd-vhosts.conf、hosts)