您的位置:首页 > 运维架构 > Apache

第四十三天-www服务apache软件实战入门讲解

2016-01-07 21:37 603 查看

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

静态服务:

apache 中小型静态web服务的主流,web服务器中的老大哥

nginx 大型新兴网站静态web服务主流,web服务器中的初生牛犊

lighttpd 静态web服务不温不火,逐渐被淘汰的意味,社区不活跃

动态服务:

IIS(Internet information services) 微软的WEB服务器(asp,aspx)

tomcat #中小型企业动态web服务主流,互联网java容器主流(jsp,do)

resin #大型动态web服务主流,互联网java容器主流(jsp,do)

php(fcgi) #大中小网站,php程序的解析容器

配合apache,php不是守护进程,而是mod_php5.so(module)

配合nginx,lighttpd,php守护进程模式,FCGI模式

2、软件的常见版本

apache version

1.3 系列

2.0 系列

2.2 系列

2.4 系列

apache官网:http://apache.org

nginx

1.8 系列

1.9 系列

nginx官网:http://www.nginx.org/

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

以安装apache为例

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

比喻自己做饭、做菜吃

yum或rpm方式安装apache

优点:简单,方便

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

功能和使用情况考虑,访问量小或内部使用的http的时候,多用yum install httpd -y

方便性考虑的使用,使用yum 安装

维护成本考虑,服务器数量,比如上千台服务器

高级安装结合编译和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等模块编译后都在这里。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: