当前位置:  Web服务器/前端>apache

Apache HTTP Server(httpd)下载安装以及如何配置java(tomcat)和php详细介绍

 
分享到:
    发布时间:2015-1-8  


    本文导语: Apache http Server下载 Apache http web服务器当前最新版本为 Apache HTTP Server 2.4.10,其下载主页为: http://httpd.apache.org/download.cgi#apache24 Apache http web服务器根据不同的安装方式有不同的下...

 Apache http Server下载

     Apache http web服务器当前最新版本为 Apache HTTP Server 2.4.10,其下载主页为: 

     http://httpd.apache.org/download.cgi#apache24

     Apache http web服务器根据不同的安装方式有不同的下载包,如果是在Linux上进行源码编译安装,那么可以直接下载:

     httpd-2.4.10.tar.bz2下载 

        httpd-2.4.10.tar.gz下载   

     如果是在windows上进行安装apache,那么可以下载已经编译好的windows可执行文件.

       httpd-2.4.10 Binaries 下载

Apache HTTP Server介绍

     Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。[2] 

Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。

Apache http Server 在linux平台上进行源码安装的步骤

1 .下载Apache HTTP Server 2.4.10

2.解压 httpd-2.4.10.tar.gz

$ gzip -d httpd-2.4.10.tar.gz
$ tar xvf httpd-2.4.10.tar.gz
$ cd httpd-2.4.10

3.安装配置Apache HTTP Server 2.4.10

$ ./configure --prefix=PREFIX

4.编译Apache HTTP Server 2.4.10

$ make

5.安装 Apache HTTP Server 2.4.10

$ make install

6.配置

$ vi PREFIX/conf/httpd.conf

7.测试Apache HTTP Server 2.4.10是否安装成功

$ PREFIX/bin/apachectl -k start

注意: PREFIX为Apache HTTP Server安装目录,根据实际情况进行设置。

Apache http Server 在linux平台上的配置

基本配置

注意:配置httpd的工作属性时,指令不区分大小写,但有约定俗成的习惯:单词的首字母大写;指令的值很有可能区分大小写;有些指令可以重复使用多次;

1、配置监听的端口

Listen [IP:]PORT

例如:Listen 172.16.3.1:80

2、配置所选用的MPM的属性,安装完默认使用prefork模型

StartServers 8 #服务启动后默认开启的进程数
MinSpareServers 5 #最少空闲进程数
MaxSpareServers 20 #最多空闲进程数
ServerLimit 256 #每个进程允许开启最多的子进程数
MaxClients 256 #每个进程最多用户链接数
MaxRequestsPerChild 4000 #长连接时每个用户最多请求数
worker模型:要支持worker模型需要配置/etc/sysconfig/httpd,开启以下行:
HTTPD=/usr/sbin/httpd.worker
StartServers 4 #服务启动默认开启的进程数
MaxClients 300 #最多同时客户连接数
MinSpareThreads 25 #最少空闲进程数
MaxSpareThreads 75 #最好空闲进程数
ThreadsPerChild 25 #每个进程开启的线程数
MaxRequestsPerChild 0

3、配置Apache HTTP Server服务器支持keep-alived(长连接)

KeepAlive {On|Off} #是否支持长连接
KeepAliveTimeout 2 #长连接超时时间
MaxKeepAliveRequests 50 #超时时间内允许请求的次数

4、配置加载模块

# LoadModule foo_module modules/mod_foo.so
#
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so

5、配置Apache HTTP Server网站根目录

DocumentRoot "/var/www/html" #指定网站的主目录

#容器内定义站点的访问权限

#容器内限定用户的访问方法

6、配置页面文件的访问属性

Options
Indexes #是否允许索引页面文件,建议关闭
FollowSymLinks #是否跟随软连接文件
SymLinksifOwnerMatch #跟随符号链接,只允许访问运行apache的用户有属主权限的文件
ExecCGI: #是否允许执行CGI脚本;
All
None

7、基于客户端访问控制

系统默认允许所有人访问

Order #定义allow和deny那个为默认法则;写在后面的为默认法则:写在前面的指令没有显示定义的即受后面的指令控制:
Order allow,deny
Allow from all #所有人可以访问
配置允许192.16.0.0/16访问,但不允许192.16.3.1访问
Order allow,deny
Deny from 192.16.3.1 #禁用一个IP访问
Allow from 192.16.0.0/16 #允许一个网段访问

