zoukankan      html  css  js  c++  java
  • 第四十三天-www服务apache软件实战入门讲解

    1、当前互联网主流web服务说明

    静态服务:

    1. apache 中小型静态web服务的主流,web服务器中的老大哥
    2. nginx 大型新兴网站静态web服务主流,web服务器中的初生牛犊
    3. lighttpd 静态web服务不温不火,逐渐被淘汰的意味,社区不活跃

    动态服务:

    1. IIS(Internet information services) 微软的WEB服务器(asp,aspx)
    2. tomcat #中小型企业动态web服务主流,互联网java容器主流(jsp,do)
    3. resin #大型动态web服务主流,互联网java容器主流(jsp,do)
    4. php(fcgi) #大中小网站,php程序的解析容器
    • 配合apache,php不是守护进程,而是mod_php5.so(module)
    • 配合nginx,lighttpd,php守护进程模式,FCGI模式

    2、软件的常见版本

    apache version

    nginx

    3、linux系统软件包安装方式

    以安装apache为例

    1. 源码编译方式安装apache:比较灵活,只编译你想要的参数

      比喻自己做饭、做菜吃

    2. yum或rpm方式安装apache

      优点:简单,方便

      缺点:不够灵活 --比喻:下饭店吃饭

      • 功能和使用情况考虑,访问量小或内部使用的http的时候,多用yum install httpd -y
      • 方便性考虑的使用,使用yum 安装
      • 维护成本考虑,服务器数量,比如上千台服务器
    3. 高级安装结合编译和yum/rpm的双重优点

      通过源码(根据业务需求)-->制作成符合你自己的rpm-->放到自己的yum仓库

      然后在全网的客户端通过yum实现批量部署,管理,升级

      老男孩老师学生分享:

      rpm包制作介绍及实战操作讲解:

      http://oldboy.blog.51cto.com/2561410/1121725

      http://oldboy.blog.51cto.com/2561410/1121745

      yum源及yum仓库搭建:

      http://oldboy.blog.51cto.com/2561410/1126453

    4、源码安装apache过程

    wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.31.tar.gz
    tar  xf httpd-2.2.31.tar.gz 
    cd   httpd-2.2.31
    ./configure --prefix=/application/apache2.2.31 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite
    make
    make install
    
    /application/apache/bin/apachectl start
    /etc/init.d/iptables stop
    setenforce 0
    
    [root@A bin]# wget 192.168.1.113
    --2016-01-01 15:35:53--  http://192.168.1.113/
    正在连接 192.168.1.113:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:44 [text/html]
    正在保存至: “index.html”
    
    100%[======================================================================================================>] 44          --.-K/s   in 0s      
    
    2016-01-01 15:35:53 (3.51 MB/s) - 已保存 “index.html” [44/44])
    
    [root@A bin]# curl -I 192.168.1.113
    HTTP/1.1 200 OK
    Date: Fri, 01 Jan 2016 07:36:35 GMT
    Server: Apache/2.2.31 (Unix) DAV/2
    Last-Modified: Sat, 20 Nov 2004 20:16:24 GMT
    ETag: "6103b-2c-3e9564c23b600"
    Accept-Ranges: bytes
    Content-Length: 44
    Content-Type: text/html
    

    5、/application/apache/bin下的一些命令介绍

    ab			#Apache Http服务器性能测试工具,简单,易用。同类软件还有jmeter loadrunner,webbench
    apachectl	#这个是apache的启动命令,需要重点掌握,apachectl是一个脚本。
    apxs		#apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,在进行DSO方式编译模块时会用到,
    			#后文在编译pap软件时就用到了此命令,如 --with-apxs2=/application/apache/bin/apxs
    htcacheclean#这是清理磁盘缓冲区的命令,需要在编译时指定相关参数才可使用,一般用的很少
    hapasswd	#建立和更新基本认证权限,如配置nagios等参数监控服务器会用到
    httpd		#http为apache控制命令程序,apachectl执行会调用httpd
    rotatelogs	#apache自带的日志轮询命令,也还可以用,但是老男孩的工作场景习惯由cronolog代替。
    

    6、httpd.conf

       apache的主配置文件,这个文件我们会经常访问修改,其中的每一行的参数作用都应该清楚明白。

    7、htdocs

       这是编译安装时apache的默认站点目录,前面已经说明。

    index.html   #默认的首页文件,在实际环境中,大家习惯用index.html index.php index.jsp 来做网站首页。首页文件名字是在httpd.conf中事先定义好的,具体参数为:DirectoryIndex index.html
    logs		    #这是apache默认的日志路径,包括错误日志及访问日志。
    |--access_log  #这是apache的默认访问日志文件,使用tail -f access.log可以时时观看网站用户访问情况信息。
    |--error_log   #这是apache的错误日志,如果apache出现故障等问题,一定要看看这个错误日志。
    |--httpd.pid   #httpd的pid文件,php进程启动后,会把所有进程的ID号写到此文件。
    |--modules     #apache的模块目录,比如php,memcache等模块编译后都在这里。
    
  • 相关阅读:
    Unobtrusive Ajax
    Asp.Net Web API 2(入门)第一课
    c# in depth之泛型的实现
    ASP.NET MVC 單元測試系列
    菜单栏
    【C++ 中文手册】即将完成
    AspNet MVC3中过滤器 + 实例
    虚拟机安装Linux中常见异常及解决办法
    webbrowser打开新窗口事件+=
    Java Bad version
  • 原文地址:https://www.cnblogs.com/migongci0412/p/5111370.html
Copyright © 2011-2022 走看看