注意点
安装时后报错很多,原因时apache时开发很早的版本,同时时开源的,不断被补充完善,报的错就是依赖包
tomcat和apache的区别:
Apache是web服务器(静态解析,如HTML),tomcat是java应用服务器(动态解析,如JSP、PHP);
Tomcat只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行;
Apache是有C语言实现的,支持各种特性和模块从而来扩展核心功能;Tomcat是Java编写的,更好的支持Servlet和JSP;
Apache是普通服务器,本身只支持html静态普通网页。不过可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然),Tomcat是jsp/servlet容器,同时也支持HTML、JSP、ASP、PHP、CGI等,其中CGI需要一些手动调试,不过很容易的;
Apache侧重于http server,Tomcat侧重于servlet引擎,如果以standalone方式运行,功能上Tomcat与apache等效支持JSP,但对静态网页不太理想;
Apache可以运行一年不重启,稳定性非常好,而Tomcat则不见得;
首选web服务器是Apache,但Apache解析不了的jsp、servlet才用tomcat;
Apache是很最开始的页面解析服务,tomcat是后研发出来的,从本质上来说tomcat的功能完全可以替代Apache,但Apache毕竟是tomcat的前辈级人物,并且市场上也有不少人还在用Apache,所以Apache还会继续存在,不会被取代,apache不能解析java的东西,但解析html速度快。
tomcat和apache的联系:
Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持php,还可以与Tomcat连通(Apache单向连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然)。
Apache只支持静态网页,但像asp、jsp、php、cgi等动态网页就需要Tomcat来处理。
Apache和Tomcat整合使用:
如果客户端请求的是静态页面,则只需要Apache服务器响应请求;
如果客户端请求动态页面,则是Tomcat服务器响应请求,将解析的JSP等网页代码解析后回传给Apache服务器,再经Apache返回给浏览器端。
这是因为jsp是服务器端解释代码的,Tomcat只做动态代码解析,Apache回传解析好的静态代码,Apache+Tomcat这样整合就可以减少Tomcat的服务开销。
Apache和Tomcat是独立的,在同一台服务器上可以集成。
如何在Linux上安装WEB服务器Apache2 ?(自己整理)
1 解压
tar -zxvf htttpd-2.4.23.tar.gz (apache2安装包)
2 安装
./configure
configure: error:APR not found 报错,需要查文档
3 先安装apr
tar -zxvf apr-1.5.2.tar.gz
./configure --prefix=/user/local/apr
--prefix 表示将apr安装到指定路径下
4 输入make指令
5 make install
6 再次安装httpd
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr
报错:apr-util not found.
7 apr-util
tar -zxvf apr-util-1.5.4.tar.gz
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
8 make
9 make install
10 再次安装htpd
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
11 报错 pcre-config not found
12 tar -zxvf pcr-8.39.tar.gz
./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
13 make
14 make install
15 再次安装httpd
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-pcre=/usr/local/pcre/bin/pcre-config
16 make
17 make install
18 修改配置文件:/usr/local/apache/conf/httpd.conf
1.先进入上述文件
vi httpd.conf
修改端口为 Listen 9999
2.进入/usr/local/apache/bin
执行 ./apachectl -k start
19 vi httpd.conf
插入ServerName localhost:9999
20 启动apacher 2
./apchectl -k start
21 检测是否启动成功
netstat -ltnp
22 查看ip地址 ,使用ip+端口在地址栏登录
./apachectl -k start/stop/restart 表示 启动/停止/重启
需要下载的文件清单:
Apache2安装:(teacher版)
1)解压 tar -zxvf httpd-2.4.23.tar.gz
2)安装
./configure
报错:configure: error: APR not found. Please read the documentation.
查阅文档以后发现需要事先安装很多的依赖
3)APR
tar -zxvf apr-1.5.2.tar.gz
./configure --prefix=/usr/local/apr
--prefix表示将apr安装到哪个目录,建议大家都加上该参数设置安装目录,以便于后续查找使用
make
make install
安装apr时运行./configure --prefix=/usr/local/apr时报如下错:
configure: error: in `/software/apr-1.5.2':
configure: error: no acceptable C compiler found in $PATH See `config.log' for more details
原因及解决办法:
你的机器里没有安装任何C语言编译器,可以安装gcc。 可以在安装盘里找到gcc相关的包进行安装,不过会比较繁琐,因为关联的包会比较多。 如果可以上网,使用yum安装是比较好的选择: yum install gcc
安装完gcc之后,再重新执行./configure --prefix=/usr/local/apr命令时就不会报错。
4)再次安装httpd
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr
报错:configure: error: APR-util not found. Please read the documentation.
5) APR-util
tar -zxvf apr-util-1.5.4.tar.gz
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make
make install
6)再次安装httpd
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config
又报错:
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
7)pcre
tar -zxvf pcre-8.39.tar.gz
./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
make
make install
安装pcre执行明令./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config时,报如下错:
configure: error: You need a C++ compiler for C++ support.
原因及解决办法:
你的机器里没有安装任何C++语言编译器,可以通过,命令yum install gcc-c++安装c++编译器。
安装完c++之后,再重新执行./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config命令时就不会报错。
8)再次安装httpd
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-pcre=/usr/local/pcre/bin/pcre-config
终于没有问题了
make
make install
9) 修改配置文件: /usr/local/apache/conf/httpd.conf (不存在该文件,为什么呢,待解决)
Listen 9999
启动Apache2
./apachectl -k start
报错如下:
AH00557: httpd: apr_sockaddr_info_get() failed for kgc
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
修改配置/usr/local/apache/conf/httpd.conf,增加如下内容:
ServerName localhost:9999
再次启动,启动后通过netstat -ltnp命令查看端口状态
./apachectl -k start/stop/restart 表示 启动/停止/重启
补充,卸载centos自带的apache软件,卸载上述的apache方法,以后补充。
在linux上删除已经安装的软件或者服务,比如centos上卸载linux自带的apache要如何操作呢?下面来一起看看。
01.首先登陆你的SSH控制界面,然后在其中输入查找一下跟httpd相关的软件包,运行命令:
rpm -qa|grep httpd
运行后如图所示,会显示出跟httpd相关的软件包:
02.接着开始使用centos下的卸载命令, “rpm -e 软件或服务名”,我们运行:
rpm -e httpd
如果出现类似“httpd >= 2.2.0 is needed by (installed) gnome-user-share-0.10-6.el5.i386”这样的提示就说明,httpd这个服务是依赖于gnome-user-share的,我们需要先卸载gnome-user-share然后再卸载apache,我们运行:
rpm -e gnome-user-share
删除成功后,再运行上面的rpm -e httpd,这样就成功卸载了apache!