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,配置语法正确

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor&#160;1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep &#39;Time zone&#39;查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim&#160;/etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO=&quot;static&quot; ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// &lt;summary&gt; /// 取小写文件名后缀 /// &lt;/summary&gt; /// &lt;param name=&quot;name&quot;&gt;文件名&lt;/param&gt; /// &lt;returns&gt;返回小写后缀,不带“.”&lt;/ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start &amp; nohup ./kibana &amp;
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的&#160;Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程,&#160;ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属