环境准备:

系统:CentOS 7.4

软件:httpd-2.4.29

一  Apache主要特点

apache服务器在功能,性能和安全性等方面表现比较突出,可以较好地满足web服务器地应用需求。主要特点如下:

  • 开放源代码
  • 跨平台应用:支持unix,linux,windows;
  • 支持多种web编程语言:perl,php,python,java等
  • 模块化设计:Apache没有将所有的功能集中在单一服务器内部,而是尽可能地通过标准地模块来实现专有地功能,良好地扩展性。
  • 运行非常稳定;
  • 良好地安全性。

二 安装httpd服务器

1.软件准备

httpd-2.4版本后需要两个插件

apr-1.6.2.tar.gz
 apr-util-1.6.0.tar.gz
 httpd-2.4.28.tar.gz

2.解包

tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.28.tar.gz
mv apr-1.6.2 httpd-2.4.28/srclib/apr
mv apr-util-1.6.0 httpd-2.4.28/srclib/apr-util

3.安装编译工具

yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl

4.配置手动编译

cd httpd-2.4.28 

./configure \
--prefix=/usr/local/httpd \           //安装目录
--enable-so \                             //启用动态加载模块
--enable-rewrite \                      //启用网页地址重写功能
--enable-charset-lite \               //启用字符集支持
--enable-cgi                              //启用CGI脚本程序支持

5.编译及安装

make && make install

6.确认安装结果

ls /usr/local/httpd

  • /usrl/local/httpd/bin: 存放httpd服务的各种执行程序文件,包括httpd,apachectl等;
  • /usrl/local/httpd/conf: 存放配置文件,主配置文件httpd.conf,增强配置子目录extra等;
  • /usrl/local/httpd/htdocs: 存放网页文件,包括默认首页文件index.html等;
  • /usrl/local/httpd/logs: 存放httpd服务的日志文件;
  • /usrl/local/httpd/modules:存放httpd服务的各种模块支持;
  • /usrl/local/httpd/cgi-bin:存放各种CGI程序文件;

7.优化执行路径

手动编译安装的httpd服务,程序路径不在默认的搜索路径中,为了使用时更加方便,可以为相关程序添加符号链接。

