apache安装、配置虚拟主机、配置日志

apache的安装与配置

安装

01)下载httpd-2.2.27.tar.gz

02)解压:tar xf httpd-2.2.27.tar.gz

然后进入解压的文件查看INSTALL和RAEDME

03)直接make会出错,然后进行编译(也会有问题,这时候yum -y install zlib zlib-devel即可解决),然后进行编译:

./configure --prefix=/application/apache2.2.27 \   安装路径
--enable-deflate \    压缩(为了发送给客户端的时候更快一点,但是消耗CPU)
--enable-expires \    过期
--enable-headers \   提供对http请求头的控制
--enable-modules=most \    激活大多数模块
--enable-so \    
--with-mpm=worker \    选择work模式(进程下的线程提供服务)还有profork模式(直接用进程提供服务,更安全稳定,但是消耗内存)
--enable-rewrite   伪静态

04)make&makeinstall

05)ln -s /application/apache2.2.27/ /application/apache

06)/application/apache/bin/apachectl -t

/application/apache/bin/apachectl start

lsof -i :80

Netstat -ntlup|grep 80

Ps -ef |grep httpd

07)curl 本机ip  如果不能访问进行下面的检查与操作:

/etc/init.d/iptables stop

setenforce 0

然后看看端口起来没

08)查看配置文件

[[email protected] ~]# cd /application/apache
[[email protected] apache]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[[email protected] apache]# cd conf/
[[email protected] conf]# ls
extra  httpd.conf  magic  mime.types  original
[[email protected] conf]# grep -i documentroot httpd.conf
# DocumentRoot: The directory out of which you will serve your
DocumentRoot "/application/apache2.2.27/htdocs"
查看主配文件的存放数据的目录(index.html)
# This should be changed to whatever you set DocumentRoot to.
# access content that does not live under the DocumentRoot.
 
去掉注释查看主配文件
[[email protected] conf]# grep -Ev "#|^$" httpd.conf > httpd.conf.ori
[[email protected] conf]# cd extra/
[[email protected] extra]# ls
httpd-autoindex.conf  httpd-info.conf       httpd-mpm.conf                 httpd-userdir.conf
httpd-dav.conf        httpd-languages.conf  httpd-multilang-errordoc.conf  httpd-vhosts.conf
httpd-default.conf    httpd-manual.conf     httpd-ssl.conf

深入解析主配文件

[[email protected] conf]# cat httpd.conf.ori
ServerRoot "/application/apache2.2.27"软件安装路径,也是服务器的根目录
#监听的端口
Listen 80
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon
Group daemon
</IfModule>
</IfModule>
ServerAdmin [email protected] 管理员邮箱
DocumentRoot "/application/apache2.2.27/htdocs"默认站点目录
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/application/apache2.2.27/htdocs">
这个配置只对默认站点生效,如果有虚拟主机,需要复制这一段到主配文件最后,进行配置,对于option里面的indexes(没有首页展示的目录,一般去掉,不对外展示目录结构)
 Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<IfModule dir_module>指定访问首页
    DirectoryIndex index.html
</IfModule>
<FilesMatch "^\.ht">文件匹配
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
ErrorLog "logs/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 "logs/access_log" common
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/application/apache2.2.27/cgi-bin/"
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "/application/apache2.2.27/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
DefaultType text/plain
<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
</IfModule>
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-vhosts.conf
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

01)建立目录配置apache基于域名虚拟主机

[[email protected] var]# mkdir -p /var/html/{www,blog,bbs}
[[email protected] var]# touch /var/html/{www,blog,bbs}/index.html
[[email protected] var]# for name in www blog bbs;do echo "http://$name.my.org" > /var/html/$name/index.html;done
[[email protected] html]# cat bbs/index.html
http://bbs.my.org
[[email protected] html]# cat blog/index.html
http://blog.my.org
[[email protected] html]# cat www/index.html
http://www.my.org

02)在http-vhosts.conf里面配置

