笔者最近学习在apache+php5+mysql5下开发web应用程序,但是在安装apache服务器是遇到了很多困难,在网上搜索了一筐罗关于解决安装apache服务器出错的博文(包括百度知道),结果大部分文章都不是在win7下安装的apache,有的即使说道了点上,但在我这里也没能解决问题。最后,笔者抱着坚定地决心,在网上仔细查询资料,终于解决了问题,欣喜之情溢于言表。好了,废话不多说,赶快把解决方案给大家奉上,与大家分享,方便大家做个参考,做到抛砖引玉de作用。
1.准备安装包(请大家在网上找,笔者使用apache_2.2.4-win32-x86-no_ssl.msi)\(如果以前安装过apache,但没安装成功,这时推荐您需要使用软件revo uninstaller进行彻底删除残留文件,否则可能在下次安装过程中再次出错)
2.关掉uac(这一步非常重要,原因我也说不上。具体操作:开始菜单->控制面板->系统安全->更改用户账户控制设置->把滑调下拉到从不通知->确定最后重启电脑)
3.点击安装
*.运行 apache 2.2.4 的安装程序,根据提示一路 Next 即可。注意在 Server Information 的 Network Domain、Server Name 字段填上 localhost,最下面一个空填上您自己的邮箱如:*********@qq.com。在安装类型的位置选 Custom,然后改变安装路径(笔者的目录是 d:/web)。然后根据提示一路 Next 完成即可。
*.在安装结束时,会弹出一个 DOS 错误窗口,主要原因是由于权限禁止,无法注册服务。直接关掉这个错误窗口。其后以管理员身份进行 DOS 命令行 (win+R -> cmd>回车)
*.由于这时我们还没安装httpd服务(默认的是80号端口,但这端口被其他进程占了,这倒霉apache就是监听80端口),所以先得安装在这个服务。
# 进入 apache 的安装目录的bin目录下(笔者的apache安装目录是 d:/web,起始目录C:\users\wch0116,结果如图所示)
#安装httpd服务(命令httpd -k install)
虽然还是unable to open logs,但离成功不远了。
4.监听哪个进程占用了80号端口(命令netstat -aon|findstr "80")
注意第2行,检测出是pid(进程号)为4(最后一列)的进程占用了80号端口,下面找这个进程号为4的真身(命令 tasklist|findstr "4")
结果显示:
注意第三行,显示为进程system(与第二列的4对应),终于找到这个带马甲的家伙了——!(说明,具体情况具体分析,不一定进程都一样!)
5.修改httpd.conf文件(在安装目录的conf文件夹下)
打开这个文件,找到
#Listen 12.34.56.78:80180
修改完成后别忘了保存!!!
说明:不一定都这样改,反正这个端口不能已经被占用为原则。
6.启动httpd服务(命令httpd -k start)
结果:什么也不提示表明启动服务成功。
<如果不放心,可以检验一下是否成功
1.命令 netstat -aon|findstr "81"
看的方法与前面一样,这里pid为5152.
2.命令tasklist|findstr "5152"
显示了httpd.exe 的进程号为5152,与我们期待的结果一样,自此,所有工作基本结束,apache能正常启动)
看一下apache monitor的图标,是否中间变成了绿色的三角形?
尾声:1由于这只是笔者在学习过程中遇到的问题,不能包含所有问题,所以希望大家抱着参考的心态对待这篇文章。
2在学习过程中遇到其他的问题,要多问,多查资料,多分析,多和有经验的人交流,切忌轻言放弃。
3由于笔者也是一个初学者,这篇文章难免包含一些问题和不全之处,恳请大家不吝赐教和补充,共同学习,共同进步。