ln -s /usr/local/httpd/bin/* /usr/local/bin/

执行httpd -v 验证

8.添加httpd系统服务

cp  /usr/local/httpd/bin/apachectl  /etc/init.d/httpd

vi /etc/init.d/httpd

# chkconfig: 35 85 21                     //3,5级别自动运行 第85个启动 第21个关闭
   # description: Apache is a World Wide Web server

将httpd加入到SERVICE管理器,

chkconfig --add httpd

查看httpd服务自启状态

chkconfig --list httpd

三  基本配置

1.配置httpd服务

编辑httpd服务的主配置文件httpd.conf,查找'Server Name',在附近添加“Server Name www.test.com“,用于设置网站名称。

httpd -t       检查配置文件语法是否有错误

systemctl start httpd        //启动服务

netstat -anpt | grep httpd     //检查80端口是否启动

2.编辑网页

默认测试网页时index.html,在htdocs文件里

3.客户端在浏览器中输入httpd服务器ip地址,就可以访问网络,如果显示"It works!"表示httpd服务已经正常运行。

4.查看web站点的访问情况

access_log:访问日志,每一行对应一条访问记录,记录客户机的IP地址,访问服务器的日期时间等;

error_log:错误日志,每一行对应一条错误记录,记录发生错误的日期时间,错误事件类型和内容描述等;

5.httpd.conf配置文件介绍

全局配置项:

  • ServerRoot:设置httpd服务器的根目录,该目录包含运行web站点必须的子目录和文件;
  • Listen:监听的网络端口号,默认为80;
  • User: 设置运行httpd进程的用户身份,默认为daemon;
  • Group: 设置运行httpd进程的组身份,默认为daemon;
  • ServerAdmin:管理员邮箱
  • ServerName:设置web站点完整主机名(主机名+域名);
  • DocumentRoot:设置网站根目录,就是网页文档在系统中实际存放的路径;
  • DirectoryIndex:设置网站的默认索引页,可以设置多个网页,以空格分开;
  • ErrorLog:错误日志;
  • CustomLog:设置访问日志的路径,日志类型,默认路径为logs/access_log,使用类型为common;
  • Include:包含子配置文件的内容。

区域配置项:

区域配置使用一对组合标记,限定了配置项的作用范围,如下:

web服务器学习1---httpd-2.4.29源码手动编译安装的更多相关文章

  1. linux服务器上,yum、rpm、源码编译安装及卸载

    源码的编译安装及卸载 源码安装三部曲 1.生成makefile编译文件./configure 一般安装包下面都有一个configure文件,用来生成makefile编译文件常用的参数: --prefi ...

  2. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  3. 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试

    机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...

  4. 深度学习(七十一)darknet 源码阅读

    深度学习(七十一)darknet 源码阅读

  5. JDK1.8源码分析01之学习建议(可以延伸其他源码学习)

    序言:目前有个计划就是准备看一下源码,来提升自己的技术实力.同时现在好多面试官都喜欢问源码,问你是否读过JDK源码等等? 针对如何阅读源码,也请教了我的老师.下面就先来看看老师的回答,也许会有帮助呢. ...

  6. Android FrameWork学习(二)Android系统源码调试

    通过上一篇 Android FrameWork学习(一)Android 7.0系统源码下载\编译 我们了解了如何进行系统源码的下载和编译工作. 为了更进一步地学习跟研究 Android 系统源码,今天 ...

  7. Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)

    Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...

  8. Java并发包源码学习系列:线程池ScheduledThreadPoolExecutor源码解析

    目录 ScheduledThreadPoolExecutor概述 类图结构 ScheduledExecutorService ScheduledFutureTask FutureTask schedu ...

  9. Netty 学习(十):ChannelPipeline源码说明

    Netty 学习(十):ChannelPipeline源码说明 作者: Grey 原文地址: 博客园:Netty 学习(十):ChannelPipeline源码说明 CSDN:Netty 学习(十): ...

随机推荐

  1. 芝麻HTTP:代理的基本原理

    我们在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么美好,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden,这时候打开网页一看,可能会看到&qu ...

  2. openfec的学习笔记

    openfec实现了多种纠删码的算法实现,就包括Reed-Solomon算法.其基本使用流程为:输入n个原始包的分组后,计算生成k个额外的冗余包,后续将这n+k包送到接收端,若发生原始包丢包,但只要总 ...

  3. JAVA几种缓存技术介绍说明

    OSCache OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案. OSCache有以下特点: 我创建了一个群,群里不定期分享技术 ...

  4. 洛谷P3402 【模板】可持久化并查集(可持久化线段树,线段树)

    orz TPLY 巨佬,题解讲的挺好的. 这里重点梳理一下思路,做一个小小的补充吧. 写可持久化线段树,叶子节点维护每个位置的fa,利用每次只更新一个节点的特性,每次插入\(logN\)个节点,这一部 ...

  5. mysql5.6版本备份报错

    MySQL5.6版本备份报错,密码不安全 [root@centos199 mysql]# mysqldump -uroot -ppassword cz-office > mysql38.sqlW ...

  6. The program 'yum' is currently not installed. You can install it by typing:

    执行:(可以直接写成sudo su,就直接转成root了) sudo apt-get updateapt-get install lrzsz 出现:The program 'yum' is curre ...

  7. Windows下GO的开发环境配置

    本文主要内容如下几点: 下载安装GO 配置多个工作区,第一个默认放第三方包,其他的放项目代码 包管理器godep的安装使用 安装过程中的一些坑(墙) vscode中使用go 1. 下载并安装go 官网 ...

  8. Open Live Writer

    最近突然发现我的CSDN博客里面的很多内容都被删除了,虽然我没有用CSDN写博了,不过还是想到可能我现在用的博客园写博,如果有些内容敏感的话会不会也会被删除文章或者关掉我的博客.心里满是担心,于是想说 ...

  9. 快速创建 HTML5 Canvas 电信网络拓扑图

    前言 属性列表想必大家都不会陌生,正常用 HTML5 来做的属性列表大概就是用下拉菜单之类的,而且很多情况下,下拉列表还不够好看,怎么办?我试着用 HT for Web 来实现属性栏点击按钮弹出多功能 ...

  10. SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法

    由于项目需要使用SpringCache来做一点缓存,但自己之前没有使用过(其实是没有听过)SpringCache,于是,必须先学习之. 在网上找到一篇文章,比较好,就先学习了,地址是: https:/ ...