虽然本人接触最多的服务器软件是nginx,但是作为老大哥的apache依旧是不可轻视的一个软件,而且在这个世界上还有服务器的软件都依赖apache的环境,于是乎,安装apache是一个运维工程师的基本功。
Apache的安装
去
Apache的官方网站上下载安装文件,然后"拆包解压+./configure",但是可能会在./configure这步会提示
“configure: error: APR not found . Please read the documentation"。
于是就要返回Apache网站再下载三个组件----apr、apr-util和pcre,下载命令分别是:
wget mirrors.cnnic.cn/apache//apr/apr-1.5.2.tar.gz wget mirrors.cnnic.cn/apache//apr/apr-util-1.5.4.tar.gz wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip #都wget之后,执行下一步 yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs
先安装apr:
[[email protected] shuo]# tar -zxf apr-1.5.2.tar.gz [[email protected] shuo]# cd apr-1.5.2 [[email protected] apr-1.4.5]# ./configure --prefix=/usr/local/apr [[email protected] apr-1.4.5]# make && make install
再安装apr-util:
[[email protected] shuo]# tar -zxf apr-util-1.5.4.tar.gz [[email protected] shuo]# cd apr-util-1.5.4 [[email protected] apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config #用-with-apr来指定apr的路径 [[email protected] apr-util-1.3.12]# make && make install
最后安装pcre:
[[email protected] shuo]#unzip -o pcre-8.10.zip [[email protected] shuo]#cd pcre-8.10 [[email protected] pcre-8.10]#./configure --prefix=/usr/local/pcre [[email protected] pcre-8.10]#make && make install
返回apache的拆包目录,使用这个一大句命令就可以成功configure了:
./configure
--prefix=/usr/local/apache --enable-module=shared
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
--with-pcre=/usr/local/pcre
Apache的启动、重启和停止
进入apache的文件夹,然后cd到bin文件夹,使用#./apachectl -k start,就可以启动apache,但是如果出现了如下错误:
这个时候需要到apache的目录里进入到conf文件夹,#vim httpd.conf,然后使用:/ServerName 查找到ServerName localhost:80这句话,把这句话前面的#去掉,然后保存退出。重新返回bin文件夹下,使用#./apachectl -k start,这个时候就会看到进程已经启动了。
如果返回到桌面的话,使用浏览器打开http://localhost:80,就会看到“It works!“的字样。
若需要停止apache进程,就#./apachectl -k stop 或者直接"kill -9 +进程号",如果要重启apache就可以#./apachectl -k restart。
上面说了可以使用kill -9 +pid号,但是这个方法只能kill掉主程序,比较科学的方法应该是#ps -ef |grep apache | grep -v grep | awk ‘{print $2}‘|xargs kill -9.这个语句跟#./apachectl -k stop 的效果一样。
可以通过#netstat -antp|grep 80或者#lsof -i :80这两个语句来看80端口是否被apache进程监听。
参考文章:http://xtony.blog.51cto.com/3964396/836508/
参考文章:http://blog.sina.com.cn/s/blog_4d83777b0100pgal.html