web服务器学习1---httpd-2.4.29源码手动编译安装
环境准备:
系统: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源码手动编译安装的更多相关文章
- linux服务器上,yum、rpm、源码编译安装及卸载
源码的编译安装及卸载 源码安装三部曲 1.生成makefile编译文件./configure 一般安装包下面都有一个configure文件,用来生成makefile编译文件常用的参数: --prefi ...
- LNAMP服务器环境搭建(手动编译安装)
LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...
- 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试
机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...
- 深度学习(七十一)darknet 源码阅读
深度学习(七十一)darknet 源码阅读
- JDK1.8源码分析01之学习建议(可以延伸其他源码学习)
序言:目前有个计划就是准备看一下源码,来提升自己的技术实力.同时现在好多面试官都喜欢问源码,问你是否读过JDK源码等等? 针对如何阅读源码,也请教了我的老师.下面就先来看看老师的回答,也许会有帮助呢. ...
- Android FrameWork学习(二)Android系统源码调试
通过上一篇 Android FrameWork学习(一)Android 7.0系统源码下载\编译 我们了解了如何进行系统源码的下载和编译工作. 为了更进一步地学习跟研究 Android 系统源码,今天 ...
- Spring Cloud 学习 之 Spring Cloud Eureka(源码分析)
Spring Cloud 学习 之 Spring Cloud Eureka(源码分析) Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 ...
- Java并发包源码学习系列:线程池ScheduledThreadPoolExecutor源码解析
目录 ScheduledThreadPoolExecutor概述 类图结构 ScheduledExecutorService ScheduledFutureTask FutureTask schedu ...
- Netty 学习(十):ChannelPipeline源码说明
Netty 学习(十):ChannelPipeline源码说明 作者: Grey 原文地址: 博客园:Netty 学习(十):ChannelPipeline源码说明 CSDN:Netty 学习(十): ...
随机推荐
- java实现全排列问题
1.问题描述: 一组字符串的全排列,按照全排列的顺序输出,并且每行结尾无空格. 2.输入: 输入一个字符串 3.输入示例: 请输入全排列的字符串: abc 4.输出示例: a b c a c b b ...
- 【BZOJ3531】旅行(树链剖分,线段树)
[BZOJ3531]旅行(树链剖分,线段树) 题面 Description S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足 从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教 ...
- 【CJOJ2440】大话西游(树链剖分)
题面 Description "大话西游" 是一个在中国非常流行的在线游戏, 由 NIE 公司开发和维护. 这个游戏来源于著名的小说<西游记> 和周星弛的电影, 游戏的 ...
- HDU1166敌兵布阵(线段树,树状数组)
题面 C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了.A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况 ...
- css实现文本缩略显示
转载自http://blog.csdn.net/mushui0633/article/details/65685655 单行: 对应的css中加入 overflow:hidden;//超出一行文字自动 ...
- C# 委托Delegate的使用 笔记
使用delegate总是一头雾水,记录一下笔记,备忘. 主要用于线程间操作UI上的控件,以便使用.或者是大家统一操作入口使用. using System.Windows.Forms; namespac ...
- sql性能优化之多表联查
先贴上我优化后的核心代码: select * into #result from ( select p.AchivementCount,isnull(a.ByAttentionCount,0) ByA ...
- linux下线程的两种封装方式
在网络编程的时候往往需要对Linux下原生的pthread库中的函数进行封装,使其使用起来更加方便,封装方法一般有两种:面向对象和基于对象,下面将分别介绍这两种方式,最后统一分析这两种方式的优缺点: ...
- linux里所有命令都不存在
打开/etc/profile ,看这个配置文件里的PATH变量,遍历这个变量里配置的多个路径,查看命令是否存在. 主要是这四个:/bin ,/usr/bin,/sbin,/usr/sbin. PATH ...
- ajax+struts2 实现省份-城市-地区三级联动
1.需求分析 2.js部分(通过ajax异步请求实现) 省份-->城市联动 城市-->地区 3.struts部分 struts.xml action部分 4.service部分 5.总结 ...