Apache httpd(apache2)服务配置详解,Mac下设置虚拟主机部署多个web项目,及反向代理部署Java项目

Apache httpd服务配置详解

查看版本:httpd -v

Server version: Apache/2.4.33 (Unix)

Server built:   Apr  3 2018 17:54:07

文件路径:/etc/apache2/httpd.conf

# 服务目录(全局配置)用于指定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.soLoadModule authn_core_module libexec/apache2/mod_authn_core.soLoadModule authz_host_module libexec/apache2/mod_authz_host.soLoadModule authz_groupfile_module libexec/apache2/mod_authz_groupfile.soLoadModule 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.soLoadModule authz_core_module libexec/apache2/mod_authz_core.so#LoadModule authnz_ldap_module libexec/apache2/mod_authnz_ldap.soLoadModule access_compat_module libexec/apache2/mod_access_compat.soLoadModule 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.soLoadModule 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.soLoadModule watchdog_module libexec/apache2/mod_watchdog.soLoadModule macro_module libexec/apache2/mod_macro.so#LoadModule dbd_module libexec/apache2/mod_dbd.so#LoadModule dumpio_module libexec/apache2/mod_dumpio.soLoadModule echo_module libexec/apache2/mod_echo.soLoadModule buffer_module libexec/apache2/mod_buffer.soLoadModule data_module libexec/apache2/mod_data.soLoadModule ratelimit_module libexec/apache2/mod_ratelimit.soLoadModule reqtimeout_module libexec/apache2/mod_reqtimeout.soLoadModule ext_filter_module libexec/apache2/mod_ext_filter.soLoadModule request_module libexec/apache2/mod_request.soLoadModule include_module libexec/apache2/mod_include.soLoadModule 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.soLoadModule charset_lite_module libexec/apache2/mod_charset_lite.so#LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule xml2enc_module libexec/apache2/mod_xml2enc.soLoadModule proxy_html_module libexec/apache2/mod_proxy_html.soLoadModule mime_module libexec/apache2/mod_mime.so#LoadModule ldap_module libexec/apache2/mod_ldap.soLoadModule log_config_module libexec/apache2/mod_log_config.soLoadModule 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.soLoadModule env_module libexec/apache2/mod_env.soLoadModule mime_magic_module libexec/apache2/mod_mime_magic.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule headers_module libexec/apache2/mod_headers.soLoadModule usertrack_module libexec/apache2/mod_usertrack.so##LoadModule unique_id_module libexec/apache2/mod_unique_id.soLoadModule setenvif_module libexec/apache2/mod_setenvif.soLoadModule version_module libexec/apache2/mod_version.soLoadModule remoteip_module libexec/apache2/mod_remoteip.soLoadModule proxy_module libexec/apache2/mod_proxy.soLoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.soLoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.soLoadModule proxy_http_module libexec/apache2/mod_proxy_http.soLoadModule proxy_fcgi_module libexec/apache2/mod_proxy_fcgi.soLoadModule proxy_scgi_module libexec/apache2/mod_proxy_scgi.soLoadModule proxy_fdpass_module libexec/apache2/mod_proxy_fdpass.soLoadModule proxy_wstunnel_module libexec/apache2/mod_proxy_wstunnel.soLoadModule proxy_ajp_module libexec/apache2/mod_proxy_ajp.soLoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.soLoadModule proxy_express_module libexec/apache2/mod_proxy_express.soLoadModule proxy_hcheck_module libexec/apache2/mod_proxy_hcheck.soLoadModule session_module libexec/apache2/mod_session.soLoadModule session_cookie_module libexec/apache2/mod_session_cookie.soLoadModule session_dbd_module libexec/apache2/mod_session_dbd.soLoadModule slotmem_shm_module libexec/apache2/mod_slotmem_shm.so#LoadModule slotmem_plain_module libexec/apache2/mod_slotmem_plain.soLoadModule 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.soLoadModule 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.soLoadModule status_module libexec/apache2/mod_status.soLoadModule autoindex_module libexec/apache2/mod_autoindex.so#LoadModule asis_module libexec/apache2/mod_asis.soLoadModule info_module libexec/apache2/mod_info.soLoadModule 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.soLoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.soLoadModule negotiation_module libexec/apache2/mod_negotiation.soLoadModule dir_module libexec/apache2/mod_dir.soLoadModule imagemap_module libexec/apache2/mod_imagemap.soLoadModule actions_module libexec/apache2/mod_actions.soLoadModule speling_module libexec/apache2/mod_speling.soLoadModule userdir_module libexec/apache2/mod_userdir.soLoadModule alias_module libexec/apache2/mod_alias.soLoadModule rewrite_module libexec/apache2/mod_rewrite.soLoadModule php7_module libexec/apache2/libphp7.soLoadModule perl_module libexec/apache2/mod_perl.soLoadModule 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服务的运行用户和用户组,默认为:daemonUser _wwwGroup _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 onTraceEnable 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 builtinSSLRandomSeed connect builtin</IfModule>

