(yankerp-你不努力,未来没人替你买单!)


一、安装apache2.4.23
Apache官网:http://www.apache.org/
apache2.4新功能概述:

运行时可加载MPM

现在可以在编译时将多个MPM 构建为可加载模块。选择的MPM可以在运行时通过LoadModule指令进行配置。

事件MPM
该事件MPM的实验阶段,但现在完全支持。

异步支持
更好地支持异步读/写以支持MPM和平台。

每个模块和每个目录的LogLevel配置
在LogLevel现在可以按模块和每目录配置。新的水平trace1 ,以trace8已经在上面添加debug日志级别。
每请求配置部分
<If>, <ElseIf>和<Else> 段可以用来设置基于每个请求标准的配置。
通用表达式解析器
一个新的表达式分析器允许指定 复合物的条件在像指示使用共同的语法 SetEnvIfExpr, RewriteCond, Header, <If>,和其他。
KeepAliveTimeout以毫秒为单位
现在可以指定KeepAliveTimeout以毫秒为单位。
NameVirtualHost指令
不再需要,现已被弃用。
覆盖配置
新AllowOverrideList 指令允许更精细的控制.htaccess文件中允许的指令。
配置文件变量
现在Define ,配置中的变量是可能的,如果在配置中的许多地方使用相同的值,则允许更清楚的表示。
减少内存使用量
尽管有许多新功能,2.4.x往往比2.2.x使用更少的内存。

apache2.4新模块

mod_proxy_fcgi
FastCGI协议后端 mod_proxy
mod_proxy_scgi
SCGI协议后端为 mod_proxy
mod_proxy_express
提供动态配置的质量反向代理 mod_proxy
mod_remoteip
用代理或负载均衡器通过请求头提交的IP地址列表替换请求的明显客户端远程IP地址和主机名。
mod_heartmonitor, mod_lbmethod_heartbeat
允许mod_proxy_balancer基于后端服务器上活动连接的数量进行负载平衡决策。
mod_proxy_html
以前是第三方模块,它支持在反向代理情况下修复HTML链接,后端生成对代理客户端无效的URL。
mod_sed
一个先进的替代mod_substitute,允许编辑与sed的全部力量的响应身体。
mod_auth_form
启用基于表单的身份验证。
mod_session
为客户端启用会话状态,使用cookie或数据库存储。
mod_allowmethods
新的模块来限制某些HTTP方法,而不会干扰认证或授权。
mod_lua
将Lua语言嵌入到httpd中,用于配置和小型业务逻辑功能。(实验)
mod_log_debug
允许在请求处理的不同阶段添加可定制的调试日志记录。
mod_buffer
提供缓冲输入和输出过滤器堆栈
mod_data
将响应正文转换为RFC2397数据URL
mod_ratelimit
为客户端提供带宽限制
mod_request
提供过滤器来处理和提供HTTP请求体
mod_reflector
通过输出过滤器堆栈提供对请求体的反射作为响应。
mod_slotmem_shm
提供基于槽的共享内存提供程序(ala记分板)。
mod_xml2enc
以前是第三方模块,它支持基于libxml2(标记感知)过滤器模块的国际化。
mod_macro (从2.4.5开始可用)
在配置文件中提供宏。
mod_proxy_wstunnel (从2.4.5开始可用)
支持网络套接字隧道。
mod_authnz_fcgi (从2.4.10开始可用)
启用FastCGI授权人应用程序来验证和/或授权客户端。
mod_http2 (自2.4.17起可用)
支持HTTP / 2传输层。
mod_proxy_hcheck (自2.4.21起可用)

支持远程proxiy后端服务器的独立动态健康检查


正式安装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


安装:

