CentOS6中http服务搭建以及部分配置(1)

前端之家收集整理的这篇文章主要介绍了CentOS6中http服务搭建以及部分配置(1)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

开心,博主收获到了第一个评论,谢谢懒小米的认真阅读,以后会继续努力

近日博主学习了有关http服务的搭建,此次来介绍http服务的搭建以及部分相关配置

实验环境:CentOS6

CentOS6中默认http版本为2.2

http服务的安装以及启动什么的

[root@centos6~]#rpm-ivh/misc/cd/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm##rpm安装方式:从光盘中安装,确保了http的稳定性
warning:/misc/cd/Packages/httpd-2.2.15-59.el6.centos.x86_64.rpm:HeaderV3RSA/SHA1Signature,keyIDc105b9de:NOKEY
Preparing...###########################################[100%]
1:httpd###########################################[100%]
[root@centos6~]####成功安装

安装后生成文件

[root@centos6~]#ls/etc/rc.d/init.d/httpd#服务脚本文件,启动服务就是启动它
/etc/rc.d/init.d/httpd
[root@centos6~]#ls/etc/sysconfig/httpd#服务脚本文件配置文件,可以修改http服务的工作模式
/etc/sysconfig/httpd
[root@centos6~]#ls/etc/httpd/conf/httpd.conf#服务的主配置文件,可以进行服务配置,一般不在主配置文件进行修改
/etc/httpd/conf/httpd.conf
[root@centos6~]#ls/etc/httpd/conf.d/*.conf#服务的子配置文件,通常在这里来进行服务的配置,不修改配置文件,便于修改以及排错,注意!!!必须是以.conf结尾才为配置文件
/etc/httpd/conf.d/welcome.conf
[root@centos6~]#ls/var/www/html/#站点网页页面的根目录,默认的客户端访问站点目录
a.jpghttp_group_fileimage.htmlsecret
bbshttp_user_passwd_fileindex.html
[root@centos6~]#ls/etc/httpd/modules/#服务模块文件,实际上是/usr/lib64/httpd/modules的一个软连接,可以ll命令查看:ll/etc/httpd/
mod_actions.somod_cgi.somod_mime.so
...........
mod_cgid.somod_mime_magic.so
[root@centos6~]#ls/etc/httpd/logs/服务日志文件,实际上是/var/log/httpd的一个软连接,可以ll命令查看:ll/etc/httpd/
access_log#访问日志error_log#错误日志

http服务的控制和启动:

[root@centos6~]#chkconfighttpdon/off#on:http服务开机启动,off:http服务开机不启动
[root@centos6~]#servicehttpd{start/stop/restart/status/configtest/reload}
#http服务的控制:start:启动服务,restart:重启服务,stop:停止服务,status:服务状态,configtest:配置语法检查,reload:重载配置文件,服务不用重启

简单小栗子保你大彻大悟:

[root@centos6~]#servicehttpdstart#开启服务
Startinghttpd:httpd:apr_sockaddr_info_get()Failedforcentos6.9magedu.com
httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.0.1forServerName
[OK]#OK代表成功开启

接下来你就可以去用浏览器(推荐使用火狐浏览器)去查看站点网页:地址栏输入你虚拟机本机IP即可访问,默认如图界面,是由子配置文件/etc/httpd/conf.d/welcome.conf决定的

9a3382c89820baf9415cfdfdf102fe59.jpg-wh_

我们进入站点页面根目录做点事情:

[root@centos6~]#cd/var/www/html/#进入根目录
[root@centos6html]#vimindex.html#编辑一个名为index.html文件内容如下:
<h1>centos6<h1>
<h2>centos6<h2>
<h3>centos6<h3>

刷新浏览器页面,是不是很熟悉那个界面呢(http服务支持html格式文件),懂了什么是http服务了吧,哈哈哈

好了,老鼠拉木锨――大头在后面,安装很简单,主要还是配置滴

http服务常用配置

既然介绍配置,首先我们来了解下主配置文件的组成以及配置格式:

在主配置文件中,分为三类配置:

### Section 1: Global Environment:全局环境的配置

### Section 2: 'Main' server configuration:主服务的配置

### Section 3: Virtual Hosts:虚拟主机相关的配置

配置格式:directive value

directive:指令,不区分大小写

value:值,可以理解为某指令的参数

