第四十三天-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等模块编译后都在这里。
原文地址:https://www.cnblogs.com/migongci0412/p/5111370.html