正式安装Apache2.4 操作系统:Centos7.4,(需要关闭Selinux)
1.在每安装一个服务都要养成查看是否安装,如果安装则需要卸载:

#[root@yankerp ~]# rpm -qa | grep httpd

以下是如果之前系统已经安装httpd卸载方法:

2.安装apache2.4.23 (是编译安装那么就会需要用到源码包)在安装apache2.4.23需要的源码包如下:
httpd-2.4.23.tar.gz      apr-1.5.2.tar.gz      apr-util-1.5.4.tar.gz      zlib-1.2.8.tar.gz      pcre-8.39.tar.gz
以上包中apr是可移植的运行库,它是一个对操作系统调用的抽象库,用来实现apache内部组件对系统的使用,提高系统的可移植性,pcre zlib想必大家都很了解,这里不在概述。

1)下载安装apr和apr-util 在安装之前这些包我已经下载好了,同时大家可以使用以下链接来进行下载
apr官网地址http://apr.apache.org/download.cgi

#[root@yankerp ~]# wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz

安装:

  1.  
    # tar zxf apr-1.5.2.tar.gz
  2.  
    [root@yankerp ~]# cd apr-1.5.2/
  3.  
    [root@yankerp apr-1.5.2]# ./configure --prefix=/usr/local/apr && make && make install


如果出现了以上情况,需要安装gcc编译器。。。

# yum install gcc gcc-c++ -y

再次安装:

安装结束后使用echo $?来判断以上操作是否又报错,非0则不成功,若没有继续安装下一个包

2)安装apr-util(安装的方法和上边安装apr都是一样的) 最后make && make install

# wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz



2.安装zlib
zlib官网:http://www.zlib.net/

  1.  
    # wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz
  2.  
    tar zxf zlib-1.2.8.tar.gz
  3.  
    [root@yankerp ~]# cd zlib-1.2.8/
  4.  
    [root@yankerp zlib-1.2.8]# ./configure --prefix=/usr/local/zlib && make && make install



3.安装pcre
pcre官网:https://ftp.pcre.org/

# wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.gz

4.安装openssl(在安装apache2.4中它会提示openssl版本过于低,所以需要安装openssl)
openssl官网:https://www.openssl.org/

#wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1u.tar.gz

make && make install

安装完的调整

  1.  
    #mv /usr/bin/openssl /usr/bin/openssl.1.0.1e
  2.  
    [root@yankerp openssl-1.0.1u]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl

5.以上操作都是为apache2.4准备的,接下来正式安装apache2.4

  1.  
    #tar zxf httpd-2.4.23.tar.gz
  2.  
    cd httpd-2.4.23/

make && make install
参数解释:
./configure --prefix=/usr/local/http-2.4.23      //指定apache的安装路径
--enable-so  //这个是支持动态共享模块
--enable-rewrite  //支持URL重写
--enable-ssl   //支持ssl
--with-ssl=/usr/local/openssl  //这个是指定openssl的安装位置
--enable-cgi   //启用cgi
--enable-modules=most 指明要静态编译到httpd二进制文件的模块 all或者most,all代表包含所有的模块 most代表大部分的模块
--enable-mods-shared=most 指明要以DSO方式编译的模块,all代表全部,most代表大部分
--enable-mpms-shared=all  启用MPM所有支持的模式,这样event,worker,prefork就会以模块化的方式安装,要用哪个就在httpd.conf里面配置就好了
--with-mpm=event   指定启用mpm模式,默认使用enevt模式,在apache的早期版本2.0默认prefork,2.2版本是worker 2.4版本是event.
--with-pcre=/usr/local/pcre 支持 pcre
--with-z=/usr/local/zlib  使用 zlib 压缩库
--with-apr=/usr/local/apr   指定 apr 的安装路径
--with-apr-util=/usr/local/apr-util 指定 apr-util 的安装路径
--enable-expires:激活彧通过配置文件控制 HTTP 的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css 等内容,提供客户端浏览器缓
存的设置。这个是 apache 调优的一个重要选项之一。
--enable-deflate:提供对内容的压缩传输编码支持,一般是 html、js、css 等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是 apache 调优的一个重要选项之一
到这里必须要知道Apache的三种工作模式:event,worker,prefork !!!

在make && make install完成之后我们一定要echo $?来确保安装没过程中没有错误

此时我们的apache2.4已经正式的安装成功!!!

6.优化http程序执行路径

# ln -s /usr/local/http-2.4.23/bin/* /usr/local/bin/

修改配置文件设置ServerName
我们在安装apache的时候安装路径指定到了/usr/local/http2.4下面,我们进去http的安装位置查看有什么目录。

