jjzjj

CentOS 7 保姆级图文详细安装部署Apache教程

Stars.Sky 2024-03-30 原文

目录

前言

一、HTTP协议介绍

二、安装依赖

三、安装apr

四、APR-util安装

五、apr-iconv安装

六、Apache安装

七、启动和测试Apache


前言

上图参考白树明老师!

一、HTTP 协议介绍

  • HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。
  • http 协议是一个 TCP 协议,采用 B/S(browser/server)模型,用来传递数据(HTML 文件,图片文件,查询结果等)

二、安装依赖

yum install -y pcre-devel libxml2 expat-devel gcc*

三、安装 apr

        APR(Apache portable Run-time libraries,Apache 可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的 Apache 版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。

3.1 离线下载 Apr 安装包(方式一,可用上面国内阿里源的下载地址速度快)

进入到 Apache Distribution Directory

选择需要安装的 apr 版本(tar.bz2 和 tar.gz 类型的都可以,只下载一个就行):

 再把下载好的包上传到服务器即可。

3.2 在线下载安装 Apr(方式二)

        如果在线下载 wget 报 404 可能是下载的版本不存在,更换已存在的版本号即可(后续下载的组件同理):

yum -y install wget     # 最小化安装需要现状 wget

# 在线下载
wget https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2

yum -y install bzip2    # 用于最小化安装
tar xf apr-1.7.0.tar.bz2

cd apr-1.7.0

./configure --prefix=/usr/local/apr

make

make install

        如果出现如下报错:连接到 www.apache.org 不安全,使用“不检查证书”加入 no-check-certificate 即可成功安装:

wget --no-check-certificate https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2

四、APR-util 安装

        apr-util 该目录中也是包含了一些常用的开发组件。这些组件与 apr 目录下的相比,它们与apache的关系更加密切一些。比如存储段和存储段组,加密等等。

Apr-util 下载地址:Index of /apr (apache.org)

[root@CentOS01 ~]# wget --no-check-certificate https://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2

[root@CentOS01 ~]# tar xf apr-util-1.6.1.tar.bz2

[root@CentOS01 ~]# cd apr-util-1.6.1

[root@CentOS01 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

[root@CentOS01 apr-util-1.6.1]# make

[root@CentOS01 apr-util-1.6.1]# make install

成功安装 apr 和 APR-util:

五、apr-iconv 安装

        apr-iconv 包中的文件主要用于实现 iconv 编码。目前的大部分编码转换过程都是与本地编码相关的。在进行转换之前必须能够正确地设置本地编码。因此假如两个非本地编码 A 和 B 需要转换,则转换过程大致为 A->Local 以及 Local->B 或者 B->Local 以及 Local->A。

apr-iconv 下载地址:Index of /apr (apache.org) 

[root@CentOS01 ~]# wget --no-check-certificate https://www.apache.org/dist/apr/apr-iconv-1.2.2.tar.bz2

[root@CentOS01 ~]# tar xf apr-iconv-1.2.2.tar.bz2

[root@CentOS01 ~]# cd apr-iconv-1.2.2

[root@CentOS01 apr-iconv-1.2.2]# ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr

[root@CentOS01 apr-iconv-1.2.2]# make

[root@CentOS01 apr-iconv-1.2.2]# make install

apr-iconv 安装成功:

六、Apache 安装

Apache 下载地址:Index of /httpd (apache.org)

root@CentOS01 ~]# wget --no-check-certificate https://www.apache.org/dist/httpd/httpd-2.4.53.tar.gz

[root@CentOS01 ~]# tar xf httpd-2.4.53.tar.gz

[root@CentOS01 ~]# cd httpd-2.4.53

[root@CentOS01 httpd-2.4.53]# yum -y install zlib-devel

[root@CentOS01 httpd-2.4.53]# ./configure --prefix=/usr/local/apache --enable-mpms-shared=all --with-mpm=event --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-remoteip --enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support --enable-static-ab --disable-userdir --enable-nonportable-atomics --disable-ipv6 --with-sendfile

[root@zutuanxue httpd-2.4.53]# make

[root@zutuanxue httpd-2.4.53]# make install
--prefix=/usr/local/apache     指定安装目录
--enable-mpms-shared=all --with-mpm=event    开启动态MPM切换        
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  指定依赖包apr apr-util安装路径
--enable-so      打开 so 模块,so 模块是用来提 dso 支持的 apache 核心模块
--enable-remoteip     支持基于客户端IP做访问控制                        
--enable-proxy --enable-proxy-fcgi --enable-proxy-uwsgi    启用代理支持PHP Python网站
--enable-deflate=shared                         开启压缩
--enable-expires=shared                         开启客户端缓存
--enable-rewrite=shared                         开启URL重写
--enable-cache --enable-file-cache --enable-mem-cache --enable-disk-cache 开启服务器缓存    
--enable-static-support                        支持静态连接
--enable-static-ab          使用静态连接编译 ab - apache http 服务器性能测试工具
--disable-userdir              禁用用户主目录提供页面访问
--enable-nonportable-atomics   对新式CPU支持,支持原子的比较交换(compare-and -swap, CAS)操作指令
--disable-ipv6               禁用IPV6
--with-sendfile              开启sendfile 0复制机制

        如果出现下面报错,极大概率是 2.4.39 的版本在页面找不到了,应该去官网找到对应的版本号即可。

        在执行 ./configure 如果出现下面安装错误,是缺少 zlib-devel 依赖包。然后使用 make clean 清除前面的安装内容、源码,再重新安装。

Apache 安装成功:

七、启动和测试 Apache

[root@CentOS01 ~]# getenforce 
#使用getenforce命令可以显示当前SELinux的应用模式,是强制、允许还是停用。
Permissive是允许
Enforcing是强制

[root@CentOS01 ~]# systemctl status firewalld
#查看防火墙状态

[root@CentOS01 ~]# systemctl disable firewalld
[root@CentOS01 ~]# systemctl stop firewalld
[root@CentOS01 ~]# systemctl status firewalld
#关闭防火墙

[root@CentOS01 ~]# setenforce 0
#setenforce命令是用来开启和关闭SELinux的 0是关闭,1是开启

也可永久关闭 selinux:

vim /etc/selinux/config

需要重启虚机生效!

 测试:提示设置“ServerName”域名,这个不影响操作,后面会提到。

[root@CentOS01 bin]# ./apachectl -t
#可以通过执行 apachectl 或者 httpd 启动 apache

 启动 Apache:

[root@CentOS01 ~]# /usr/local/apache/bin/httpd #在根目录启动
[root@CentOS01 bin]# ./apachectl
#启动Apache

[root@CentOS01 bin]# netstat -ntpl
#netstat命令来自于英文词组”network statistics“的缩写,其功能是用于显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等等。

浏览器测试结果:

 Linux 文本测试结果:

[root@CentOS01 ~]# yum -y install elinks
#安装依赖

[root@CentOS01 ~]# elinks http://192.168.9.129 -dump
#elinks命令能实现一个纯文本界面的WWW浏览器
#-dump	将HTML文档以纯文本的方式打印到标准输出设备

 Apache 安装完毕,大功告成!!!

上面提到的 ServerName 问题:

[root@CentOS01 ~]# cd /usr/local/apache/conf/

[root@CentOS01 conf]# vim httpd.conf 
#进入文本界面直接输入“/ServerName”可以全局搜索关键字

添加下面字段: 

重新启动 Apache,没有提示报错。

参考链接:部署Apache服务器-组团学

进行优化和改错!

有关CentOS 7 保姆级图文详细安装部署Apache教程的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  6. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  7. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  8. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  9. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  10. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

随机推荐