设为首页 收藏本站
查看: 1022|回复: 0

[经验分享] apache安装、配置虚拟主机、配置日志

[复制链接]

尚未签到

发表于 2018-11-18 12:07:19 | 显示全部楼层 |阅读模式
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)查看配置文件
[root@qbPC ~]# cd /application/apache
[root@qbPC apache]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@qbPC apache]# cd conf/
[root@qbPC conf]# ls
extra  httpd.conf  magic  mime.types  original
[root@qbPC 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.
去掉注释查看主配文件
[root@qbPC conf]# grep -Ev "#|^$" httpd.conf > httpd.conf.ori
[root@qbPC conf]# cd extra/
[root@qbPC 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深入解析主配文件
[root@qbPC conf]# cat httpd.conf.ori
ServerRoot "/application/apache2.2.27"软件安装路径,也是服务器的根目录
#监听的端口
Listen 80


User daemon
Group daemon


ServerAdmin you@example.com 管理员邮箱
DocumentRoot "/application/apache2.2.27/htdocs"默认站点目录

    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all


这个配置只对默认站点生效,如果有虚拟主机,需要复制这一段到主配文件最后,进行配置,对于option里面的indexes(没有首页展示的目录,一般去掉,不对外展示目录结构)
Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all

指定访问首页
    DirectoryIndex index.html

文件匹配
    Order allow,deny
    Deny from all
    Satisfy All

ErrorLog "logs/error_log"设置错误日志
LogLevel warn 设置日志级别

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
   
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
   
    CustomLog "logs/access_log" common


    ScriptAlias /cgi-bin/ "/application/apache2.2.27/cgi-bin/"




    AllowOverride None
    Options None
    Order allow,deny
    Allow from all

DefaultType text/plain

    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

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

SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
01)建立目录配置apache基于域名虚拟主机
[root@qbPC var]# mkdir -p /var/html/{www,blog,bbs}
[root@qbPC var]# touch /var/html/{www,blog,bbs}/index.html
[root@qbPC var]# for name in www blog bbs;do echo "http://$name.my.org" > /var/html/$name/index.html;done
[root@qbPC html]# cat bbs/index.html
http://bbs.my.org
[root@qbPC html]# cat blog/index.html
http://blog.my.org
[root@qbPC html]# cat www/index.html
http://www.my.org  

02)在http-vhosts.conf里面配置
[root@qbPC conf]# ls
extra  httpd.conf  httpd.conf.ori  magic  mime.types  original
[root@qbPC conf]# cd extra/
[root@qbPC 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
[root@qbPC extra]# cat httpd-vhosts.conf
#
# Virtual Hosts
#
NameVirtualHost *:80

    ServerAdmin 15581737164@163.com
    DocumentRoot "/var/html/www"
    ServerName www.my.org
    ServerAlias my.org
    ErrorLog "logs/www-error_log"
    CustomLog "logs/www-access_log" common


    ServerAdmin 15581737164@163.com
    DocumentRoot "/var/html/blog"
    ServerName blog.my.org
    ErrorLog "logs/blog-error_log"
    CustomLog "logs/blog-access_log" common


    ServerAdmin 15581737164@163.com
    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

[root@qbPC 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),解决如下:
[root@qbPC ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 httpd
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@qbPC ~]#
[root@qbPC conf]# vim httpd.conf
    #ServerName www.example.com:80
    ServerName 127.0.0.1:80  

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


  
DSC0000.png

DSC0001.png

  

06)之后还是不能访问,因为没有配置虚拟主机访问站点
  解决:在主配文件最后加

    Options  FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  
07)
到此就可以访问了

DSC0002.png

  
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/logs03)在子配文件中配置

    ServerAdmin 15581737164@163.com
    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
  


04)检查语法和发布
/application/apache/bin/apachectl -t
/application/apache/bin/apachectl graceful  


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

  
06)其他日志轮询工具rotatelog
07)不记录图片的日志
  在主配文件中
  
      SetEvn IMAG 1
  
  在虚拟主机配置文件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 ../  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636569-1-1.html 上篇帖子: nginx 负载均衡 重温之火与apache的碰撞 下篇帖子: How to Install Apache Kafka on CentOS 7
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表