Apache入门安装及部署

136 阅读3分钟

1、Apache是什么?

2、Apache的特点及应用场合
1)特点
功能强大、配置简单、速度快、应用广泛、性能稳定可靠、并可做代理服务器或负载均衡来使用。

2)应用场合

  • 使用Apache运行静态HTML网页、图片;
  • 使用Apache结合Tomcat/Resin运行JSP,JAVA等程序;
  • 使用Apache,作代理,负载均衡等。

3、安装Apache
1)检查是否安装与否;

rpm -qa httpd

2)下载及安装

1、Apache是什么?

2、Apache的特点及应用场合
1)特点
 功能强大、配置简单、速度快、应用广泛、性能稳定可靠、并可做代理服务器或负载均衡来使用。

2)应用场合
 * 使用Apache运行静态HTML网页、图片;
 * 使用Apache结合Tomcat/Resin运行JSP,JAVA等程序;
 * 使用Apache,作代理,负载均衡等。

3、安装Apache
1)检查是否安装与否;

rpm -qa httpd


2)下载及安装

wget --no-check-certificate ‘www-us.apache.org/dist/httpd/…
[root@jackroo tools]# ls httpd-2.2.27.tar.gz -sh #sh查看大小
7.2M httpd-2.2.27.tar.gz
tar xf httpd-2.2.27.tar.gz #解压

安装

./configure
–prefix=/application/apache2.2.27
–enable-expires
–enable-headers
–enable-modules=most
–enable-so
–with-mpm=worker
–enable-deflate
–enable-rewrite \

报错如下:

checking for zlib location… not found
checking whether to enable mod_deflate… configure: error: mod_deflate has been requeste
d but can not be built due to prerequisite failures


解决:

yum install zlib zlib-devel -y

接着安装

make
make install
[root@jackroo httpd-2.2.27]# echo $? #检查是否安装完成
0

ln -s /application/apache2.2.27/ /application/apache #软链接



"Apache服务讲解.md" 56L, 1469C written                                 
[root@jackroo data]# vim Apache服务讲解.md
wget --no-check-certificate 'https://www-us.apache.org/dist/httpd/httpd-2.4.37.tar.gz'
[root@jackroo tools]# ls httpd-2.2.27.tar.gz -sh #sh查看大小
--enable-rewrite \

解决:

 yum install zlib zlib-devel -y

0

ln -s /application/apache2.2.27/ /application/apache #软链接

#检查语法及启动
[root@jackroo htdocs]# /application/apache/bin/apachectl -t
Syntax OK
[root@jackroo htdocs]# /application/apache/bin/apachectl start
[root@jackroo htdocs]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 21330 root 4u IPv6 74851 0t0 TCP *:http (LISTEN)
httpd 21332 daemon 4u IPv6 74851 0t0 TCP *:http (LISTEN)
httpd 21333 daemon 4u IPv6 74851 0t0 TCP *:http (LISTEN)
httpd 21334 daemon 4u IPv6 74851 0t0 TCP *:http (LISTEN)
[root@jackroo htdocs]# ps -ef|grep httpd
[root@jackroo htdocs]# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 08:00:27:A9:04:1A
inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 240e:9c:ed6:300:a00:27ff:fea9:41a/64 Scope:Global
inet6 addr: fe80::a00:27ff:fea9:41a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:26399 errors:0 dropped:0 overruns:0 frame:0
TX packets:17268 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21476161 (20.4 MiB) TX bytes:2144442 (2.0 MiB)
http://192.168.1.7/
It works

启动失败问题排查:

/application/apache/htdocs

#htdocs目录下修改index.html进行测试。


5、主配置文件讲解

grep -Ev “#|^KaTeX parse error: Expected 'EOF', got '#' at position 57: …ori Listen 80 #̲监听的端口,默认监听本机所有i…” httpd.conf>http.conf.ori
cat http.conf.ori
Listen 80 #监听的端口,默认监听本机所有ip地址
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon #进程,默认用户
Group daemon


ServerAdmin you@example.com #管理员的邮箱
DocumentRoot “/application/apache2.2.27/htdocs” #默认的站点目录
#权限控制
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all

<Directory “/application/apache2.2.27/htdocs”> #添加一个站点,必须这样添加一个
Options Indexes FollowSymLinks #优化1,Indexes前增加-号或者删除,不对外展示目录
AllowOverride None
Order allow,deny
Allow from all


DirectoryIndex index.html

<FilesMatch “^.ht”>
Order allow,deny
Deny from all
Satisfy All

ErrorLog “logs/error_log”
LogLevel warn

ServerAdmin you@example.com #管理员的邮箱
DocumentRoot “/application/apache2.2.27/htdocs” #默认的站点目录
#权限控制
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all

<Directory “/application/apache2.2.27/htdocs”> #添加一个站点,必须这样添加一个
Options Indexes FollowSymLinks #优化1,Indexes前增加-号或者删除,不对外展示目录
AllowOverride None
Order allow,deny
Allow from all

#默认站点目录首页
DirectoryIndex index.html

<FilesMatch “^.ht”>
Order allow,deny
Deny from all
Satisfy All

ErrorLog “logs/error_log” #错误日志
LogLevel warn

LogFormat “%h %l %u %t “%r” %>s %b “%{Referer}i” “%{User-Agent}i”” combined
LogFormat “%h %l %u %t “%r” %>s %b” common

ScriptAlias /cgi-bin/ “/application/apache2.2.27/cgi-bin/”

use only name-based virtual hosts so the server doesn’t need to worry about

```

oot@jackroo conf]# …/bin/apachectl graceful
[root@jackroo conf]# pwd
/application/apache/conf


6、扩展的配置文件
/application/apache/conf/extra
[root@jackroo extra]# ls
httpd-autoindex.conf  httpd-languages.conf           httpd-ssl.conf
httpd-dav.conf        httpd-manual.conf              httpd-userdir.conf
httpd-default.conf    httpd-mpm.conf                 httpd-vhosts.conf
httpd-info.conf       httpd-multilang-errordoc.conf

1)[root@jackroo extra]# vim httpd-vhosts.conf
2)[root@jackroo extra]# vim httpd-mpm.conf
3)[root@jackroo extra]# cat httpd-default.conf