我是靠谱客的博主 精明银耳汤,这篇文章主要介绍Linux下安装Apache httpd,现在分享给大家,希望可以做个参考。

httpd是Apache超文本传输协议(HTTP)服务器的主程序。它被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池对外提供服务。httpd支持基于 虚拟主机,以及基于HOST、IP、PORT实现虚拟主机,反向代理,负载均衡,路径别名,用户认证,basic,支持第三方模块等众多特性。本文主要描述了Linux下httpd的安装以及相关基本用法。

一、httpd的安装

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
演示环境及版本 # cat /etc/issue CentOS release 6.5 (Final) Kernel r on an m # uname -r 2.6.32-431.el6.x86_64 查看httpd是否已安装 # rpm -qa httpd 使用yum列出相关httpd安装文件,此处为本地yum源 # yum list |grep httpd httpd.x86_64 2.2.15-29.el6.centos local_server httpd-devel.i686 2.2.15-29.el6.centos local_server httpd-devel.x86_64 2.2.15-29.el6.centos local_server httpd-manual.noarch 2.2.15-29.el6.centos local_server httpd-tools.x86_64 2.2.15-29.el6.centos local_server 安装及验证httpd # yum -y install httpd # rpm -qa |grep httpd httpd-tools-2.2.15-29.el6.centos.x86_64 httpd-2.2.15-29.el6.centos.x86_64 使用rpm方式寻找配置文件 # rpm -qc httpd 常用的配置文件: /etc/httpd/conf.d/*.conf ###辅助配置文件 /etc/httpd/conf/httpd.conf ###主配置文件 /etc/sysconfig/httpd ###httpd工作模式配置文件 使用rpm方式查看安装位置及生成的二进制文件 # rpm -ql httpd 主程序: /usr/sbin/httpd MPM模式默认 /usr/sbin/httpd.event /usr/sbin/httpd.worker 使用rpm方式查看包的帮助文件 # rpm -qd httpd 启动脚本:/etc/rc.d/init.d/httpd 日志文件目录: /var/log/httpd access_log:访问日志 error_log: 错误日志 站点文档目录:(站点根目录) /var/www/html httpd的工作目录:/var/www

二、httpd的工作模式

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
1、MPM: Multipath Processing Module(多路处理模块) prefork: 多进程模型,每个进程响应一个请求;稳定性好,但并发能力有限;预先生成多个空闲进程; 由于prefork使用select()系统调用,所以最大并发不能超过1024; worker:多进程模型,每个进程可生成多个线程,每个线程响应一个请求;预先生成多个空闲线程; event:一个进程直接响应n个请求;可同时启动多个进程; httpd-2.2: 测试使用; ### Author : Leshami httpd-2.4: 可生产使用; ### Blog : http://blog.csdn.net/leshami 2、几种工作方式的切换 prefork模式下 # service httpd start Starting httpd: [ OK ] # ps -ef|grep httpd |grep -v grep ###一个主进程,生成了8个空闲进程 root 6413 1 0 09:40 ? 00:00:00 /usr/sbin/httpd apache 6416 6413 0 09:40 ? 00:00:00 /usr/sbin/httpd apache 6417 6413 0 09:40 ? 00:00:00 /usr/sbin/httpd apache 6418 6413 0 09:40 ? 00:00:00 /usr/sbin/httpd apache 6419 6413 0 09:40 ? 00:00:00 /usr/sbin/httpd apache 6420 6413 0 09:40 ? 00:00:00 /usr/sbin/httpd apache 6421 6413 0 09:40 ? 00:00:00 /usr/sbin/httpd apache 6422 6413 0 09:40 ? 00:00:00 /usr/sbin/httpd apache 6423 6413 0 09:40 ? 00:00:00 /usr/sbin/httpd # ss -tulpn |grep httpd tcp LISTEN 0 128 :::80 :::* users:(("httpd",6413,4),("httpd",6416,4),("httpd",6417,4),("httpd",6418,4), ("httpd",6419,4),("httpd",6420,4),("httpd",6421,4),("httpd",6422,4),("httpd",6423,4) # netstat -nltp|grep 80 tcp 0 0 :::80 :::* LISTEN 6413/httpd worker工作方式 # cat /etc/sysconfig/httpd|grep -v ^# HTTPD=/usr/sbin/httpd.worker # service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] [root@orasrv1 ~]# ps -ef|grep httpd|grep -v grep root 2261 1 0 17:47 ? 00:00:00 /usr/sbin/httpd.worker apache 2264 2261 0 17:47 ? 00:00:00 /usr/sbin/httpd.worker apache 2265 2261 0 17:47 ? 00:00:00 /usr/sbin/httpd.worker apache 2266 2261 0 17:47 ? 00:00:00 /usr/sbin/httpd.worker event工作方式 注,尽管2.2版本可以设置工作方式为httpd.event,生产环境不建议使用 # cat /etc/sysconfig/httpd|grep -v ^# HTTPD=/usr/sbin/httpd.event [root@orasrv1 ~]# service httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] [root@orasrv1 ~]# ps -ef|grep httpd|grep -v grep root 2402 1 0 17:49 ? 00:00:00 /usr/sbin/httpd.event apache 2405 2402 0 17:49 ? 00:00:00 /usr/sbin/httpd.event apache 2406 2402 0 17:49 ? 00:00:00 /usr/sbin/httpd.event apache 2407 2402 0 17:49 ? 00:00:00 /usr/sbin/httpd.event

三、httpd模块化特性

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
高度模块化 core + modules, DSO: Dynamic Shared Object 模块目录: /etc/httpd/modules: 符号链接文件 /usr/lib64/httpd/modules 模块的查看 httpd -M ###查看当前httpd进程的所有模块 httpd.event -M ###查看event工作模式下的所有模块 更正@20160712 httpd.worker -M ###worker工作模式下的所有模块 更正@20160712 httpd.worker -l ###worker工作模式下的核心模块 更正@20160712 模块的查看示例 # httpd -M Loaded Modules: core_module (static) mpm_prefork_module (static) http_module (static) so_module (static) auth_basic_module (shared) .............. # httpd.event -l Compiled in modules: core.c event.c http_core.c mod_so.c 模块的动态装载与卸载 # cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak # cat /etc/httpd/conf/httpd.conf |grep authn_alias_module LoadModule authn_alias_module modules/mod_authn_alias.so # vi /etc/httpd/conf/httpd.conf ###注释mod_authn_alias.so模块 # cat /etc/httpd/conf/httpd.conf |grep authn_alias_module #LoadModule authn_alias_module modules/mod_authn_alias.so # service httpd restart # httpd -M ###使用该方式前后进行对比即可知道模块是否装载或卸载

四、验证httpd服务

复制代码
1
2
3
# echo "<h1>orasrv1.xlk.com</h1>" >/var/www/html/index.html # curl http://192.168.21.10 <h1>orasrv1.xlk.com</h1>

最后

以上就是精明银耳汤最近收集整理的关于Linux下安装Apache httpd的全部内容,更多相关Linux下安装Apache内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部