热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux下Apache(httpd)安装、配置

Linux下Apache(httpd)安装、配置,Go语言社区,Golang程序员人脉社

注意:这里使用的是CentOS版,RedHat系都可以用。因为用到了yum

一、手动安装

也可以直接看下面2的yum在线安装


1. 准备

  1. 有些linux版本中已经预置了有Apache,并且已经是服务了,所有首先检查系统中是否已经存在httpd的服务

    # 1. 查看是否有httpd进程正在运行(下图是有的情况)
    ps -ef|grep httpd
    

    这里写图片描述

    # 2. 查看linux系统服务中有没有httpd(下图是有的情况)
    chkconfig --list
    

    这里写图片描述

  2. 如果有processor或者有service,就执行如下步骤,没有的话可以跳过此步

    1. 关闭httpd服务自启动

      chkconfig httpd off
      
    2. 停止httpd服务

      service httpd stop
      
      #停止后查看进程processor,如果依然有httpd,手动kill掉
      ps -ef|grep httpd
      
      kill -9 pid(逐个都删除)
      
    3. 卸载httpd软件

      #先检查安装包的名字
      rpm -qa|grep httpd
      

      这里写图片描述

      #根据名字删除包
      rpm -e httpd-tools-2.4...
      
    4. 删除httpd.conf文件

      #先检查文件在哪
      find / -name httpd.conf
      
      #查出之后根据路径把它删了
      rm /xxx/xxx/httpd.conf
      
  3. 软件下载

    1. Apache HTTP Server

    地址:http://httpd.apache.org/download.cgi#apache24

    2. APR 和 APR-Util

    地址:http://apr.apache.org/download.cgi

    3. PCRE

    地址:https://sourceforge.net/projects/pcre/files/pcre/

2. 安装

1. 如果没有安装gcc/gcc-c++的话必须安装

[root@localhost /]#gcc -v

gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) 
## 这个结果就是有gcc,那么就不需要看下面的安装gcc了

[root@localhost /]# yum list

##一种可能的搜索结果如下:有包但没安装
Avaliable Packages
gcc-c++.x86_64

如果结果中没有gcc-c++,或者只有”gcc-c++ Avaliable Packages”没有”gcc-c++ Installed”的话就说明需要安装,安装代码如下:

[root@localhost /]# yum install gcc-c++

2. 安装APR、APR-Util、PCRE、Apache Http Server

  1. 将这些都安装在/usr/local中,先mkdir目录如下:

    [root@localhost soft]# mkdir /usr/local/httpd
    [root@localhost soft]# mkdir /usr/local/apr
    [root@localhost soft]# mkdir /usr/local/apr-util
    [root@localhost soft]# mkdir /usr/local/pcre
  2. 然后步骤如下(直接顺序复制粘贴):

    [root@localhost soft]# tar -zxf apr-1.5.2.tar.gz
    [root@localhost soft]# tar -zxf apr-util-1.5.4.tar.gz
    [root@localhost soft]# tar -zxf pcre-8.38.tar.gz
    [root@localhost soft]# tar -zxf httpd-2.4.18.tar.gz
    
    [root@localhost soft]# cd apr-1.5.2
    [root@localhost apr-1.5.2]# ./configure --prefix=/usr/local/apr
    [root@localhost apr-1.5.2]# make
    [root@localhost apr-1.5.2]# make install
    
    [root@localhost apr-1.5.2]# cd ../apr-util-1.5.4
    [root@localhost apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
    [root@localhost apr-util-1.5.4]# make
    [root@localhost apr-util-1.5.4]# make install
    
    [root@localhost apr-util-1.5.4]# cd ../pcre-8.38
    [root@localhost pcre-8.38]# ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
    [root@localhost pcre-8.38]# make
    [root@localhost pcre-8.38]# make install
    
    [root@localhost pcre-8.38]# cd ../httpd-2.4.18
    [root@localhost httpd-2.4.18]# ./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
    [root@localhost httpd-2.4.18]# make
    [root@localhost httpd-2.4.18]# make install

二、yum安装

老简单了

 ## 先yum list看看有没有你可以的包
 yum list httpd

 ## 如果有的话,比如我用x86_64版,就可以安装
 yum install httpd.x86_64

三、配置、启动Apache
  1. httpd.conf是主配置文件,你可以按需更改,一般来说可能需要自定义端口,那么就vim修改httpd.conf文件的监听端口,改为你希望的
    这里写图片描述

  2. 启动、关闭、重启

    [root@localhost bin]# ./apachectl start
    [root@localhost bin]# ./apachectl stop
    [root@localhost bin]# ./apachectl restart

四、Apache设置为Linux系统服务,并开机启动
  1. 将链接apachectl 复制到系统启动目录下并命名为httpd

    [root@localhost bin]# cp /usr/local/httpd/bin/apachectl /etc/rc.d/init.d/httpd
    

    到此,其实已经可以使用service httpd start等命令,但在linux服务列表还没有注册

  2. 使用chkconfig来注册apache服务,并其可以在linux的服务列表中看到(chkconfig –list)

    1. 在init.d的httpd链接文件中第2行添加如下注释,并wq保存退出

      [root@localhost bin]#  vim /etc/rc.d/init.d/httpd

      这里写图片描述

      意义如下
      35:在3级别和5级别(级别见文末TIPS)启动httpd
      61:启动顺序为61号,S61
      61:关闭顺序为61号,K61
      当进行chkconfig --add httpd操作时,如果没有指定level那么就会来这个注释中取值
      
    2. 将httpd配置自启并加入linux服务监控

      [root@localhost bin]# chkconfig --add httpd
      

      此时,就可以在rc.d下的相应的3和5目录下看到S61httpd,并在0、1、2、4、6目录看到K61httpd了

  3. 这是2步的手动设置方式,不想看可以跳过。可以手动设置自启动:将链接apachectl放一份软链接到rc3.d目录下(和/或rc*.d目录下)

    [root@localhost bin]# ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd
    

    这样,已经设置了在“有网络多用户命令行模式下”在61顺序自动启动httpd服务了



TIPS:

1. chkconfig有0-6总共7个等级:

0:表示关机
1:单用户模式
2:无网络连接的多用户命令行模式
3:有网络连接的多用户命令行模式
4:不可用
5:带图形界面的多用户模式
6:重新启动


推荐阅读
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 1Lock与ReadWriteLock1.1LockpublicinterfaceLock{voidlock();voidlockInterruptibl ... [详细]
  • ps:写的第一个,不足之处,欢迎拍砖---只是想用自己的方法一步步去实现一些框架看似高大上的小功能(比如说模型中的toArraytoJsonsetAtt ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文讨论了在使用PHP cURL发送POST请求时,请求体在node.js中没有定义的问题。作者尝试了多种解决方案,但仍然无法解决该问题。同时提供了当前PHP代码示例。 ... [详细]
  • springboot启动不了_Spring Boot + MyBatis 多模块搭建教程
    作者:枫本非凡来源:www.cnblogs.comorzlinp9717399.html一、前言1、创建父工程最近公司项目准备开始重构,框 ... [详细]
  • Oracle另一台电脑访问的问题
    参考:https:www.cnblogs.comsand-tinyp3797087.html首先,两台电脑需要在同一个网络,然后安装Oracle的电脑上找到listener.ora ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
author-avatar
惜洛妍_311
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有