四.Web站点的典型应用<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
1.测试httpd服务器的性能(httpd服务自带了一个压力测试工具ab,用于检测web站点的性能表现)
命令格式:
ab  [-q]  –c 并发请求数  –n  总的请求数 
[http://]域名[:端口]/路径
[]中的为可选的,使用-q选项时,将不显示测试进度信息;当测试的目标是web站点的根路径时,最后的“/”不能少
使用ulimit命令修改最大文件数限制
RHEL5中,默认允许打开的最大文件数为1024。由于使用AB测试工具时可能需要同时打开更多的文件,因此需要使用ulimit命令突破这个限制。ulimit是一个bash内部命令,可以对Shell进程使用的系统资源进行限制。
[root@localhost ~]# ulimit -a |grep "open fils"
[root@localhost ~]#
[root@localhost ~]# ulimit -a |grep "open files"
open files                      (-n) 1024
[root@localhost ~]# ulimit -n 10000
[root@localhost ~]# ulimit -a |grep "open files"
open files                      (-n) 10000
执行ab命令进行压力测试(通过命令输出的结果判断web服务器的响应情况及性能表现,如查看cpu、内存等信息)
/usr/local/apache2/bin/ab -q -c 2000 -n 4000 www.haha.com/
总结:
httpd服务的目录结构(在httpd软件的安装目录“/usr/local/apache2”中,包括了运行web服务器所需要的执行程序、配置文件、日志文件,帮助手册等所有内容,该目录被称为Apache服务器的根目录)
 [root@localhost ~]# ls /usr/local/apache2/
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual
     conf目录:保存了Apache服务器的配置文件,其中httpd.conf是它的主配置文件。
     bin目录:包括了运行和管理web服务所需要的执行程序
   其中:
Ø      httpd是服务器的执行程序
Ø      apachectl是服务程序的启动脚本
     htdocs目录:是Apache服务器的网页文档的根目录
u    manual目录:保存了Apache服务器的完整配置指南文            档,以HTML文件格式提供。
u    lib目录:保存了运行Apache服务器所需的库文件
u    man目录:保存了httpdapachectl等程序的man帮助文      
u    modules目录:保存了提供给Apache服务器动态加载的  模块文件
u    logs目录:保存Apache服务器的日志文件
通过熟悉这些目录的结构和功能,有助于对web服务器进行有效的管理。
在对httpd.conf文件进行修改后,建立使用apachectl命令(加“-t”选项)对内容进行语法检查,也可以使用“httpd -t”命令。如果没有错误,将会显示“Syntax OK”。
Ø      /usr/local/apache2/bin/apachectl  -t
Ø      /usr/local/apache2/bin/httpd  -t
启动httpd服务时出现的故障
无法确定web服务主机名
例:当httpd服务识别的主机名和服务器实际的主机名不一致时,可能导致启动httpd服务的时候反应非常缓慢,并且出现以下提示信息。
Httpd:apa_sockaddr_info_get() failed for www.server.com
Httpd:Could not reliably detemine the server’s fully qualified domain name,using 127.0.0.1 for ServerName
解决办法:
ü      httpd.conf文件中,添加配置行“ServerName www.server.com,指定完整的主机名。若没有“ServerName”配置行,httpd服务可能将“127.0.0.1”作为主机名。
ü      编辑“/etc/sysconfig/network”文件,修改主机名,如
HOSTNAME=www.server.com”。
ü      编辑“/etc/hosts”文件,添加服务器的主机名、IP地址映射记录,如“172.16.100.5  www.haha.com  www”。
TCP80端口已被占用
例:从下面可以看出,80端口已被其它进程占用,只需要找到占用80端口的进程并关闭即可。一般是系统原有RPM方式安装的httpd服务进程造成的,只要停用原来的httpd服务,并将自启动状态设置为关闭即可。
[root@localhost ~]# /usr/local/apache2/bin/apachectl start
(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
解决办法:
[root@localhost ~]# netstat -anpt|grep :80
tcp        0      0 :::80                       :::*                        LIST  EN      5001/httpd
[root@localhost ~]# killall -9 httpd
[root@localhost ~]# chkconfig --level 35 httpd off
[root@localhost ~]# /usr/local/apache2/bin/apachectl start
httpd.conf配置文件
常用的全局配置项(这些全局配置项不包括在任何区域中,决定了Apache服务器的全局参数)
ServerRoot  “/usr/local/apache2”    //httpd服务的根目录
Listen 80   //设置Apache服务器监听的端口号,默认为80
User daemon         //设置运行httpd进程时的用户身份
Group daemon       //设置运行httpd进程时的组身份
ServerAdmin you@example.com
//设置Apache管理员的E-mail地址,可以在出现故障时通过此E-mail地址及时联系Apache服务器管理员
ServerName  www.example.com
//设置Apache服务器的完整主机名(FQDN名)
DocumentRoot "/usr/local/apache2/htdocs"
//设置网页文档的根目录在系统中的实际路径
DirectoryIndex index.html index.php
//设置网站的首页(索引页),可以设置多个文件,以空格分开,默认的首页文件为index.html
ErrorLog "logs/error_log"
//设置错误日志文件的路径和文件名,默认“logs/error_log
LogLevel warn 
//设置记录日志的级别,默认为Warn(警告)
CustomLog "logs/access_log" common
//设置Apache服务器中访问日志文件的路径和格式类型
PidFile  logs/httpd.pid
//设置保存httpd服务器程序进程号(PID)的文件,默认为“logs/httpd.pid
Timeout 300
//设置web服务器与浏览器之间网络连接的超时秒数
KeepAlive On
//设置是否使用保持连接功能
Ø      On时,客户机与服务器建立一次连接后可以请求传输多个文件,将提高服务器传输文件的效率
Ø      Off时,表示不使用,客户机的每次连接只能从服务器请求返回一个文件,传输效率很低
MaxKeepAliveRequests 100
//设置客户端每次连接允许请求相应的做大文件数,默认为100个。当KeepAlive设置为On时才生效
KeepAliveTimeout 15
//设置保持连接的超时秒数,当客户机的两次相邻请求超过该设置值时需要重新进行连接请求,默认为15
Include conf/extra/httpd-vhosts.conf
//Include:用于包含另一个配置文件的内容,可以将实现一些特殊功能的配置单独放到一个文件里,再使用Include配置项包含到httpd.conf主配置文件中来,便于独立维护
区域设置(其设置内容只作用于区域内部,而不会在全局或其他区域中生效)
²     目录区域(主要用于为特定的目录设置访问控制权限)
如:对系统跟目录“/”的设置
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
²     虚拟主机区域
如:
<VirtualHost 172.16.100.5>
        ServerName www.haha.com
        DocumentRoot /home/haha/public_html/
</VirtualHost>

转载于:https://blog.51cto.com/liuwenbing/358153

搭建WEB服务详解(二)相关推荐

  1. Spring Mvc + Spring + Mybatis3 搭建Web工程详解

    Spring MVC + Spring + Mybatis3 搭建Web工程原理 可能需要用到参考: Maven创建web项目:http://blog.csdn.net/liangmaoxuan/ar ...

  2. pm961 mysql_搭建Memcache服务详解

    博文大纲: 一.Memcache简介 二.Memcache工作流程 三.Memcache调度算法 四.Memcache实现原理 五.安装Memcache (1)安装nginx服务器 (2)安装PHP服 ...

  3. Spring Web MVC详解

    Spring Web MVC详解 原创 2016年03月23日 10:55:57 标签: 421 编辑 删除 2.1.Spring Web MVC是什么 Spring Web MVC是一种基于Java ...

  4. Windows XP服务详解

      Windows XP服务详解 微软的个人操作系统从Win98发展到WinXP,为什么突然变得那么消耗系统资源呢?以至于很多人都感觉WinXP只是高配置的电脑才能运行的操作系统,其实不然.WinXP ...

  5. Stuts的Web.xml 详解

    1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码. DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用 ...

  6. SSH服务详解(七)– SSH 连接 Github

    SSH 连接 Github SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录) SSH 服务详解 (三)-- 使用 S ...

  7. SSH 服务详解 (三)-- 使用 SSH 代理

    SSH 服务详解 (三)-- 使用 SSH 代理 SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录) SSH 服务详解 ...

  8. SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动

    SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(一)–Linux SSH 服务器与客户端的安装与启动 SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录 ...

  9. Linux DNS服务详解——DNS服务搭建细节

    前几天,我陆续给大家介绍了DNS服务的相关内容,今天,我给大家补充介绍一下DNS服务中一些小问题. 前文链接: Linux DNS服务详解--DNS基础知识 Linux DNS服务详解--DNS实战配 ...

