通常我们所说的,服务器应用一般会有两种类型,http服务器、应用程序服务器 ,而http服务器的典型代表有Apache Http Server和Nginx,应用程序服务器的典型代表则有IIS,Tomcat,jetty。
很多做过Java开发的朋友应该都知道 Apache Tomcat。
目前,在计算机运维领域,有比较流行的几种架构,分别是LAMP和LNMP。这里LAMP中的A指的就是Apache Httpd Server 。
CentOS 6 系统中默认安装了Httpd2.2版本,而CentOS7 默认支持的则是Httpd 2.4 版本,二者在使用上有所不同。同时,如果想要在CentOS 6 上安装Httpd2.4 的话,也需要花费一些功夫。
本篇文章,我们一起来了解一下,Apache Httpd 2.2 的配置,其余的内容留作以后来介绍。
配置文件
/etc/httpd/conf/httpd.conf /etc/httpd/conf.d/*.conf检查修改后的配置文件中是否存在语法错误
httpd –t service httpd configtesthttpd的服务脚本
/etc/rc.d/init.d/httpdhttpd的服务脚本的配置文件
/etc/sysconfig/httpd服务控制和启动
chkconfig httpd on|off service {start|stop|restart|status|configtest|reload} httpd站点网页文档根目录
/var/www/html模块文件路径
/etc/httpd/modules /usr/lib64/httpd/modules主程序文件
/usr/sbin/httpd /usr/sbin/httpd.worker /usr/sbin/httpd.event主进程文件
/etc/httpd/run/httpd.pid日志文件目录
/var/log/httpd access_log: 访问日志 error_log:错误日志帮助文档包
httpd-manualhttpd配置文件的组成
# 执行下面的这条命令就可以看到,配置文件一共由下面三部分组成。 [root@centos6 ~]$grep "Section" /etc/httpd/conf/httpd.conf ### Section 1: Global Environment ### Section 2: 'Main' server configuration ### Section 3: Virtual Hosts配置格式
# 指令 值 directive value directive: 指令,不区分字符大小写 value: 值为路径时,是否区分大小写,取决于文件系统上面所述的所有的内容,都可以执行 rpm -ql httpd 中查看到。
了解了上面的基本信息之后,我们来启动一下httpd 服务。
[root@centos6 ~]$service httpd start Starting httpd: httpd: apr_sockaddr_info_get() failed for centos6.pojun.tech httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName [ OK ]从上面的提示信息中我们可以看出,这里有两个小问题。下面我们解决一下,这两个小问题。从问题描述中我们可以看出,HTTPD 服务不能明确服务器主机的名字,最好使用127.0.0.1来指定一下。
我们修改一下/etc/httpd/conf/httpd.conf文件。
这样的话,再重启的时候,就不会有问题提示了。
httpd 2.2 的常见配置这里所说的配置信息都位于/etc/httpd/conf/httpd.conf
1、显示服务器的版本信息显示服务器的版本信息的意思是说,我们在日常工作中,可能会通过一些手段,获取某些网段的服务器信息,如果我们的HTTP服务器的信息对于一个陌生的用户完全暴露,将会大大导致服务器的安全风险。
下图是我们通过工具获取到Microsoft的服务器信息(吐槽下,微软自己竟然还用别人的服务器,大家风范哪里去了(●’’●))。
下面是我本机的Http 2.2 服务器的信息
[root@centos6 ~]$curl -I 172.18.2.66 HTTP/1.1 200 OK Date: Tue, 26 Sep 2017 09:22:39 GMT Server: Apache/2.2.15 (CentOS) Last-Modified: Mon, 25 Sep 2017 07:28:24 GMT ETag: "320951-0-559fe80fa6ca6"Accept-Ranges: bytes Connection: close Content-Type: text/html; charset=UTF-8