(1)修改显示的服务器版本信息的格式

[root@centos6conf.d]#vim/etc/httpd/conf/httpd.conf#编辑主配置文件
.......
ServerTokensOS#负责显示的服务器版本信息的格式,建议改为ServerTokensProd较为安全
.......
Includeconf.d/*.conf#解释了子配置文件的存在,子配置文件在此处生效
.......
[root@centos6conf.d]#servicehttpdreload#重载配置文件
Reloadinghttpd:

附图:来自官方的格式解释以及示例

7c7d423d527335032d8f914659ce784f.jpg-wh_

那么如何查看服务器版本信息呢?

法1:可以开启一台虚拟机充当客户客户端,利用命令curl

[root@centos7~]#curl-I192.168.136.131#选项-I,显示响应报文首部信息
HTTP/1.1200OK
Date:Sat,21Oct201706:08:47GMT
Server:Apache/2.2.15(CentOS)#服务器版本信息
Last-Modified:Sat,21Oct201702:56:51GMT
ETag:"60429-30-55c05bdb9fa40"
Accept-Ranges:bytes
Content-Length:48
Connection:close
Content-Type:text/html;charset=UTF-8#显示字符集,我们也可以修改字符集,后文会介绍

法2:通过浏览器工具查看:

2de82c5c8b274b1d7be9d024f8cf567f.jpg-wh_

(2)修改监听的IP和port

[root@centos6conf.d]#vim/etc/httpd/conf/httpd.conf#编辑主配置文件
.......
#Listen12.34.56.78:80
Listen80#不写IP,默认监听本机所有IP的端口,可以修改为Listen192.168.136.131:8000指定IP以及端口,可以小小实现访问控制
.......
[root@centos6conf.d]#servicehttpdreload#重载配置文件
Reloadinghttpd:

利用客户端或者浏览器测试:

[root@centos7~]#curl192.168.136.131#默认80端口
curl:(56)Recvfailure:Connectionresetbypeer
[root@centos7~]#curl192.168.136.131:8000#指定8000端口
<h1>centos6<h1>
<h2>centos6<h2>
<h3>centos6<h3>

42934ccaba0a4df5ad3026bef647312e.jpg-wh_

(3)定义站点页面根路径:

[root@centos6conf.d]#mkdir/app/site#创建新的根目录
[root@centos6conf.d]#mv/var/www/html/index.html/app/site/#准备页面文件
[root@centos6conf.d]#vim/etc/httpd/conf/httpd.conf#编辑主配置文件
.......
DocumentRoot"/var/www/html"#默认根路径,可以修改为DocumentRoot"/app/site"修改根路径,访问时找寻此路径.
.......

(4)定义站点页面

[root@centos6conf.d]#vim/etc/httpd/conf/httpd.conf#编辑主配置文件
.......
#samepurpose,butitismuchslower.
#
DirectoryIndexindex.htmlindex.html.var#默认访问站点时访问的主页面,可以修改为DirectoryIndexindex.txtindex.html.var等
.......

(5)设定默认字符集

[root@centos6conf.d]#vim/etc/httpd/conf/httpd.conf#编辑主配置文件
.......
AddDefaultCharsetUTF-8#默认UTF-8字符集,可以修改字符集
.......

(6)定义路径别名

[root@centos6~]#vim/etc/httpd/conf.d/mozart.conf#创建子配置文件,以.conf结尾
alias"/bbs/""/app/site/bbs/"#定义别名,格式为:alias"URL""/PATH/"注意!!!URL为默认根目录下的子目录,等同于路径/var/www/html/bbs/但不可写为路径,PATH为路径
[root@centos6conf.d]#mkdir/var/www/html/bbs/
[root@centos6conf.d]#echo/var/www/html/bbs>/var/www/html/bbs/index.html
[root@centos6conf.d]#mkdir/app/site/bbs
[root@centos6conf.d]#echo/app/site/index.html>/app/site/bbs/index.html
[root@centos6conf.d]#servicehttpdreload#重载配置文件
Reloadinghttpd:

(7)持久连接Persistent Connection:连接建立,每个资源获取完成后不会断开连接,而是继续等待其它的请求完成,默认关闭持久连接

[root@centos6conf.d]#vim/etc/httpd/conf/httpd.conf#编辑主配置文件
.......
KeepAliveOff#默认关闭持久连接,可以修改为on,开启持久连接
.......
MaxKeepAliveRequests100#持久连接的最大连接资源数,连接数到一定值时断开连接
.......
KeepAliveTimeout15#持久连接的最大持久时间,默认单位为秒

持久连接的测试方法:在客户端模拟连接

[root@centos7~]#telnet192.168.136.13180
Trying192.168.136.131...
Connectedto192.168.136.131.
Escapecharacteris'^]'.
GET/index.htmlHTTP/1.1#模拟连接
HOST:192.168.136.131#Web服务器

HTTP/1.1200OK#回复的响应报文
Date:Sat,21Oct201707:47:53GMT
Server:Apache/2.2.15(CentOS)
Last-Modified:Sat,21Oct201707:23:35GMT
ETag:"60429-30-55c0977a92555"
Accept-Ranges:bytes
Content-Length:48
Connection:close
Content-Type:text/html;charset=UTF-8

<h1>centos6<h1>
<h2>centos6<h2>
<h3>centos6<h3>
Connectionclosedbyforeignhost
##此处不会断开。继续等待其他请求,直到时间到或者资源数到才断开连接

(8)日志设定

日志分为:访问日志和错误日志

错误日志:

[root@centos6conf.d]#vim/etc/httpd/conf/httpd.conf#编辑主配置文件
.......
ErrorLoglogs/error_log#错误日志路径,可以修改默认路径

#
#LogLevel:Controlthenumberofmessagesloggedtotheerror_log.
#Possiblevaluesinclude:debug,info,notice,warn,error,crit,#alert,emerg.
#
LogLevelwarn#错误日志的级别,默认为warn
.......

附图:来自官网日志级别

74ae4ab845c7c4bb3ac96bcc4c1efda3.jpg-wh_

emerg 紧急 - 系统无法使用。 "Child cannot open lock file. Exiting"

alert 必须立即采取措施。 "getpwuid: couldn't determine user name from uid"

crit 致命情况。 "socket: Failed to get a socket,exiting child"

error 错误情况。 "Premature end of script headers"

warn 警告情况。 "child process 1234 did not exit,sending another SIGHUP"

notice 一般重要情况。 "httpd: caught SIGBUS,attempting to dump core in ..."

info 普通信息。 "Server seems busy,(you may need to increase StartServers,or Min/MaxSpareServers)..."

debug 出错级别信息 "opening config file ..."

定义日志格式:

[root@centos6conf.d]#vim/etc/httpd/conf/httpd.conf#编辑主配置文件
.......
LogFormat"%h%l%u%t\"%r\"%>s%b\"%{Referer}i\"\"%{User-Agent}i\""combined#定义日志格式,常用定义:LogFormat"%h%l%u%t\"%r\"%>s%b\"%{Referer}i\"\"%{User-Agent}i\""combined
.......
CustomLoglogs/access_logcombined#日志格式的使用
.......

具体参数定义:

%h客户端IP地址
%l远程用户,启用mod_ident才有效,通常为减号“-””
%u验证(basic,digest)远程用户,非登录访问时,为一个减号“-””
%t服务器收到请求时的时间
%rFirstlineofrequest,即表示请求报文的首行;记录了此次请求的“方法”,“URL”以及协议版本
%>s响应状态码
%b响应报文的大小,单位是字节;不包括响应报文http首部
%{Referer}i请求报文中首部“referer”的值;即从哪个页面中的超链接跳转当前页面的
%{User-Agent}i请求报文中首部“User-Agent”的值;即发出请求的应用程序

以上步骤均已实验成功,(可累死了我了),好了,部分配置先介绍到此,下次再介绍几个重要的配置

对了!差点忘记了检查配置语法命令:

[root@centos6~]#httpd-t#常用命令,CentOS7上http2.4版本同样适用
httpd:apr_sockaddr_info_get()Failedforcentos6.9magedu.com
httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.0.1forServerName
SyntaxOK#OK,配置语法正确
[root@centos6~]#servicehttpdconfigtest#适用于CentOS6上的配置语法检查命令
httpd:apr_sockaddr_info_get()Failedforcentos6.9magedu.com
httpd:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.0.1forServerName
SyntaxOK#OK,配置语法正确

猜你在找的CentOS相关文章