CentOS6.5系统搭建Apache服务器
时间:2015-05-09 02:59 来源:blog.51cto.com 作者:xiexiaojun
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
Apache工作模式有多种,其中最常用的有两种:
Prefork模式:PreforkMPM 使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。
在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。
Worker模式:WorkerMPM 使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。
Worker MPM也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一起"死掉".由于线程共享内存空间,所以一个程序在运行时必须被系统识别为"每个线程都是安全的"。
环境:
CentOS 6.5 x86_64-minimal
cd
~
rpm -qa |
grep
httpd
yum remover apr apr-util pcre httpd -y
yum -y
install
gcc gcc-c++ wget
wget -c http:
//soft
.vpser.net
/web/apache/httpd-2
.4.12.
tar
.gz
wget -c http:
//soft
.vpser.net
/web/apache/apr-1
.5.1.
tar
.gz
wget -c http:
//soft
.vpser.net
/web/apache/apr-util-1
.5.4.
tar
.gz
wget -c http:
//soft
.vpser.net
/web/pcre/pcre-8
.30.
tar
.gz
tar
-xzvf apr-1.5.1.
tar
.gz
tar
-xzvf apr-util-1.5.4.
tar
.gz
tar
-xzvf pcre-8.30.
tar
.gz
tar
-xzvf httpd-2.4.12.
tar
.gz
cd
pcre-8.30
.
/configure
--prefix=
/usr/local/pcre
make
&&
make
install
cd
~
/apr-1
.5.1
.
/configure
--prefix=
/usr/local/apr
make
&&
make
install
cd
~
/apr-util-1
.5.4
.
/configure
--prefix=
/usr/local/apr-util
--with-apr=
/usr/local/apr/bin/apr-1-config
make
&&
make
install
cd
~
/httpd-2
.4.12
.
/configure
--prefix=
/usr/local/apache
--with-apr=
/usr/local/apr
--with-apr-util=
/usr/local/apr-util
--with-pcre=
/usr/local/pcre
--
enable
-so --
enable
-modules=all --sysconfdir=
/usr/local/apache/conf
--with-pcre=
/usr/local/pcre
make
&&
make
install
cd
~
/usr/local/apache/bin/apachectl
start
#启动Apache
注意:之所以启动Apache的时候报httpd: apr_sockaddr_info_get() failed
for
jacken
httpd: Could not reliably determine the server'sfully qualified domain name, using 127.0.0.1
for
ServerName
这不能属于一个错误,因为这个不影响服务的正常运行,但我看着就是不爽。
原因:这个问题应该是没有在 httpd.conf 中设定 ServerName
解决办法:
vim
/usr/local/apache2/conf/httpd
.conf
cat
/usr/local/apache2/conf/httpd
.conf |
grep
^ServerName
ServerName localhost:80
添加Apache开机自动启动:
1 最简单的方法:
echo
"/usr/local/apache/bin/apachectl"
>>
/etc/rc
.d
/rc
.
local
2
ln
-s
/usr/local/apache/bin/apachectl
/etc/rc
.d
/rc3
.d
/S85httpd
//
建立软链接
3 运行chkconfig --list,发现没有linux服务列表中httpd,通过chkconfig --add httpd来添加,但是提示:httpd服务不支持 chkconfig。
\
cp
/usr/local/apache/bin/apachectl
/etc/rc
.d
/init
.d
/httpd
需要编辑
/etc/rc
.d
/init
.d
/httpd
,添加以***释信息:
#chkconfig: 345 85 15 注意:添加的内容包括#号
#description: Apache
第一行3个数字参数意义分别为:哪些Linux级别需要启动httpd(3,4,5);启动序号(85);关闭序号(15)。
保存后执行:chkconfig --add httpd,成功添加。
在rc3.d、rc4.d、rc5.d路径中会出现S85httpd的链接文件,其他运行级别路径中会出现K61httpd的链接文件。
然后就可以使用 service httpd start
service httpd stop
service httpd restart 管理Apache服务了
验证Apache服务安装成功。
附件为脚本安装Apache
注:脚本是在WINDOWS平台上写的,要使用命令
set
ff=unix把dos格式转换unix便可使用
艹,这附件传上来就不能删了?其实我只是想传上来试试的,里面还有一些要修改2个地方:
1 wget下载最好加上-c 参数,要不然大多数的时候源码包下不下来,不知道为什么
如:wget -c http:
//soft
.vpser.net
/web/apache/httpd-2
.2 .4.12.
tar
.gz
2 安装httpd时,忘记关联pcre了,自己一步一步安装时不关联也没报错,但用脚本不知道为什么 就一定要关联才行,要不然会报错
.
/configure
--prefix=
/usr/local/apache
--with-apr=
/usr/local/apr
--with-apr-util=
/usr/local/apr-util
--with-pcre=
/usr/local/pcre
--
enable
-so --
enable
-modules=all --sysconfdir=
/usr/local/apache/conf
3 在我的下载里面有修改,验证后正确的脚本。
(责任编辑:IT)
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 Apache工作模式有多种,其中最常用的有两种: Prefork模式:PreforkMPM 使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。 在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。 Worker模式:WorkerMPM 使用多个子进程,每个子进程有多个线程。每个线程在某个确定的时间只能维持一个连接。通常来说,在一个高流量的HTTP服务器上,Worker MPM是个比较好的选择,因为Worker MPM的内存使用比Prefork MPM要低得多。 Worker MPM也由不完善的地方,如果一个线程崩溃,整个进程就会连同其所有线程一起"死掉".由于线程共享内存空间,所以一个程序在运行时必须被系统识别为"每个线程都是安全的"。 环境: CentOS 6.5 x86_64-minimal
(责任编辑:IT) |