1、编译安装httpd前修改: 在安装包目录下  vim include/ap_release.h

    搜索:BASEVENDOR   修改其八项隐藏curl -I http://地址  中的Server内容

    安装编译依赖:yum install -y gcc gcc-c++ openssl-devel

    编译:./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-ssl

2、安装好后:

  在httpd目录下

    vim conf/httpd.conf

      # Various default settings

       Include conf/extra/httpd-default.conf       //启用

       :wq

    vim conf/extra/httpd-default.conf    //隐藏curl -I 地址 中的server中的内容

       ServerTokens Full   改为  ServerTokens Prod  最少的

       ServerSignature   改为Off

       :wq

3、网站根目录htdocs的权限

    d  755

    r 644

    组 root.root

    上传文件的目录需要单独改:chown -R damon.damon 目录

    如果目录里有文件则:文件:find  .  htdocs/ -type f -exec chmod 644 {} \;

              目录:find  .  htdocs/ -type f -exec chmod 644 {} \;

4、日志(httpd/logs):权限默认就可以,属于root组

5、优化页面(httpd/conf)

    404页面:

        vim conf/httpd.conf

          搜索:DocumentRoot   里面的 Directory

          添加ErrorDocument 404 /404.html

          :wq

6、deflate模块:压缩传输

    查看apache当前安装模块:/etc/init.d/httpd -M

    在源码目录中:modules/filters/中查看有没有deflate模块

           ls |grep deflate

    /usr/local/httpd/bin/apxs -c -i -a mod_deflate.c   //将模块自动追加到配置文件中去

    cat /usr/local/apache2.4/conf/httpd.conf |grep deflate    //查看是否打入模块

    报错:httpd: Syntax error on line 107 of /usr/local/apache2.4/conf/httpd.conf: Cannot load modules/mod_deflate.so into server: /usr/local/apache2.4/modules/mod_deflate.so: undefined symbol: inflate

    解决办法:vim /usr/local/apache2.4/conf/httpd.conf

        在LoadModule deflate_module    modules/mod_deflate.so这一行上面添加

        LoadFile /usr/lib64/libz.so即可

    压缩模块配置:vim /usr/local/apache2.4/conf/httpd.conf

              <IfModule mod_deflate.c>

                    deflateCompressionLevel  9          //压缩等级

                    SetOutputFilter  DEFLATE    //名字为DEFLATE的过滤

                    DeflateFilterNote  Input instream    //过滤规则:输入过滤

                    DeflateFilterNote  Output outstream    //过滤规则:输出过滤

                    DeflateFilterNote  Ratio ratio    //过滤规则:其他过滤方式

                    AddOutputFilterByType  DEFLATE text/html text/plain text/xml text/css        //过滤类型

              </IfModule>

              :wq

      重启apache:/etc/init.d/httpd restart

      利用浏览器工具Yslow测试压缩等级

      浏览器安装Yslow:http://yslow.org/

7、expires模块:压缩

      进入apache安装目录:cd /usr/local/src/httpd-2.4.29/modules/metadata/

      打入模块:/usr/local/apache2.4/bin/apxs -c -i -a mod_expires.c

      查看:cat /usr/local/apache2.4/conf/httpd.conf |grep expires

      编写配置文件:vim /usr/local/apache2.4/conf/httpd.conf

                <IfModule mod_expires.c>

                    ExpiresActive on    //开启

                    ExpiresDefaukt "access plus 12 month"    //默认缓存时长    12个月

                    ExpiresByType text/html "access plus 5 day"    //缓存5天

                    ExoiresByType text/css "access plus 2 day"    //缓存2天

                              .

                              .

                              .    //添加要缓存的文件类型即可

                   </IfModule>

               vim /usr/local/apache2.4/conf extra/httpd-default.conf

                    KeepAlive On     //持久链接

                    MaxKeepAliveRequests 100      //最大请求次数

                    KeepAliveTimeout 5         //最长请求时间

                    Timeout 60               //对特定的请求,比如get,post,put等半链接类型的请求的超时时间

