2014-04-19 08:57:01
来 源
itjs.cn
Apache
本文介绍Linux系统中安装配置Apache+resin,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。
为实现apache+resin的多机部署方案,在SUSE下尝试了该环境的搭建过程,在此记录下来,作为安装说明以便自己及他人查看。

一、编译安装apache

1、从apache官网上下载最新的 release版本,unix版本取httpd-2.2.6.tar.gz。

2、解包:

1.gunzip httpd-2.2.6.tar.gz

2.httpd-2.2.6.tar

gunzip httpd-2.2.6.tar.gz

tar xvf httpd-2.2.6.tar

3、编译安装:

进入解压后的目录httpd-2.2.6,依次执行

1. ./configure --prefix=/usr/local/apache2/ --enable-so --enable-rewrite

2.make

3.make install

./configure --prefix=/usr/local/apache2/ --enable-so --enable-rewrite --enable-headers

make

make install

成功后apache就安装到前面指定的目录了

二、配置apache

进入apache安装目录:

1、修改apache/conf/httpd.conf

Listen 80 修改80为需要的端口如 18887

2、启动

进入apache/bin/执行: ./apachectl start

3、打开浏览起访问

http://ip: 18887

三、编译安装resin

1../configure --prefix=/usr/local/resin-3 --with-apxs=/usr/local/apache2.2/bin/apxs --with-apache=/usr/local/apache2.2

2.make

3.make install

./configure --prefix=/usr/local/resin-pro-3.1.10 --with-apxs=/usr/local/apache2/bin/apxs --with-apache=/usr/local/apache2

make

make install

上述操作除了编译安装resin外,还会修改apache的配置,若已存在resin,则可不执行以上的操作,手动进行apache的配置,达到上述操作同等的效果:

1、copy mod_caucho.so到apache目录(即--with-apache所指定的目录)的modules目录下;

2、修改apache的配置文件conf/httpd.conf,自动增加以下内容

1.LoadModule caucho_module ***/modules/mod_caucho.so

2.ResinConfigServer localhost 6802

3.CauchoConfigCacheDirectory /tmp

4.CauchoStatus yes

LoadModule caucho_module ***/modules/mod_caucho.so

ResinConfigServer localhost 6802

CauchoConfigCacheDirectory /tmp

CauchoStatus yes

四、配置resin

修改resin.conf文件

<cluster>

 <srun server-id="a" host="192.168.0.1" port="6802"/>

 <srun server-id="b" host="192.168.0.2" port="6802"/>

</cluster>

<cluster>

<srun server-id="a" host="192.168.0.1" port="6802"/>

<srun server-id="b" host="192.168.0.2" port="6802"/>

</cluster>

五、启动resin

运行resin/bin/httpd.sh

注意一定要加-server,否则resin启动后是监听80/8080这样的端口,而不是上面cluster设置里面的6802,

./httpd.sh -server a start

如果resin启动不正确,后面apache启动后访问resin就会失败,然后在页面报503错误。

stop/restart 时同样也需要加-server

六)、配置apache

确认conf/httpd.conf文件中的以下内容:

1、LoadModule caucho_module ***/modules/mod_caucho.so

检查mod_caucho.so是否存在

2、ResinConfigServer localhost 6802

这个ResinConfigServer只能出现一行,如果resin有多台,请在这里指定的那台resin配置文件中的<cluster>中配置其他机器的ip/port

3、CauchoConfigCacheDirectory /tmp

4、CauchoStatus yes

最后修改的配置为:

LoadModule caucho_module "/opt/cuix/apache/modules/mod_caucho.so"

ResinConfigServer 192.168.0.1 6802

AddHandler caucho-request .action

CauchoConfigCacheDirectory /tmp

CauchoStatus yes

LoadModule caucho_module "/opt/cuix/apache/modules/mod_caucho.so"

ResinConfigServer 192.168.0.1 6802

AddHandler caucho-request .action

CauchoConfigCacheDirectory /tmp

CauchoStatus yes

七、web访问

启动apache。

用浏览器访问apache的端口,注意不是访问resin的端口。

成功完成以上操作后,apache+resin就部署完成了。

八、安装cronolog格式化Apache的日志文件

安装cronolog格式化Apache的日志文件

使用cronolog可以格式化日志文件的格式,比如按时间分割,易于管理和分析。

cronolog的安装配置非常简单,简要说明如下:

1.下载软件

http://cronolog.org/download/index.html

2.解压缩

tar zxvf cronolog-1.6.2.tar

2.进入相应的目录

//// ./configure --prefix=/usr/local/cronolog

./configure

3.make

4.make install

5.修改apache配置文件

安装完成以后需要对apache进行适当配置,修改httpd.conf文件,主要注意以下几点:

1.自定义日志格式

CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combined

2.如果存在多个虚拟站点

可以考虑在VirtualHost进行相应设置

ServerAdmin [email protected]

DocumentRoot /www/docs/dummy-host.example.com

ServerName dummy-host.example.com

ErrorLog logs/dummy-host.example.com-error_log

CustomLog logs/dummy-host.example.com-access_log common

我的www.server110.com存在多个子站点,但是都使用了同一个日志文件配置后生成日志文件的效果:

[[email protected] logs]# ls -l access_log.20041226

-rw-r--r-- 1 root root 110425 Dec 26 09:10 access_log.20041226

______________________________________________________SAVE______________________________________________

ServerName abcd.abcd.com

DocumentRoot /home/apache/htdocs

CustomLog "|/usr/local/sbin/cronolog /home/apache/logs/access_log.%Y%m%d" combined

HostnameLookups Off

ErrorLog /usr/local/apache/logs/error_log

LogLevel warn

LogFormat "%h %l %u %t "%r" %>s %b "%i" "%i"" combined

LogFormat "%h %l %u %t "%r" %>s %b" common

LogFormat "%i ->

%U" referer

LogFormat "%i" agent

CustomLog /usr/local/apache/logs/access_log combined

ServerSignature On

----------------------------------apache增加rewrite module------------------------------------------------

1)首次安装apache,在编译时增加--enable-rewrite选项。

如./configure --prefix=/usr/local/apachel --enable-so --enable-mods-shared=all --enable-rewrite --enable-cache

2)增加mod_rewrite模块

# find . -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件

# cd PATH/to/mod_rewrite.c //进入包含mod_rewrite.c文件的目录

# /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在你当前正在使用apache的bin目录里

# /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la

如果没有什么错误的话,应该在你的apache的modules目录中编译出一个mod_rewrite.so文件。

编辑httpd.conf文件,确认httpd.conf中已经包含mod_rewrite.so的加载语句,如下:

LoadModule rewrite_module modules/mod_rewrite.so

这时,你的apache应该已经支持rewrite了。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。