CentOS6中http服务搭建以及部分配置(1)
2021-05-19 04:29
标签:服务 http centos6 开心,博主收获到了第一个评论,谢谢懒小米的认真阅读,以后会继续努力 近日博主学习了有关http服务的搭建,此次来介绍http服务的搭建以及部分相关配置 实验环境:CentOS6 CentOS6中默认http版本为2.2 http服务的安装以及启动什么的 安装后生成的文件: http服务的控制和启动: 简单小栗子保你大彻大悟: 接下来你就可以去用浏览器(推荐使用火狐浏览器)去查看站点网页:地址栏输入你虚拟机本机IP即可访问,默认如图界面,是由子配置文件/etc/httpd/conf.d/welcome.conf决定的 我们进入站点页面根目录做点事情: 刷新浏览器页面,是不是很熟悉那个界面呢(http服务支持html格式文件),懂了什么是http服务了吧,哈哈哈 好了,老鼠拉木锨——大头在后面,安装很简单,主要还是配置滴 http服务常用配置 既然介绍配置,首先我们来了解下主配置文件的组成以及配置格式: 在主配置文件中,分为三类配置: ### Section 1: Global Environment:全局环境的配置 ### Section 2: ‘Main‘ server configuration:主服务的配置 ### Section 3: Virtual Hosts:虚拟主机相关的配置 配置格式:directive value directive:指令,不区分大小写 value:值,可以理解为某指令的参数 (1)修改显示的服务器版本信息的格式 附图:来自官方的格式解释以及示例 那么如何查看服务器版本信息呢? 法1:可以开启一台虚拟机充当客户客户端,利用命令curl 法2:通过浏览器工具查看: (2)修改监听的IP和port 利用客户端或者浏览器测试: (3)定义站点页面根路径: (4)定义站点主页面: (5)设定默认字符集 (6)定义路径别名 (7)持久连接 Persistent
Connection:连接建立,每个资源获取完成后不会断开连接,而是继续等待其它的请求完成,默认关闭持久连接 持久连接的测试方法:在客户端模拟连接 (8)日志设定 日志分为:访问日志和错误日志 错误日志: 附图:来自官网日志级别 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 ..." 定义日志格式: 具体参数定义: 以上步骤均已实验成功,(可累死了我了),好了,部分配置先介绍到此,下次再介绍几个重要的配置 对了!差点忘记了检查配置语法命令: 本文出自 “Mozart” 博客,请务必保留此出处http://mozart.blog.51cto.com/13286673/1975317 CentOS6中http服务搭建以及部分配置(1) 标签:服务 http centos6 原文地址:http://mozart.blog.51cto.com/13286673/1975317[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: Header V3 RSA/SHA1 Signature, key ID c105b9de: 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.jpg http_group_file image.html secret
bbs http_user_passwd_file index.html
[root@centos6 ~]# ls /etc/httpd/modules/ #服务模块文件,实际上是/usr/lib64/httpd/modules的一个软连接,可以ll命令查看:ll /etc/httpd/
mod_actions.so mod_cgi.so mod_mime.so
...........
mod_cgid.so mod_mime_magic.so
[root@centos6 ~]# ls /etc/httpd/logs/ 服务日志文件,实际上是/var/log/httpd的一个软连接,可以ll命令查看:ll /etc/httpd/
access_log #访问日志 error_log #错误日志
[root@centos6 ~]# chkconfig httpd on/off #on:http服务开机启动,off:http服务开机不启动
[root@centos6 ~]# service httpd {start/stop/restart/status/configtest/reload}
#http服务的控制:start:启动服务,restart:重启服务,stop:停止服务,status:服务状态,configtest:配置语法检查,reload:重载配置文件,服务不用重启
[root@centos6 ~]# service httpd start #开启服务
Starting httpd: httpd: apr_sockaddr_info_get() failed for centos6.9magedu.com
httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ] #OK代表成功开启
[root@centos6 ~]# cd /var/www/html/ #进入根目录
[root@centos6 html]# vim index.html #编辑一个名为index.html文件,内容如下:
centos6
centos6
centos6
[root@centos6 conf.d]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
.......
ServerTokens OS #负责显示的服务器版本信息的格式,建议改为 ServerTokens Prod 较为安全
.......
Include conf.d/*.conf #解释了子配置文件的存在,子配置文件在此处生效
.......
[root@centos6 conf.d]# service httpd reload #重载配置文件
Reloading httpd:
[root@centos7 ~]#curl -I 192.168.136.131 #选项-I,显示响应报文首部信息
HTTP/1.1 200 OK
Date: Sat, 21 Oct 2017 06:08:47 GMT
Server: Apache/2.2.15 (CentOS) #服务器版本信息
Last-Modified: Sat, 21 Oct 2017 02:56:51 GMT
ETag: "60429-30-55c05bdb9fa40"
Accept-Ranges: bytes
Content-Length: 48
Connection: close
Content-Type: text/html; charset=UTF-8 #显示字符集,我们也可以修改字符集,后文会介绍
[root@centos6 conf.d]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
.......
#Listen 12.34.56.78:80
Listen 80 #不写IP,默认监听本机所有IP的端口,可以修改为 Listen 192.168.136.131:8000 指定IP以及端口,可以小小实现访问控制
.......
[root@centos6 conf.d]# service httpd reload #重载配置文件
Reloading httpd:
[root@centos7 ~]#curl 192.168.136.131 #默认80端口
curl: (56) Recv failure: Connection reset by peer
[root@centos7 ~]#curl 192.168.136.131:8000 #指定8000端口
centos6
centos6
centos6
[root@centos6 conf.d]# mkdir /app/site #创建新的根目录
[root@centos6 conf.d]# mv /var/www/html/index.html /app/site/ #准备页面文件
[root@centos6 conf.d]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
.......
DocumentRoot "/var/www/html" #默认根路径,可以修改为 DocumentRoot "/app/site" 修改根路径,访问时找寻此路径.
.......
[root@centos6 conf.d]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
.......
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var #默认访问站点时访问的主页面,可以修改为 DirectoryIndex index.txt index.html.var 等
.......
[root@centos6 conf.d]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
.......
AddDefaultCharset UTF-8 #默认UTF-8字符集,可以修改字符集
.......
[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@centos6 conf.d]# mkdir /var/www/html/bbs/
[root@centos6 conf.d]# echo /var/www/html/bbs > /var/www/html/bbs/index.html
[root@centos6 conf.d]# mkdir /app/site/bbs
[root@centos6 conf.d]# echo /app/site/index.html > /app/site/bbs/index.html
[root@centos6 conf.d]# service httpd reload #重载配置文件
Reloading httpd:
[root@centos6 conf.d]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
.......
KeepAlive Off #默认关闭持久连接,可以修改为 on ,开启持久连接
.......
MaxKeepAliveRequests 100 #持久连接的最大连接资源数,连接数到一定值时断开连接
.......
KeepAliveTimeout 15 #持久连接的最大持久时间,默认单位为秒
[root@centos7 ~]#telnet 192.168.136.131 80
Trying 192.168.136.131...
Connected to 192.168.136.131.
Escape character is ‘^]‘.
GET /index.html HTTP/1.1 #模拟连接
HOST:192.168.136.131 #Web服务器
HTTP/1.1 200 OK #回复的响应报文
Date: Sat, 21 Oct 2017 07:47:53 GMT
Server: Apache/2.2.15 (CentOS)
Last-Modified: Sat, 21 Oct 2017 07:23:35 GMT
ETag: "60429-30-55c0977a92555"
Accept-Ranges: bytes
Content-Length: 48
Connection: close
Content-Type: text/html; charset=UTF-8
centos6
centos6
centos6
Connection closed by foreign host
##此处不会断开。继续等待其他请求,直到时间到或者资源数到才断开连接
[root@centos6 conf.d]# vim /etc/httpd/conf/httpd.conf #编辑主配置文件
.......
ErrorLog logs/error_log #错误日志路径,可以修改默认路径
#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn #错误日志的级别,默认为warn
.......
[root@centos6 conf.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
.......
CustomLog logs/access_log combined #日志格式的使用
.......
%h 客户端IP地址
%l 远程用户, 启用mod_ident 才有效,通常为减号“-” ”
%u 验证(basic ,digest )远程用户, 非登录访问时,为一个减号“-” ”
%t 服务器收到请求时的时间
%r First line of request,即表示请求报文的首行;记录了此次请求的“方法”,“URL” 以及协议版本
%>s 响应状态码
%b 响应报文的大小,单位是字节;不包括响应报文http 首部
%{Referer}i 请求报文中首部“referer” 的值;即从哪个页面中的超链接跳转至当前页面的
%{User-Agent}i 请求报文中首部“User-Agent” 的值;即发出请求的应用程序
[root@centos6 ~]# httpd -t #常用命令,CentOS7上http2.4版本同样适用
httpd: apr_sockaddr_info_get() failed for centos6.9magedu.com
httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK #OK,配置语法正确
[root@centos6 ~]# service httpd configtest #适用于CentOS6上的配置语法检查命令
httpd: apr_sockaddr_info_get() failed for centos6.9magedu.com
httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK #OK,配置语法正确