8、apache的运行模式(MPM 非线程性的web服务器):

          prefork:多进程的模式--一个进程相应一个请求,一百个请求则需一百个进程响应。优点是占用内存比较大,稳定

          worker:一个进程产生多个线程,一个线程相应一个请求,偶尔会崩溃,一个进程坏了,后面的四十个线程都会死掉

          event(版本2.4内才有效):结合了prefork和worker的优点,一个继承就收多个请求

      优化:如果并发量比较大的话选择worker模式,如果追求稳定则选择prefore模式,如果为2.4及以上的话则选择event模式

          /etc/init.d/httpd | grep prefork|worker|event    //查看apache当前运行模式

          vim /usr/local/apache2.4/conf/httpd.conf

            查找mpm

            #Include conf/extra/httpd-mpm.conf      //启用mpm

          vim /usr/local/apache2.4/conf/extra/httpd-mpm.conf

              <IfModule mpm_prefork_module>

              StartServers             5    //进程开启数量        

               MinSpareServers          5    //最小闲置进程

              MaxSpareServers         10    //最大闲置进程  

                 MaxClients        150    //最大连接客户端数量

                MaxRequestsPerChild   0     //一个进程最多处理多少个请求,0为不限制

                 ServerLimit       200    //最大进程数

              MaxRequestWorkers      250

                  MaxConnectionsPerChild   0    //一个线程可处理的请求

              </IfModule>

              <IfModule mpm_worker_module>

              StartServers             3

               MinSpareThreads         75

               MaxSpareThreads        250

              ThreadsPerChild         25    //一个进程最多可产生的线程数量

              MaxRequestWorkers      400

              MaxConnectionsPerChild   0

              </IfModule>

              <IfModule mpm_event_module>

              StartServers             3

              MinSpareThreads         75  

              MaxSpareThreads        250

              ThreadsPerChild         25

              MaxRequestWorkers      400

              MaxConnectionsPerChild   0

              </IfModule>

9、rewrite:地址重写--实现url跳转

      /etc/init.d/httpd -M | grep rewrite      //查看是否支持rewrite功能,有rewrite_module则支持

      不支持解决办法:

          查找系统有没有mod_rewrite.so文件,如果在/usr/local/apache2.4/modules/mod_rewrite.so存在则vim /usr/local/apache2.4/conf/httpd.conf将LoadModule rewrite_module modules/mod_rewrite.so开启

      重写规则vim /usr/local/apache2.4/conf/httpd.conf

          RewriteEngine on//打开重写功能

          RewriteCond %{HTTP_HOST} !^www.baidu.com[NC]    //不是以www.baidu.com开头的

          RewriteCond %{HTTP_HOST} !^192.168.31.60[NC]     //不是以ip开头的

          RewriteCond %{HTTP_HOST} !^$             //不是以空行开头的

          RewriteRule ^/(.*) http://www.baidu.com/[L]

      (注:N为重新从第一条规则开始匹配过程,C为与下一条规则关联,NC连写为不区分大小写.L代表上面符合了到这一条终止)

10、目录浏览功能

    禁止目录访问:vim /usr/local/apache2.4/conf/httpd.conf

        屏蔽或者价格“-”号:DocumentRoot "/usr/local/apache2.4/htdocs"

11、不允许PHP看.txt文件

        vim /usr/local/apache2.4/conf/httpd.conf

            <Files ~ ".txt">

              Order allow,deny

              Deny from all

            </Files>

          

      





