[[email protected] conf]# ls
extra  httpd.conf  httpd.conf.ori  magic  mime.types  original
[[email protected] conf]# cd extra/
[[email protected] extra]# ls
httpd-autoindex.conf  httpd-info.conf       httpd-mpm.conf                 httpd-userdir.conf
httpd-dav.conf        httpd-languages.conf  httpd-multilang-errordoc.conf  httpd-vhosts.conf
httpd-default.conf    httpd-manual.conf     httpd-ssl.conf                 httpd-vhosts-name.conf
[[email protected] extra]# cat httpd-vhosts.conf
#
# Virtual Hosts
#
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/html/www"
    ServerName www.my.org
    ServerAlias my.org
    ErrorLog "logs/www-error_log"
    CustomLog "logs/www-access_log" common
</VirtualHost>
 
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/html/blog"
    ServerName blog.my.org
    ErrorLog "logs/blog-error_log"
    CustomLog "logs/blog-access_log" common
</VirtualHost>
 
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/html/bbs"
    ServerName bbs.my.org
    ErrorLog "logs/bbs-error_log"
    CustomLog "|/usr/local/sbin/cronolog /app/logs/access_bbs_%Y%m%d.log" combined
</VirtualHost>
[[email protected] extra]#


03)在主配文件中打开虚拟主机

Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-vhosts.conf

04)检查语法和发布

/application/apache/bin/apachectl -t
/application/apache/bin/apachectl graceful

注:做以上操作的时候可能会有延迟和报错(fully qualified domian name FQDN),解决如下:
[[email protected] ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 httpd
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[[email protected] ~]#

[[email protected] conf]# vim httpd.conf
    #ServerName www.example.com:80
    ServerName 127.0.0.1:80


05)当访问的时候会报403错误,因为没有dns解析,所以可以进行本地解析

06)之后还是不能访问,因为没有配置虚拟主机访问站点

解决:在主配文件最后加

<Directory "/var/html">
    Options  FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>


07)
到此就可以访问了

08)基于IP的虚机主机、基于不同端口的虚拟主机

配置apache轮询日志

01)安装轮询软件

tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make&make install
pwd


02)建立日志目录

mkdir -p /app/logs

03)在子配文件中配置

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "/var/html/bbs"
    ServerName bbs.my.org
    ErrorLog "logs/bbs-error_log"
    CustomLog "|/usr/local/sbin/cronolog /app/logs/access_bbs_%Y%m%d.log" combined
</VirtualHost>

04)检查语法和发布

/application/apache/bin/apachectl -t
/application/apache/bin/apachectl graceful

05)此时访问网站就会生成日志

06)其他日志轮询工具rotatelog

07)不记录图片的日志

在主配文件中


<FilesMatch "\.(css|js|gif|jpg|ico|swf)">

SetEvn IMAG 1

</FilesMatch>

在虚拟主机配置文件http-vhosts.conf的日志配置中


CustomLog "|/usr/local/sbin/cronolog /app/logs/access_bbs_%Y%m%d.log" combined evn=!IMAG

08)RS服务器不记录负载均衡健康检查日志

在http-vhosts.conf中


SetEvnIf Request_URI “^/check\.txt$” dontlog

CustomLog "|/usr/local/sbin/cronolog /app/logs/access_bbs_%Y%m%d.log" combined evn=!dontlog

09)通过脚本分析日志

统计访问IP

awk ‘{print $1}‘ access_bbs_20170608.log |sort |uniq -c |sort -rn -k1|head -10

awk ‘{++S[$1]} END {for (key in S) print S[key],key}‘ access_bbs_20170608.log | sort -rn -k1|head -10

010)安装PHP

=================php=====================
 5.3=====>
=============================
./configure --prefix=/application/php5.3.27 --with-apxs2=/application/apache/bin/apxs --with-mysql=/application/mysql --with-xmlrpc --with-openssl --with-zlib --with-freetype-dir --with-gd --with-jpeg-dir --with-png-dir --with-iconv=/usr/local/libiconv --enable-short-tags --enable-sockets --enable-zend-multibyte --enable-soap --enable-mbstring --enable-static --enable-gd-native-ttf --with-curl --with-xsl --enable-ftp --with-libxml-dir
 