最新文章

  1. 怎样在表格中选出同一类_超超超超实用的年会策划执行表格模板合集!
  2. SVM算法在项目实践中的应用!
  3. Laravel——消息通知
  4. 产品经验谈:阿里B2B电商-新零售产地供应链的思考与实践
  5. SpringBoot_入门-springboot-helloworld
  6. android 多界面光标,android.database.CursorWindowAllocationException:光标窗口分配2048 kb失败,即使关闭游标...
  7. [css] 当使用@font-face的时候,为什么src中要加入local呢?
  8. Docker 入门使用 (二)
  9. JavaMail---简介
  10. 计算机知识培训感言,计算机培训的心得体会
  11. leetcode刷题:不同路径
  12. Wide-Baseline Image Matching Using Line Signatures
  13. IS-IS认证原理(华为设备)
  14. 远程摄像头软件mjpg-streamer使用指南
  15. 与计算机相关的线性代数题,2007级计算机123班线性代数复习题及答案.doc
  16. 信号与系统学习难点(一)群时延与相频特性
  17. HBase数据模型和表设计思路
  18. 《从0到1:CTFer成长之路》SQL注入-1
  19. Spring Boot2.0 - 玩转logback日志
  20. DDS信号发生器原理与vivado仿真

热门文章

  1. f分布表完整图a=0.05_MySQL8.0新特性-invisible indexes
  2. 设计模式复习-装饰模式
  3. hdu2492 数状数组或者线段树
  4. POJ2983 查分约束系统
  5. 【Linux 内核】Linux 内核源码目录说明 ② ( drivers 目录 | fs 目录 | include 目录 | init 目录 | ipc 目录 | kernel 目录 )
  6. 【C 语言】结构体 ( 结构体变量内存操作 | 通过 “ . “ 操作符操作结构体内存空间 | 通过 “ -> “ 操作符操作结构体内存空间 )
  7. 【AOP 面向切面编程】Android Studio 中配置 AspectJ ( 下载并配置AS中 jar 包 | 配置 Gradle 和 Gradle 插件版本 | 配置 Gradle 构建脚本 )
  8. 【错误记录】jar 执行错误 ( java.lang.UnsupportedClassVersionError: Unsupported major.minor version 52.0 )
  9. 【Android NDK 开发】Kotlin 语言中使用 NDK ( 创建支持 Kotlin 的 NDK 项目 | Kotlin 语言中使用 NDK 要点 | 代码示例 )
  10. 【计算理论】可判定性 ( 通用图灵机和停机问题 | 可判定性 与 可计算性 | 语言 与 算法模型 )