# tar zxf apr-1.5.2.tar.gz 
[root@yankerp ~]# cd apr-1.5.2/
[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/

# wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz
tar zxf zlib-1.2.8.tar.gz 
[root@yankerp ~]# cd zlib-1.2.8/
[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


安装完的调整

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

5.以上操作都是为apache2.4准备的,接下来正式安装apache2.4
#tar zxf httpd-2.4.23.tar.gz
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为开机自启动

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


添加为系统服务并自启动



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


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



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


2017年倒计时。。。 希望对您有所帮助,后续继续更新,再见~~

Centos7.4安装Apache2.4.23详细步骤的更多相关文章

  1. ios – 找不到lcrypto的库

    我正在尝试构建iOSAllJoyn项目,但我遇到了OpenSSL集成的问题.我一直在看这些方向:https://allseenalliance.org/docs-and-downloads/documentation/configuring-build-environment-ios-and-osx#unique_16我已经按照指示一直到XcodeIDEBuild,但现在我收到一个错误,上面写着:

  2. IOs Cordova长按显示文本选择放大镜即使禁用文本选择,如何删除?

    是否有任何可能导致此问题的插件?任何帮助深表感谢.Cordova插件:>com.mbppower.camerapreview>cordova-plugin-statusbar>cordova-plugin-whitelist>离子插件键盘>org.apache.cordova.camera>org.apache.cordova.console>org.apache.cordova.device>org.apache.cordova.dialogs>org.apache.cordova.file>org.a

  3. android – org.apache.cordova.api不存在. PhoneGap 3.0

    我正在尝试将VideoPlayer插件(https://github.com/macdonst/VideoPlayer)添加到我的phonegapAndroid应用程序中.在编译时遇到问题:第25行:解决方法将您的导入更改为:

  4. 如何将android客户端连接到我的笔记本电脑内的Apache服务器(php)的localhost?

    我的笔记本电脑中的localhost-127.0.0.1或android10.0.0.1中的localhost?>那么,如果我想从android访问localhost来调用PHP来运行?哪个ip地址/url我需要放在Android应用程序?我需要在httpconfig中为XAMPP修改任何内容吗?解决方法使用ipconfig在笔记本电脑中找到您的IP地址.在手机中使用该地址而不是127.0.0.1.

  5. android – 在android工作室中的proguard错误

    我想在我的应用程序中使用proguard,我启用它但是当我想生成apk文件时,它给了我这个错误:我正在使用最新版本的sdk23,这是我的gradle文件:怎么了?我在这段代码中做错了什么?谢谢解决方法只需在proguard上添加:

  6. 无法修复Android Proguard返回错误代码1错误

    当我尝试在我的Android应用程序中使用proguard时只需添加到我的project.properties文件,APK导出失败并显示消息Proguard返回错误代码1这是我的project.properties文件这是错误堆栈:解决方法将这些行添加到proguard配置文件(proguard-android.txt)见ProguardTroubleshooting请注意,如果您使用您的配置文件

  7. 我的Android项目的FIPS合规性

    我正在开发一个与安全相关的项目,并且必须确保它符合FIPS标准.根据我的理解,FIPS合规性是硬件和软件级别的合规性.目前有2款三星Android设备符合FIPS标准,即它们在硬件和软件级别都具有合规性.我的问题如下:–1)如果我想让我的Android应用程序符合FIPS标准,如果我在我的项目FIPS兼容中使用了唯一的加密模块,这就够了吗?

  8. Phonegap 2.4 Android Proguard配置

    有人有主意吗???

  9. android – 如何在sharedPreferences中分析ANR

    在sharedPreferences中遇到ANR,不知道如何定位问题.以下是trace的三个部分,其他大多数线程都是“WAIT”或“TIMED_WAIT”.由于countdownlatch.await(),“主”线程被阻止.第二个线程“pool-1-thread-1”等待fsync.最后一个是试图读一些东西.我认为第二个线程已经阻塞了主线程,因为如果这个无法完成,它将不会调用countdownla

  10. Android无法访问org.apache.http.client.HttpClient

    我正在使用androidstudio创建一个向服务器发出GET请求的应用程序.我的代码是这样的:问题是AndroidStudio标记了这一行有错误:说“无法访问org.apache.http.client.HttpClient”这是我的gradle文件:解决方法在AndroidSDK23中不推荐使用HttpClient,因为它推断,您可以在HttpURLConnection中迁移代码https:/

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部