==========php==========
安装准备
yum install zlib libxml libjpeg freetype libpng gd  curl libiconv  zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel -y
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
cd ../
时间: 2024-12-29 06:44:28

apache安装、配置虚拟主机、配置日志的相关文章

构建Nginx服务器之一 安装及虚拟主机配置

一.Nginx简介     Nginx("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日.其将源代码以类BSD许可证的形式发布,因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名. 它已经在众多流量很大的俄罗斯网站上使用了很长时间,这些网站包括Yandex.

wampserver2.5下载、安装、虚拟主机配置详解

1,下载wampserver2.5 wampserver2.5 64位下载 wampserver2.5 32位下载 2,安装wampserver2.5 一直点击next就可以安装成功了,安装后电脑右下角会出现如下图标 红色框内显示绿色代表安装完成并成功启动了,默认是英文的现在我们切换为中文的=>右键点击绿色图标=>Language=>chinese. 3,wampserver虚拟主机配置 (这是我的安装目录)打开E:\wamp\bin\apache\apache2.4.9\conf\ht

apache配置文件之虚拟主机配置

虚拟主机的配置 (1)基于IP地址的虚拟主机配置 Listen 80 <VirtualHost 172.20.30.40> DocumentRoot /www/example1 ServerName www.example1.com </VirtualHost> <VirtualHost 172.20.30.50> DocumentRoot /www/example2 ServerName www.example2.org </VirtualHost> (2

apache配置虚拟主机和日志切割

本文是关于apache虚拟主机相关的配置,安装配置过程请参考http://ly36843.blog.51cto.com/3120113/1642118 一.配置www.a.com虚拟主机 编辑/usr/local/apache/conf/httpd.conf文件 [[email protected] ~]# vim /usr/local/apache/conf/httpd.conf  Include conf/extra/httpd-vhosts.conf   #打开这一样 编辑文件/usr/l

Apache 2.4虚拟主机配置

虚拟主机指的是在单一机器上运行多个网站 (例如 company1.example.com 和 company2.example.com) . 虚拟主机可以"基于 IP",即每个 IP 一个站点: 或者"基于名称", 即每个 IP 多个站点.这些站点运行在同一物理服务器上的事实不会明显的透漏给最终用户.--这是官网解释. 配置Apache虚拟主机.(httpd-vhosts.conf -- Apache虚拟主机配置文件) 基于名称的虚拟主机 (每个 IP 多个站点)

Ubuntu下Apache多站点虚拟主机配置

①安装Apache服务器 $ sudo apt-get update $ sudo apt-get install apache2 ②配置单IP多站点 $ sudo vi /etc/apache2/sites-available/000-default.conf #DocumentRoot /var/www/html  注释掉该行 $ cat /etc/apache2/sites-available/000-default.conf|grep -v "#" <VirtualHos

apache2.2 虚拟主机配置

一.改动httpd.conf 打开appserv的安装文件夹,找到httpd.conf文件,分别去掉以下两行文字前面的#号. #LoadModule vhost_alias_module modules/mod_vhost_alias.so 去掉#意思是启用apache的虚拟主机功能. #Include conf/extra/httpd-vhosts.conf 去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置 二.改动httpd-vhosts

apache2.2 虚拟主机配置(转)

转自:http://blog.csdn.net/zm2714/article/details/8351342 一.改动httpd.conf 打开appserv的安装文件夹,找到httpd.conf文件,分别去掉以下两行文字前面的#号. #LoadModule vhost_alias_module modules/mod_vhost_alias.so 去掉#意思是启用apache的虚拟主机功能. #Include conf/extra/httpd-vhosts.conf 去掉这一行的#意思是从co

apache2.2 虚拟主机配置详解

一.修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. 1 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 去掉#意思是启用apache的虚拟主机功能. 1 #Include conf/extra/httpd-vhosts.conf 去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置 二.修改httpd-vho

apache2.2虚拟主机配置教程详解

apache2.2虚拟主机配置教程详解 一.修改httpd.conf 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号. #LoadModule vhost_alias_module modules/mod_vhost_alias.so 去掉#意思是启用apache的虚拟主机功能. #Include conf/extra/httpd-vhosts.conf 去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机