Include /private/etc/apache2/other/*.conf 

我现在有个web项目和Java项目,我要部署到服务器上可以访问,该怎么做?

可以通过Nginx,也可以通过Apache的虚拟主机服务

确保启用了虚拟主机服务

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so 
# 虚拟主机Include /private/etc/apache2/extra/httpd-vhosts.conf

下面是虚拟主机配置说明

# <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> 

上面代码翻译过来就是:

服务监听80端口(浏览器访问http网站默认是80端口,https是443端口)

ServerName micro.com 表示可以用micro.com访问DocumentRoot目录

ServerAlias www.micro.com 是micro.com的别名,前面加个www也是可以访问的

访问时可能遇到的问题

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

access to /en/about/index.html denied (filesystem path ‘/Users/wood/Micro‘) because search permissions are missing on a component of the path

逐个查看文件夹权限发现

everyone是无访问权限,修改为只读即可

--------------------------------------反向代理---------------------------------------

#反向代理ProxyRequests Off

#paymentProxyPass /payment http://127.0.0.1:8821ProxyPassReverse /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反向代理的配置请见 https://www.cnblogs.com/wood-life/p/10318014.html

原文地址:https://www.cnblogs.com/wood-life/p/10451152.html

时间: 2024-08-06 07:55:57

Apache httpd(apache2)服务配置详解,Mac下设置虚拟主机部署多个web项目,及反向代理部署Java项目的相关文章

Apache + Tomcat集群配置详解 (1)

一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://tomcat.apache.org/download-60.cgi,下载Tomcat 6.0.18 zip文件 注意:由于Apache和Tomcat项目与集群相关的模块均处于持续发展和优化过程中,因此笔者不保证本文配置方法对所有Apache和Tomcat版本均适用. 二.软件安装 把Apache安装为运

Apache + Tomcat集群配置详解

Apache + Tomcat集群配置详解 一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://tomcat.apache.org/download-60.cgi,下载Tomcat 6.0.18 zip文件 注意:由于Apache和Tomcat项目与集群相关的模块均处于持续发展和优化过程中,因此笔者不保证本文配置方法对所有Apache和Tomcat版本均

Rsync服务配置详解,实现服务器间数据同步!

1.1 什么是rsync? rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次传送.rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝. 在常驻模式(daemon mode)下,rsync默认监听TCP端口873,以原生rsync传输协议或者通过远程shell如RSH或者SSH伺服文件.SSH情况下,rsync客户端运行程序必须同

Linux vsftpd服务配置详解

[背景] 近日,一朋友domino服务器要进行升级.迁移,搭建了linux测试系统,也开启vsftpd服务,可是配置的ftp账号,程序无法正常下载附件. [问题跟踪] 通过ftp客户端连接工具登录,发现未跳转到ftp账号指定的目录下面. cat /etc/vsftpd.config发现开启了: local_root=/home/test 将此注释重启ftp服务正常. 附录(vsftpd配置详解): vsftpd服务器配置文件"/etc/vsftpd/vsftpd.conf",以此为例.

Samba服务配置详解(匿名,身份,别名,访问控制,挂载访问)

Samba服务配置详解 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务.SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统.打印机及其他资源.通过设置"NetBIOS over TCP/IP"使得Samba不但能与局域网络主机分享资源,还

Mybatis最入门---配置详解(下)

[一步是咫尺,一步即天涯] 上文我们详细解释了HelloWorld工程中的配置项,本文,我们再来介绍一些更加基础,灵活的配置项.本文,我们先不演示具体的工程,后续的文章中会按照实际应用来配置相关的参数.敬请期待! -----------------------------------------------------------------------------------------------------------------------------------------------

apache httpd.conf 文件的 详解

文章 摘自 :http://www.php100.com/html/webkaifa/apache/2009/0418/1192.html ServerRoot /usr/local ServerRoot用于指定守护进程httpd的运行目录,httpd在启动之后将自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerR oot定义的路径之下. ScoreBoardFile /var/run/ht ServerRoot “/usr/lo

Linux - CentOS6.5服务器搭建与初始化配置详解(下)

传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面  因为这就是最小化安装 输入root和之前配置的密码 第一步先把防火墙给光了 iptables -F  命令用于清空规则 这里插一条命令(这个命令我忘记打上去了) /etc/init.d/iptables save  用于保存当前被清空的规则 chkconfig  iptables  stop  开机不允许启动防火墙 c

基于Linux搭建Apache网站服务配置详解

Apache作为一款开源软件,是广泛应用的web应用之一,Apache有两个主要版本1.X和2.X,一般我们使用2.X版本,比起1.X版本它支持很多新的功能,下载Apache源码包的地址为:https://httpd.apache.org ,下载到源码包后开始准备安装: 1.为避免发生端口冲突,程序冲突等问题,如果有rpm方式安装的httpd服务,建议将其卸载. 2.挂载系统镜像,切换至系统盘中的Packages目录,安装相关依赖包(注意,最好一个一个的依次安装,因为如果有些安装包已经安装了,一