我们看到了一个conf目录,也就是说这个目录下面存放的就是我们apache的主配置文件,httpd.conf(修改servername)

7.开启apache服务

设置apache为开机自启动

  1.  
    #cp /usr/local/http-2.4.23/bin/apachectl /etc/init.d/httpd
  2.  
    sed -i '1a # chkconfig: 35 85 21' /etc/init.d/httpd
  3.  
    sed -i '2a # description: apache 2.4.23' /etc/init.d/httpd

添加为系统服务并自启动

修改网页根目录,client访问测试

以下是apache网页根目录(我们可以在里面更改想要的内容)

注意:如果做到这里httpd已经启动但是无法访问可能造成原因有以下几种:
1.清除浏览器缓存后再次访问。
2.没有关闭selinux会出现访问不到的情况
3.没有关闭防火墙,则需要添加80端口,或者可以选择关闭防火墙

安装Apache2.4 操作系统:Centos7.4的更多相关文章

  1. Linux环境下源码安装Apache2.2.25

    操作环境:RedHat Enterprise Linux 5.6 一.安装准备 安装Apache一般依赖3个组件:apr.apr-util.pcre. 确保这三个组件已经安装. [root@bigsr ...

  2. CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3

    CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行 ...

  3. windows 用VMware创建linux虚拟机,安装操作系统CentOS7.2

    1.按照向导创建虚拟机 以下是安装虚拟机的步骤,没有写的直接下一步 [1]主页-创建新虚拟机 [2]选择 自定义(高级) [3]选择稍后安装操作系统 [4]给虚拟机命名并指定所在位置 [5]给处理器配 ...

  4. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  5. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(一) 一.Linux下安装MySQL 1.下载 下载地址:http://dev.mysql.co ...

  6. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(二) 安装apache web容器 . yum方式安装apache 注意apache在linux ...

  7. CentOS7 下源代码安装apache2.4

    Apache httpd 2.4 源代码安装   https://httpd.apache.org/docs/2.4/install.html   这里选用Apache2.4版本. wget http ...

  8. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  9. 一行命令安装docker和docker-compose(CentOS7)

    想快速装好docker和docker-compose ?那就随本文用一次复制粘贴来完成安装: 环境信息 操作系统:CentOS Linux release 7.7.1908 (Core, 操作账号:r ...

随机推荐

  1. 第三十七章、PyQt输入部件:QAbstractSlider派生类QScrollBar滚动条、QSlider滑动条、QDial刻度盘功能介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 Designer中的输入部件Horizo ...

  2. PyQt(Python+Qt)学习随笔:QAbstractItemView的SelectionBehavior属性

    老猿Python博文目录 老猿Python博客地址 一.概述 SelectionBehavior属性用于控制选择行为操作的数据单位,是指选择时选中数据是按行.按列还是按项来选择.SelectionBe ...

  3. Python(三) PIL, Image生成验证图片

    Python(三) PIL, Image生成验证图片 安装好PIL,开始使用. 在PyCharm中新建一个文件:PIL_Test1.py 1 # PIL 应用练习 2 # 3 # import PIL ...

  4. TimSort源码详解

    Python的排序算法由Peter Tim提出,因此称为TimSort.它最先被使用于Python语言,后被多种语言作为默认的排序算法.TimSort实际上可以看作是mergeSort+binaryS ...

  5. Angular:管道和自定义管道

    ①管道的使用,更多管道在angular官网上有 <p>全部转为大写:{{'hahahah' | uppercase}}</p> <p>保留两位小数:{{1.4555 ...

  6. hive实例的使用

    一.hive用本地文件进行词频统计 1.准备本地txt文件 2.启动hadoop,启动hive 3.创建数据库,创建文本表 4.映射本地文件的数据到文本 5.hql语句进行词频统计交将结果保存到结果表 ...

  7. 跨站点脚本编制 - SpringBoot配置XSS过滤器(基于Jsoup)

    1. 跨站点脚本编制   风险:可能会窃取或操纵客户会话和 cookie,它们可能用于模仿合法用户,从而使黑客能够以该用户身份查看或变更用户记录以及执行事务.   原因:未对用户输入正确执行危险字符清 ...

  8. EasyExcel导入

    记录摸鱼的一天 技术栈:spring boot2.x+mybatis plus+easyExcel 2.2.6 生成简单的实体类等等等等 导入easyExcel的依赖 实体类 编写服务层 import ...

  9. 开发阶段,将SpringBoot应用快速部署到K8S

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. jQuery的事件机制和其他知识

    jQuery 设置宽度和高度 宽度操作: $(selector).height(); //不带参数表示获取高度 $(selector).height(200); //带参数表示设置高度   宽度操作: ...