8、Apache HTTP Server userdir个人站点

# UserDir is disabled by default since it can confirm the presence
# of a username on the system (depending on home directory
# permissions).
#
#UserDir disabled #注释此项
#
# To enable requests to /~user/ to serve the user's public_html
# directory, remove the "UserDir disabled" line above, and uncomment
# the following line instead:
#
UserDir public_html #开启此项
重新加载配置文件后用:http://HOST/~username/
例如:http://192.16.3.1/~centos/

9、定义默认主页

DirectoryIndex index.php index.jsp index.html

10、配置日志功能

日志有两类:访问日志(格式自定义)、错误日志

Apache HTTP Server错误日志:

errorlog "/path/to/error_log_file"

Apache HTTP Server访问日志:

CustomLog "/path/to/custom_log_file" logformat

日志格式:{combined|common|agent}

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
%h #主机名
%l #
%u #用户名
%t #请求到达的时间
%r #请求报文的起始行,方法
%s #
%b #响应报文的大小
%{Foobar}i #显示从发那个站点跳转过来
%{User-Agent}i #用户代理

11、支持的字符集

1AddDefaultCharset UTF-8

12、路径别名

可以隐藏网站的真实目录,

Alias /test/ "/www/test/" #配置别名

#可以给别名目录定义访问权限

Options None
AllowOverride None
Order allow,deny
Allow from 192.16.0.0/16

13、脚本路径别名

调用服务器上的脚本程序,但不希望脚本放在网站的目录下

scriptalias /cgi-bin/ "/www/cgi-bin/" #定义cgi脚本路径别名

# vi /wwww/cgi-bin/test.sh #写一个测试脚本
#!/bin/bash
#cat << EOF
Content-Type:text/html
#这里要有一个空行否则可能会测试不成功
The hostname is: `hostname`. #输出当前系统的主机名 The timeis: `date`. #显示时间
EOF

14、配置虚拟主机

(1)注释主服务器,添加虚拟主机

# DocumentRoot "/www/html" #注释主服务器
NameVirtualHost 192.16.3.1:80 #开启虚拟主机
DocumentRoot /www/web1 #虚拟主机的网站根目录
ServerName test.169it.comm #主机名
DocumentRoot /www/web2
ServerName test.169it.com

(2)给虚拟主机提供测试文件

mkdir /www/web{1,2}
echo 169it.com > /www/web1/index.html
echo test.169it.com > /www/web2/index.html

(3)配置完后用 httpd -t 测试配置文件有没有错误

(4)重启服务 service httpd restart

(5)验证,修改验证客户端的hosts文件,

windows客户端

开始-->运行-->输入"c:windowssystem32driversetchosts"用记事本打开并添加以下行

192.16.3.1   169it.com

192.16.3.1   test.169it.com

15、配置支持https

(1)安装httpd支持ssl模块

yum install mod_ssl -y

(2)自建CA

#cd /etc/pki/CA
# (umask 077; openssl genrsa -out private/cakey.pem 2048)
#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365

(3)生成私钥

cd /etc/httpd/conf/
mkdir ssl
cd ssl
(umask 077; openssl genrsa -out httpd.key 1024)

(4)生成证书申请

openssl req -new -key httpd.key -out httpd.csr

(5)ca签署证书

openssl ca -in httpd.csr -out httpd.crt -days 365

(6)修改httpd的ssl配置文件

vi /etc/httpd/conf.d/ssl.conf
DocumentRoot "/www/web1"
ServerName www.lyd.com
SSLCertificateFile /etc/httpd/conf/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl/httpd.key

(7)将ca证书导入到客户端可信任证书服务器,并验证.

 Linux下Apache Httpd和tomcat整合

首先安装java Tomcat

# tar -zxvf apache-tomcat-xxx.tar.gz
# mv apache-tomcat-xxx /usr/local/tomcat6
# ln -s /usr/local/tomcat6/ tomcat (建立连接这一步可以不需要)

配置两个tomcat做负载均衡,tomcat1、tomcat2:

首先注意修改两个tomcat的端口配置,修改server.xml

       <Server port="8005" shutdown="SHUTDOWN">
       <Server port="9005" shutdown="SHUTDOWN">
      
       <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"
                  redirectPort="8443" />
       <Connector port="9080" protocol="HTTP/1.1"  connectionTimeout="20000"
                  redirectPort="8443" />
      
       <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
       <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />

