如何在Centos7下升级Apache至最新版本
Apache是使用最广泛的应用部署软件。并且它也是所有服务器的必要组成部分。安装最新版本的apache意味着拥有更多最新的功能和修复了已知的BUG。
介绍
在这篇教程里面,我将会介绍在Centos7下安装最新版Apache的几个简单步骤。
默认情况下, Centos7为软件设置了一些预定义的软件库。不幸的是,这些预定义软件库上的很多软件已近过时了。
第一步:找出默认软件库上的Apache版本
为了查找Centos上软件库里的Apache版本,在命令行下输入以下指令:
- yum info httpd
如果你的centos保持着默认的配置的话,你很可能会按到类似的结果:
- [root@crosp ~]# yum info httpd
- Loaded plugins: fastestmirror
- epel/x86_64/metalink | 19 kB 00:00
- epel | 4.3 kB 00:00
- (1/3): epel/x86_64/group_gz | 170 kB 00:00
- (2/3): epel/x86_64/primary_db | 4.6 MB 00:00
- (3/3): epel/x86_64/updateinfo | 780 kB 00:00
- Loading mirror speeds from cached hostfile
- * base: mirrors.ircam.fr
- * epel: mirrors.ircam.fr
- * extras: centos.mirror.fr.planethoster.net
- * updates: centos.mirror.fr.planethoster.net
- Available Packages
- Name : httpd
- Arch : x86_64
- Version : 2.4.6
- Release : 45.el7.centos.4
- Size : 2.7 M
- Repo : updates/7/x86_64
- Summary : Apache HTTP Server
- URL : http://httpd.apache.org/
- License : ASL 2.0
- Description : The Apache HTTP Server is a powerful, efficient, and extensible
- : web server.
正如你从上面的输出结果中看到,默认软件库中只有2.4.6版本的apache。
注意:
Centos使用 向后修复安全实践 来将新的软件修复应用到更早期的版本。所以,默认库中的早期版本软件不意味着就更脆弱。不过对于我来说,并不算是个满足需求的更新。
你可以使用changelog来查看版本更新:
- sudo yum install yum-changelog
- yum changelog httpd
第二步:安装CodeIT库
CodeIT的人提供了一个很好的自定义库。这个库提供了最新版本的服务器软件(Apache & Nginx)。
在安装CodeIT库之前,你需要开启 EPEL 。EPEL提供了CodeIT库需要的依赖。
- sudo yum install -y epel-release
最后,我们来安装CodeIT库
- cd /etc/yum.repos.d && wget https://repo.codeit.guru/codeit.el`rpm -q --qf "%{VERSION}" $(rpm -q --whatprovides redhat-release)`.repo
接下来,我们再次确认Apache的包版本,你应该会看到类似下面的输出
- [root@crosp ~]# yum info httpd
- Loaded plugins: changelog, fastestmirror
- Loading mirror speeds from cached hostfile
- * base: centos.crazyfrogs.org
- * epel: mirror.23media.de
- * extras: mirrors.ircam.fr
- * updates: centos.mirror.fr.planethoster.net
- Available Packages
- Name : httpd
- Arch : x86_64
- Version : 2.4.25
- Release : 3.el7.codeit
- Size : 1.4 M
- Repo : CodeIT/x86_64
- Summary : Apache HTTP Server
- URL : http://httpd.apache.org/
- License : ASL 2.0
- Description : The Apache HTTP Server is a powerful, efficient, and extensible
- : web server.
第三步:安装Apache
现在你应该有了安装最新版apache所需要的所有东西:
- yum install httpd
一旦Apache安装好,我们就可以测试apache是否正常工作:
- [root@crosp ~]# systemctl start httpd
输出应该是类似下图:
- [root@crosp ~]# curl localhost
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
- <head>
- <title>Test Page for the Apache HTTP Server on CentOS</title>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- ...
最后,让systemctl将Apache设置为开机自启动:
- [root@crosp ~]# systemctl enable httpd
大功告成!
如何在Centos7下升级Apache至最新版本的更多相关文章
- Mac下升级ruby至最新版本
Mac自身的ruby 版本 2.x,通过ruby -v可以查看版本号. 为更新到ruby的最新版本,可通过以下命令解决: brew update brew install ruby 执行完命令后,ru ...
- Mac下升级node到最新版本
建议先装n,再用n把node升级到最新稳定版: $ npm install -g n $ n stable
- centos7 升级内核到最新版本
centos7 从问世以来,官网提供的镜像始终是3.10 版本,该版本最大的一个问题是对硬件驱动(尤其是无线网卡)的支持不是很好,本人亲测>5种机型,无线网卡均无法正常使用,如果是非主流机型,手 ...
- 一步一步教你如何在linux下配置apache+tomcat(转)
一步一步教你如何在linux下配置apache+tomcat 一.安装前准备. 1. 所有组件都安装到/usr/local/e789目录下 2. 解压缩命令:tar —vxzf 文件名(. ...
- centos7下升级SSH
Linux 发行版中集成的 SSH 软件版本都比较老,存在着一些漏洞和安全隐患,需要升级 SSH 服务软件修补漏洞提升系统安全. SSH:SSH 有许多标准,通常 Linux 中 ( Redhat, ...
- 如何升级centos到最新版本
本文将教你如何升级centos到最新版本.centos中“update”命令可以一次性更新所有软件到最新版本.注意:不推荐使用update的y选项,-y选项会让你在安装每项更新前都进行确认(译者注:这 ...
- CentOS如何升级openssl到最新版本
本文不再更新,可能存在内容过时的情况,实时更新请移步原文地址:CentOS如何升级openssl到最新版本: 环境信息 CentOS Linux release 7.6.1810 (Core): Op ...
- 【Linux】CentOS下升级Python和Pip版本全自动化py脚本
[Linux]CentOS下升级Python和Pip版本全自动化py脚本 CentOS7.6自带py2.7和py3.6 想要安装其它版本的话就要自己重新下载和编译py其它版本并且配置环境,主要是软链接 ...
- Centos7下部署两套python版本并存
Centos7下部署两套python版本并存 需求说明:centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的 ...
随机推荐
- Django运行访问项目出现的问题:Invalid HTTP_HOST header: '192.168.114.25:8001'. You may need to add u'192.168.114.25' to ALLOWED_HOSTS.
当运行python manage.py runserver 0.0.0.0:8001时候,出现Invalid HTTP_HOST header: '192.168.114.25:8001'. You ...
- cascade DecodeBBox层
https://zhuanlan.zhihu.com/p/36095768 我的推断,第二第三阶段应该不是把所有anchor进行bounding box regression,然后再选取当前条件下的所 ...
- python-文件基本操作(二)
在上一篇文章中,简单介绍了打开文件的方法以及关于读.写.追加的操作,点击此处查看. 在此篇文章中,继续介绍另外一种打开文件的方法和几种同时读写的模式. 一.打开文件方法:with 使用file()或o ...
- php 引用变量
什么是引用: 官方给的解释是:用不同的名字访问同一个变量内容. 1.普通的变量 运行之后内存空间变化是这样的: 2.引用变量 运行之后内存变化是这样的: 几乎没有什么变化. 3.使用unset 销毁的 ...
- MySql数据库表类型MYISAM与InnoDB的区别
InnoDB与Myisam的六大区别 MyISAM InnoDB 构成上的区别: 每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型. .frm ...
- SqlSugar之SqlQueryDynamic返回值处理
现在有个需求,有一张表每个月表名都会变的,但结构是一样的,我们不能再用类映射来完成的,我不能每个月都去手动添加,我们只能使用sql语句来完成这个需求.为了方便我这边选择的是SqlQueryDynami ...
- sql树形查询
sql: 使用Common As:递归公用表 https://docs.microsoft.com/en-us/sql/t-sql/queries/with-common-table-expressi ...
- C# 通过socket实现UDP 通信
UDP不属于面向连接的通信,在选择使用协议的时候,选择UDP必须要谨慎.在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重.但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小, ...
- 到底什么时候需要使用 final
final: final修饰属性,则该属性不可再次改变,而且在初始化中必须在属性或者是构造方法中其中且中有一个中初始化他 final修饰方法,则该方法不可被重写 final修饰类,则不可被继承 1:当 ...
- Python使用dict和set
dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也成为map,使用键-值(key-value)存储,具有极快的查找速度. 假设要根据同学的名字查找对应的 ...