LAMP调优的更多相关文章

  1. LAMP 系统性能调优之网络文件系统调优

    LAMP 系统性能调优之网络文件系统调优 2011-03-21 09:35 Sean A. Walberg 网络转载 字号:T | T 使用LAMP系统的用户,都想把自己LAMP性能提高运行的速度提高 ...

  2. LAMP 系统性能调优之内核调优措施

    LAMP 系统性能调优之内核调优措施 2011-03-18 11:21 Sean A. Walberg 网络转载 字号:T | T 在对系统的 Apache.PHP 和 MySQL 组件进行调优之前, ...

  3. LAMP之Apache调优

    一.环境的搭建 实验环境: 操作系统:Centos 7.4 [root@xuegod70 ~]# ls apr-1.6.3.tar.gz apr-util-1.6.1.tar.bz2 httpd-2. ...

  4. linux概念之性能调优

    目前,对系统进行性能调试的工具有很多,这些可以两大类:一类是标准的分析工具,即所有的UNIX都会带的分析工具: 另一类是不同厂商的UNIX所特有的性能分析工具,比如HP-UX就有自己的增值性能分析工具 ...

  5. MySQL性能诊断与调优 转

    http://www.cnblogs.com/preftest/ http://www.highperfmysql.com/     BOOK LAMP 系统性能调优,第 3 部分: MySQL 服务 ...

  6. Nginx 源码安装和调优

    常见web架构: LAMP  =Linux+Apache+Mysql+PHP LNMP  =Linux+Nginx+Mysql+PHP   nginx概述: 知道:1  不知道:2 Nginx (&q ...

  7. MySQL性能诊断与调优

    LAMP 系统性能调优,第 3 部分: MySQL 服务器调优http://www.ibm.com/developerworks/cn/linux/l-tune-lamp-3.html LoadRun ...

  8. 46张PPT讲述JVM体系结构、GC算法和调优

    本PPT从JVM体系结构概述.GC算法.Hotspot内存管理.Hotspot垃圾回收器.调优和监控工具六大方面进行讲述.(内嵌iframe,建议使用电脑浏览) 好东西当然要分享,PPT已上传可供下载 ...

  9. 《深入理解Java虚拟机》调优案例分析与实战

    上节学习回顾 在上一节当中,主要学习了Sun JDK的一些命令行和可视化性能监控工具的具体使用,但性能分析的重点还是在解决问题的思路上面,没有好的思路,再好的工具也无补于事. 本节学习重点 在书本上本 ...

随机推荐

  1. crontab定时的使用

    //查看所有定时 crontab -l修改$ crontab -e //增加定时 //关闭定时 //删除定时$ crontab -r /sbin/service crond start //启动服务 ...

  2. 洛谷P1086 花生采摘

    https://www.luogu.org/problem/P1086 #include <bits/stdc++.h> using namespace std; typedef long ...

  3. 获取 Android APP 版本信息工具类(转载)

    获取 Android APP 版本信息工具类 获取手机APP版本信息工具类 1.获取版本名称 2.获取版本号 3.获取App的名称 package com.mingyue.nanshuibeidiao ...

  4. Oracle Data Guard搭建 1.虚拟机安装linux

    1.安装虚拟机 VMware 14 2.下载Linux镜像文件,创建虚拟机

  5. Motif

    Motif discovery is in loose terms the problem of finding interesting patterns in sequences. motif: i ...

  6. 如何去官网上下载tomcat的linux版本

    1.首先进入官网,进入如下位置 2.进入bin文件夹中下载: 原文链接:https://blog.csdn.net/zdb292034/article/details/82433072

  7. python3练习100题——017

    原题链接:http://www.runoob.com/python/python-exercise-example17.html 题目:输入一行字符,分别统计出其中 英文字母.空格.数字和其它字符的个 ...

  8. Leetcode找三个数字的和满足xx条件的题目总结15➕16➕259

    双指针最基础的题目是一个区间里找两个数字的和等于Target.首先将区间从小到大排序.接下来只要一个le指针,一个ri指针,分别从区间左右边界往中间推进即可.复杂度是排序的nlogn. 下面几道题都是 ...

  9. Python_内置函数和匿名函数

    楔子 在讲新知识之前,我们先来复习复习函数的基础知识. 问:函数怎么调用? 函数名() 如果你们这么说...那你们就对了!好了记住这个事儿别给忘记了,咱们继续谈下一话题... 来你们在自己的环境里打印 ...

  10. C++的多态总结(静态&动态)

    什么是多态 顾名思义就是同一个事物在不同场景下的多种形态. 静态多态 我们以前说过的函数重载就是一个简单的静态多态,静态多态是编译器在编译期间完成的,编译器会根据实参类型来选择调用合适的函数,如果有合 ...