然后在server.xml中去掉<engine>标签的注释,修改jvmroute别名,如下:

       <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
       <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

 host标签下添加Context标签,例如:(两个tomcat配置一样)

       <Context path="" docBase="/home/smile/webapps/abc" debug="0" reloadable="true"
                                   crossContext="true"/>

在每个tomcat目录下的confCatalinalocalhost目录下建立一个ROOT.xml,如下:

       <?xml version="1.0" encoding="UTF-8"?> 
       <Context docBase="/apps/cluster/gsp" privileged="true" antiResourceLocking="false"
                      antiJARLocking="false" distributable="true"> 
       </Context>

 修改web.xml文件添加元素<distributable/> 

编辑apache配置文件 httpd.conf

打开如下模块的注释:

LoadModule proxy_module modules/mod_proxy.so #引入ajp模块
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so #引入ajp模块
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so #用于监控界面

在最后添加以下内容:

ProxyRequests Off
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID
ProxyPassReverse / balancer://mycluster/ stickysession=JSESSIONID
<Proxy balancer://mycluster>
     BalancerMember ajp://10.192.1.151:8009/ route=tomcat1 loadfactor=1
     BalancerMember ajp://10.192.1.151:9009/ route=tomcat2 loadfactor=1
</Proxy>


#用于监控界面

SetHandler balancer-manager 


注意如下几个地方:

Listen 80 #不要添加IP或者localhost

ServerName localhost:80 #如果使用域名,需要配置本机的windows中host文件

 Linux下Apache Httpd支持php安装过程

1.首先安装php

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs 
--with-config-file-path=/usr/local/php/etc 
make && make install 
cp php.ini-production /usr/local/php/etc/php.ini

2. 错误提示修改说明

configure: error: Cannot find ldap libraries in /usr/lib
ln -s /usr/lib64/libldap* /usr/lib/
configure: error: libjpeg.(a|so) not found.
ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
configure: error: libpng.(a|so) not found.
ln -s /usr/lib64/libpng.so /usr/lib/

3. 修改apache配置文件支持php  

修改directoryindex index.html 为directoryindex index.html index.php

并添加AddType application/x-httpd-php .php


相关文章推荐:
  • Apache如何启用gzip压缩
  • 想用APACHE做WEBSERVER,但不会用APACHE,请教。
  • Apache Hadoop 项目主页及介绍
  • apache日志文件总是空的,重起apache也没用。
  • Apache hadoop当前各个版本说明
  • SUN OS5.8怎么没有make ,我想装APACHE2.0不知道怎么下手,原来的APACHE1.3有不知道怎么卸载
  • Apache HTTP服务器2.4中的新功能概览
  • Apache 2.0 好像不支持Tomcat,我没看到哪位用 Apache 2.0 连接上 Tomcat 的
  • Apache默认是不支持SSI如何给Apache增加SSI支持
  • 我装了一个redhat9.0, 我如何卸载掉它原来的apache,然后重新装一个apache?
  • 请问TOMCAT和APACHE怎样结合使用呢?就像PHP和APACHE结合使用一样?
  • 真痛苦:resin装好了,Apache装好了(开始用pws改成Apache还是不行),但就是不执行我的jsp,在Win98下面
  • 我连接apache和tomcat之后为什么apache不能启动?
  • 100分!tomcat4.0.4+Apache可以不用从新编译apache就可以集成tomcat吗?因为我看到:.....
  • 急!Ubuntu10.04 apache2和tomcat6 mod_jk 整合 实现apache2的代理问题
  • 禁止apache显示目录索引的常见方法(apache禁止列目录)
  • apache 和 nginx 压力测试结果竟然是这样? 难道nginx真的比apache强大那么多?
  • 请教:有了JRUN了,为什么还要装个APACHE,APACHE这个软件起什么作用的呢?
  • 奇闻:Apache+Apache JServ 1.1.1+1G内存居然报内存不够,那位高友知道参数设置,把俺的1G内存都利用起来,感激不尽啊
  • 我的apache启动有问题.apache+mysql+php运行时也有问题,怎么回事,请各位帮帮忙
  • Linux+php+apache+oracle环境搭建之CentOS下安装Apache


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号