博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
部署LAMP平台中的: A(Apache网页)优化
阅读量:7143 次
发布时间:2019-06-29

本文共 4597 字,大约阅读时间需要 15 分钟。

部署LAMP平台中的: A(Apache网页)

技能目标

  • 掌握以源代码编译的方法构建LAMP环境
  • 学会phpMyAdmin的使用 //phpMyAdmin:使用数据库管理数据库数据库建表

本次实验前导读

  • LAMP 架构是目前成熟的企业网站应用之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是个所写的词具体包括[Linux系统,Aoache网站服务器,Mysql数据库服务器,PHP(或Perl,Python)网页编写语言]
  • 在此之前,我已经做过LAMP的平台搭建,本次实验深入的把Apache网页做一个优化
Apache主要特点
  • 开放源代码包
  • 跨平台应用
  • 支持各种Web编程语言
  • 运用稳定
  • 模块化设计
实验前准备
  • 查看在linux系统安装好后有没有httpd服务有的话为避免安装冲突请用yum remove 卸载掉httpd服务

  • Apache源代码包 :1:httpd 2:apr 1:apr-util
[root@localhost opt] lsapr-1.5.0  apr-util-1.5.4  epel-release-latest-7.noarch.rpm  httpd-2.4.33  lamp  rh
  • 用yum安装编译语言gcc gcc-c++ pcre pcre-devel zlib-devel make
[root@localhost opt] yum install gcc gcc-c++ zlib-devel pcre pcre-devel make -y

1:安装Apache的压缩模块

[root@localhost opt] cp -R apr-1.5.0/ httpd-2.4.33/srclib/apr[root@localhost opt] cp -R apr-util-1.5.4/ httpd-2.4.33/srclib/apr-util[root@localhost opt] cd httpd-2.4.33/ #进入httpd安装包底下[root@localhost httpd-2.4.33] ./configure \--prefix=/usr/local/httpd \ #prefix指定安装目录--enable-deflate \          #安装模块--enable-so \               #启用动态加载模块--enable-rewrite \ #启用网页地址重写功能--enable-charset-lite \      #启用各种字符集支持,便于使用各种字符集编码--enable-cgi                #启用CGI脚本程序支持,扩展网站应用访问能力--enable-expires \          #启用网页缓存[root@localhost httpd-2.4.33] make && make install #用make && make install 转换进制 (转换过程需等待)
  • 修改主配置
[root@localhost ~] grep -v "#" /usr/local/httpd/bin/apachectl > /etc/init.d/httpd #在etc文件里面的init.d底下重新建立/bin/apachectl便于service管理[root@localhost ~] vim /etc/init.d/httpd //在开头加入#!/bin/sh    # chkconfig:2345 85 15    # description:Apache is a World Wide Web server.[root@localhost ~] chmod +x /etc/init.d/httpd #给一个执行权限[root@localhost httpd-2.4.33] cd /usr/local/httpd/conf/[root@localhost conf] lsextra  httpd.conf  magic  mime.types  original[root@localhost conf] vim httpd.confLoadModule headers_module modules/mod_headers.soLoadModule deflate_module modules/mod_deflate.so     //开启 去掉前面#LoadModule filter_module modules/mod_filter.so//在主配置文件末尾添加
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript DeflateCompressionLevel 9 SetOutputFilter DEFLATE
  • 用./apachectl -t 验证配置文件
[root@localhost conf] cd /usr/local/httpd/bin/[root@localhost bin] ./apachectl -tAH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this messageSyntax OK #直接验证可能会有个报错这个报错是ServerName 域名没有开启找到它修改个域名 还有一个是Liten 监听地址 把下面ipv6监听前加#关闭开启上面一个监听本地地址[root@localhost bin] ./apachectl -tSyntax OK  #验证成功[root@localhost bin] ./apachectl -t -D DUMP_MODULES | grep "deflate"  验证模块有没有开启 deflate_module (shared)
  • 网页缓存在主配置文件里面开启
  • LoadModule expires_module modules/mod_expires.so
  • 在末尾添加 (前面的点是标识不用添加)
  • <IfModule mod_expires.c>
  • ExpiresActive On
    ExpiresDefault "access plus 50 seconds"
  • </IfModule>

  • 在/usr/local/httpd/bin/底下验证模块
