在它的1.X版本年代,虽然Apache已经足够稳定和强大并取得了举足轻重的地位,但仍然存在着它无法覆盖的区域而让一些非全功能型的WEB服务器取得了市场。在2.X中这一情况得到了很大的改善,编译和安装也变得简单了些,Apache使用了标准GNU自动设置工具,对于Windows平台,它也提供了图形化的安装界面。在设置方面,新版本去掉了一些易让人糊涂的指示符号,不过大部分工作仍然基于一个文件的设置文件。对那些习惯图形界面设置工具的用户可能有点麻烦。设置工具与核心的发布包是分离的,一些类似ApacheConf可以免费或以很低的价格的获取,利用这些工具可以很方便的对Apache进行各种设置。
从运行的角度看,Apache2.X版本比老版本更加强大,更具可扩展性。一个多线程/多进程的混合模块使它可以充分利用各种规模的主机性能(从一台只运行小型站点的典型X86服务器到同时运行多个虚拟实例的大型主机),这正是Apache1.3所缺乏的。新版本以插件的形式提供了对一些特定平台和几个通用模块的支持。对IPV6的官方支持已经为互联网的升级做好了准备,对HTTP1.1的支持提高了代理服务器的性能。
另外新版本的核心发布包中增加了几个加强安全和可管理性的模块:mod_auth_ldap引入了基于LDAP(Lightweight Directory Access Protocol)认证,mod_autoindex模块可以很方便的生成目录列表供访问者使用,而mod_deflate模块允许内容在发送前先进行压缩以节约带宽。
安装Apache2
下载httpd-2.0.59.tar.gz,执行
(下面的 xzfv 应该是 zxvf 吧 By Missll)
sudo tar xzfv httpd-2.0.59.tar.gz
sudo cd httpd-2.0.59
sudo ./configure --prefix=/usr/local/apache2 --enable-module=most --enable-rewrite --enable-shared=max --enable-so
如果提示如下错误:
checking for C compiler default output file name... configure: error: C compiler cannot create executables
原因是未安装libc6-dev ,执行
sudo apt-get install build-essential
就ok了。
然后从新执行:
sudo ./configure --prefix=/usr/local/apache2 --enable-module=most --enable-rewrite --enable-shared=max --enable-so
未报错,接着执行
sudo make
sudo make install
sudo groupadd apache
sudo useradd -g apache apache
sudo passwd apache
sudo chown -R apache:apache /usr/local/apache2
修改apache的配置文件,执行
sudo vi /usr/local/apache2/conf/httpd.conf找到
User nobody
Group #-1
修改成
User apache
Group apache
找到
#ServerName www.example.com:80
改为
ServerName *:80
保存!
执行命令
sudo /usr/local/apache2/bin/apachectl start启动apache.
打开浏览器,访问http://localhost
如果一切顺利,应该可以看到apache的测试页面。恭喜你,apache安装好了!
apache启动报错(98)Address already in use: make_sock: could not bind to...
# /etc/init.d/httpd start
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[FAILED]
1.netstat -lnp|grep 80
tcp 0 0 192.168.180.68:61027 0.0.0.0:* LISTEN 6289/oproxyd
tcp 0 0 :::80 :::* LISTEN 846/httpd
tcp 0 0 ::ffff:192.168.180.68:7001 :::* LISTEN 32015/java
找到pid 846
#ps 846
查看
#kill -9 846
杀掉
#./apachectl start
启动成功
*****************************************************************************
处理办法:
# ps -aux | grep http
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 12079 0.0 0.0 61164 720 pts/1 S+ 16:06 0:00 grep http
# ps -aux | grep apache
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
apache 10820 0.0 0.0 2044 600 ? Ss Jan01 0:04 bash
root 12081 0.0 0.0 61160 716 pts/1 S+ 16:06 0:00 grep apache
# kill -9 10820
# /etc/init.d/httpd start
Starting httpd: [ OK ]
# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
**********************************************************