[root@localhost bin] ./apachectl -t Syntax OK[root@localhost bin] ./apachectl -t -D DUMP_MODULES | grep "expires" expires_module (shared) # 表示验证成功
  • 安全优化防盗链(把规则配置在<Directory>里面!!!Require all granted底下,前面的点是标识)
  • RewriteEngine On #加入mod_rewrite模块
  • RewriteCond %{HTTP_REFERER}!^.*$ [NC]
  • RewriteCond %{HTTP_REFERER}!^$ [NC]
  • RewriteCond %{HTTP_REFERER}!^.*$ [NC]
  • RewriteCond %{HTTP_REFERER}!^$ [NC]
  • 上面四句设置允许访问的HTTP来源,包括网站自身
  • RewriteRule.*\.(gif|jpg|swf)$
  • 上面一句将不满足referer条件的访问重定向至nolink.png。error.png位于允许“盗链”的目录about中,要相当注意,不然,警告信息和图片将无法在对方网站上显示
  • 开启mod_rewrite.so模块

  • 检查语法
[root@localhost bin] ./apachectl -t Syntax OK[root@localhost bin] ./apachectl -t -D DUMP_MODULES | grep "rewrite" rewrite_module (shared)
  • 隐藏版本信息
[root@localhost ~] vim /usr/local/httpd/conf/extra/httpd-default.confServerTokens Full #把Full修改为Prod 只显示名称不显示版本
  • 启动httpd 关闭防火墙等功能
[root@localhost ~] systemctl start httpd.service [root@localhost ~] systemctl status httpd.service ● httpd.service - The Apache HTTP Server   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)   Active: active (running) since 一 2018-06-25 11:38:22 CST; 1s ago     Docs: man:httpd(8)           man:apachectl(8)[root@localhost ~] systemctl stop firewalld.service[root@localhost ~] systemctl status firewalld.service● firewalld.service - firewalld - dynamic firewall daemon   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)   Active: inactive (dead) since 三 2018-05-16 13:42:04 CST; 1 months 9 days ago     Docs: man:firewalld(1)[root@localhost ~] setenforce 0[root@localhost ~] echo "this is accp" > /var/www/html/index.html #添加一个首页

用fiddler抓包测试

查看304包右边client里面有一个Accept-Encoding:gzip,deflate 支持压缩模块

部署LAMP平台中的: A(Apache网页)优化部署LAMP平台中的: A(Apache网页)优化

版本号2.4.33被隐藏了
部署LAMP平台中的: A(Apache网页)优化

转载于:https://blog.51cto.com/13645280/2132418

你可能感兴趣的文章
函数调用过程栈帧变化详解
查看>>
Android项目实战(三十二):圆角对话框Dialog
查看>>
Word或Excel里画柱状图和折线图组合体
查看>>
C# CRC16 查表法
查看>>
js中获取键盘事件
查看>>
面试(4)-spring-Spring面试题和答案
查看>>
请教 JTable 里的单元格如何使得双击进入单元格后,单元格的内容处于全选中状态...
查看>>
jQuery 各类判断函数汇总
查看>>
Android studio 分32位64位版本吗?
查看>>
UIcollectionView的使用(首页的搭建1)
查看>>
[原创]AM3352 + TPS65910 调试方法+调试记录
查看>>
.net基本数据类型操作
查看>>
docker 应用-2(Dockerfile 编写以及镜像保存提交)
查看>>
ubuntu 下安装查看pdf的工具
查看>>
UIApplication深入研究
查看>>
解决Ubuntu 12.04更新后 ”系统的网络服务与此版本的网络管理器不兼容“问题
查看>>
python变量
查看>>
牛顿迭代法
查看>>
mac os 中类似于Linux的yum工具,或ubuntu的apt-get工具Homebrew
查看>>
一种美-无法言语
查看>>