Linux下安装Apache服务器.docx
- 文档编号:28276849
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:22
- 大小:572.41KB
Linux下安装Apache服务器.docx
《Linux下安装Apache服务器.docx》由会员分享,可在线阅读,更多相关《Linux下安装Apache服务器.docx(22页珍藏版)》请在冰豆网上搜索。
Linux下安装Apache服务器
Linux下安装Apache服务器 2010-07-2907:
37:
41
分类:
系统运维
Apache服务器是目前比较主流的web服务器。
在目前市场是占用很大的市场份额。
Apache服务器之所以能够长期作为Web服务器的实际标准,与其具有的诸多优秀特性是密不可分的
主要特点
开放源代码、跨平台应用
支持多种网页编程语言
模块化设计 、运行稳定、良好的安全性
软件版本
1.X
目前最高版本是1.3,运行稳定
向下兼容性较好,但缺乏一些较新的功能
2.X
目前主要包括2.0和2.2两个版本
具有更多的功能特性
与1.X相比,配置管理风格存在较大差异
1.X版本和2.X版本并存,同时进行维护。
1.X系列侧重于维持既有功能的一贯稳定性,而2.X系列则增加了一些性能优化措施,提供对更多扩展功能的支持,例如:
2.X系列采用了MPM(MultiProcessingModules,多道处理模块)机制,负责绑定本机网络端口、接受访问请求,提高了Web服务的性能
对于新建立的Web站点服务器,通常会选用2.x系列的版本;而对于已经使用较长时间的既有Web应用服务器,可能会仍然维持使用1.x系列版本
编译安装
编译安装的优点
具有较大的自由度,功能可定制
可及时获得最新的软件版本
普遍适用于大多数Linux版本,便于移植使用
对于源码编译安装的httpd软件包,服务目录通常也就是安装目录,所有的程序、文件、子目录等都集中在服务目录下
主要目录和文件:
服务目录:
/usr/local/apache2/
主配置文件:
/usr/local/apache2/conf/httpd.conf
网页目录:
/usr/local/apache2/htdocs/
服务脚本:
/usr/local/apache2/bin/apachectl
执行程序:
/usr/local/apache2/bin/httpd
访问日志:
/usr/local/apache2/log/access_log
错误日志:
/usr/local/apache2/log/error_log
获得Apache服务器的源码包
参考地址:
http:
//httpd.apache.org/download.cgi
下面来介绍一下主流的安装步骤:
一:
准备工作
在安装httpd之前必须要配置好DNS服务
二Httpd
安装Apache的主要步骤如下:
1. 解包
tar zxvfhttpd-2.2.9.tar.gz -C /usr/src/
2. 编译前的配置
cd /usr/src/httpd-2.2.9
./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite
这一步是根据你的特定平台和个人需求配置源代码树。
位于发行源代码根目录的configure脚本会完成这个步骤(对下载ApacheCVS版源代码的开发者,需要装有autoconf和libtool ,并需要执行buildconf ,对于官方的发行版则没这个必要)。
要想用所有的默认值配置源代码树只要简单的执行 ./configure 命令就可以了,同时configure还可以接受命令行参数以改变默认值。
最重要的选项是Apache安装目录的前缀:
--prefix ,因为Apache需要知道这个目录才能正常运作。
更多的微调选项请参考配置选项详解。
这样,你就可以通过在配置选项中指定要启用或禁用哪些模块来定制Apache的特性。
Base组的模块默认包含在Apache中。
其他组的模块可以通过 --enable-module 指令启用。
其中module是模块名去掉"mod_"并将下划线转换成连字符后的字符串。
你也可以使用 --enable-module=shared 指令将模块编译为可在运行时加载和卸载的动态共享对象(DSO)。
同样的,你也可以使用 --disable-module 指令禁用Base组的模块。
注意,使用这些指令的时候configure不会对你拼写错误的模块发出警告说找不到某某模块,而只是简单的忽略这个选项。
另外,有时候还必须提供给configure脚本关于编译器、库、头文件位置的更多信息。
这些可以通过环境变量或者命令行选项传递给configure脚本。
要了解更多信息,请参考配置源代码树。
为了让你对能指定什么有一个简单的印象,此例演示编译Apache ,并将其安装在/sw/pkg/apache目录,指定了一个特定的编译器以及编译参数,而且允许今后将两个附加的模块mod_rewrite和mod_speling通过DSO机制在运行时动态加载:
$CC="pgcc"CFLAGS="-O2"\
./configure--prefix=/sw/pkg/apache\
--enable-rewrite=shared\
--enable-speling=shared
configure需要运行几分钟,以测试指定的功能在你的系统中是否有效,并建立稍后编译时所需的许多Makefile文件。
3. 编译并安装
make&&makeinstall
我们可以把它写成脚本来安装,写法如下;
#!
/bin/sh
tar-zxfhttpd-2.2.9.tar.gz
echo"正在开始安装......"
cdhttpd-2.2.9
echo"已完成30%......"
./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite&>/dev/null
echo"已完成50%......"
make&>/dev/null
echo"已完成80%......"
makeinstall&>/dev/null
echo"安装已完成"
准备好软件;
编写脚本;
赋予执行的权限
执行脚本,如下,安装成功。
进入/usr/local/apache2/conf/目录,修改httpd.conf文件,如下,去掉Includeconf/extra/httpd-userdir.conf前面的#号
进入/etc/skel目录,新建public_html目录,然后新建用户并赋予其权限。
进入/usr/local/apache2/conf/目录的配置文件httpd.conf,将virtualhosts下的#号去掉
进入extra/目录,编辑http-vhosts.conf配置文件,在其最后一行添加如下内容;
NameVirtualHost192.168.0.106 #虚拟主机支持的ip是192.168.0.106
ServerName
DocumentRoot/home/lele/public_html
AddDefaultCharsetUTF-8#默认此虚拟主机支持UTF-8语言
没建一个用户,就添加一行。
实现ftp进行更新功能,安装vsftpd软件包
修改anonymous_enable=NO,添加chroot_local_user=YES
启动ftp服务和httpd服务
如安装成功,就会出现如下效果
在
如客户端浏览器输入就会出现如下页面。
做个测试,在/var/www/html/目录下新建一张主页并添加内容;
再次输入,就会出现如下内容。
具体文字叙述:
一:
搭建DNS
安装bind软件包
1.修改主配置文件
cd/var/named/chroot/etc/named.caching-nameserver.conf
1.1改4个地方成any
2.修改主配置文件的扩展文件named.rfc1912.zones
2.1添加,为主域(master)
zone""{#开启域名叫
typemaster;#类型为主域
file"";#域配置文件为
};
zone""{#开启域名叫
typemaster;#类型为主域
file"";#域配置文件为
};
3.建立,的域配置文件
cd/var/named/chroot/var/named
cpnamed.local
删除的最后一行
添加
www IN A 192.168.0.2
保存退出
cp
执行bind-chroot-admin-s命令
chkconfignamedon
4.重启服务,完成配置
二:
装httpd软件httpd-2.2.9.tar.gz
编写脚本
#!
/bin/sh
tar-zxfhttpd-2.2.9.tar.gz
echo"正在开始安装......"
cdhttpd-2.2.9
echo"已完成30%......"
./configure--prefix=/usr/local/apache2--enable-so--enable-rewrite&>/dev/null
echo"已完成50%......"
make&>/dev/null
echo"已完成80%......"
makeinstall&>/dev/null
echo"安装已完成"
执行脚本./install.sh
vi/usr/local/apache2/conf/httpd.conf
将382前面的#号删除变为
Includeconf/extra/httpd-userdir.conf
cd/etc/skel
mkdirpublic_html
adduserlele
passwdlele
adduseryue
passwdyue
chmodo+x/home/*
cd/usr/local/apache2/conf/
vihttpd.conf
修改virtualhosts下去掉#
cdextra/
vihttp-vhosts.conf
NameVirtualHost192.168.0.106#虚拟主机支持的ip是192.168.0.2
ServerName
DocumentRoot/home/lele/public_html
AddDefaultCharsetUTF-8#默认此虚拟主机支持UTF-8语言
ServerName
DocumentRoot/home/lele/public_html
AddDefaultCharsetUTF-8#默认此虚拟主机支持UTF-8语言
3.实现ftp进行更新功能
vitc/vsftpd.conf
修改anonymous_enable=NO
3、1添加chroot_local_user=YES
3、2关闭匿名访问
servicevsftpdstart
/usr/local/apache2/bin/apachectlstart
知识补充:
httpd.conf配置文件
使用下面的命令可以获得有效配置清单:
grep-v"#"httpd.conf.bak|grep-v"^$">httpd.conf
常用的全局配置参数
ServerRoot:
服务目录
ServerAdmin:
管理员邮箱
User:
运行服务的用户身份
Group:
运行服务的组身份
ServerName:
网站服务器的域名
DocumentRoot:
网页文档的根目录
Listen:
监听的IP地址、端口号
PidFile:
保存httpd进程PID号的文件
DirectoryIndex:
默认的索引页文件
ErrorLog:
错误日志文件的位置
CustomLog:
访问日志文件的位置
LogLevel:
记录日志的级别,默认为warn
Timeout:
网络连接超时,默认为300秒
KeepAlive:
是否保持连接,可选On或Off
MaxKeepAliveRequests:
每次连接最多请求文件数
KeepAliveTimeout:
保持连接状态时的超时时间
Include:
需要包含进来的其他配置文件
升级
升级的第一步是阅读源代码目录中的发布公告(releaseannouncement)和CHANGES文件以寻找可能会对你的站点产生影响的变化。
如果主板本号的变化(例如1.3→2.0或2.0→2.2)表明编译时和运行时的配置发生了重大变化,需要手动调整,所有模块也需要升级以兼容新版本的模块API 。
小幅度的版本升级(例如:
2.2.55→2.2.57)很容易。
makeinstall 的过程不会改写任何已经存在的文档、日志、配置文件。
此外,开发者也会尽量兼容上一版本的configure选项、运行时配置、模块API 。
大多数情况下,你将能够使用与上一版本完全相同的configure命令行和运行时配置,而你原来的所有模块也将正常工作。
如果你保存了上一次安装后build子目录中的config.nice文件,升级将更加平滑。
这个文件精确地保存了所有对目录树进行配置的configure命令行。
你只需要将config.nice文件复制到新的源代码目录树的根文件夹并进行你希望的修改后,然后运行下面的命令即可完成升级:
$./config.nice
$make
$makeinstall
$PREFIX/bin/apachectl-kgraceful-stop
$PREFIX/bin/apachectl-kstart
Linuxapache编译安装
Linuxapache编译安装
文章分类:
操作系统
1.下载httpd-2.2.15.tar.gz
wget
[root@test-AS4~]#mkdir-P/usr/local/src/apache/ #创建源包存放的目录
[root@test-AS4~]#cd/usr/local/src/apache/ #把httpd-2.2.15.tar.gz放入此目录下
[root@test-AS4apache]#tarzxvfhttpd-2.2.15.tar.gz #解压文件会生成httpd-2.2.15目录
[root@test-AS4apache]#ll
total6464
drwxr-xr-x 11angelangel 4096Mar1007:
42httpd-2.2.15
-rw-r--r-- 1root root 6593633Mar10 2010httpd-2.2.15.tar.gz
[root@test-AS4httpd-2.2.15]#cdhttpd-2.2.15
[root@test-AS4httpd-2.2.15]#./configure--prefix=/usr/local/apache-2.2.15 --enable-so--enable-mods-shared=most--with-mpm=worker
如果发现gcc没有装,请先安装GCC yum-yinstallgcc
[root@test-AS4httpd-2.2.15]#make #执行make前执行 apt-getbuild-depfcitx
[root@test-AS4httpd-2.2.15]#makeinstall
# --prefix=
# --enable-so指明编译动态加载模块(DSO)支持到httpd二进制文件,此模块使得Apache的各功能模块可以与核心分开编译、运行时动态加载。
有了DSO支持,升级和增加模块时只需编译相关的模块即可,不必重新编译整个系统。
最新版本的Apache缺省编译此模块到httpd二进制文件,如果你在使用早期版本的apache并且需要DSO支持,可能要明确指出此选项。
# --enable-mods-shared=
# --with-mpm=
worker为支持混合的多线程多进程的多路处理模块,由于使用线程来处理请求,所以可以处理海量请求,而系统资源的开销小于基于进程的MPM,同时,它也使用了多进程,每个进程又有多个线程,以获得基于进程的MPM的稳定性。
如果你的系统是基于线程安全的,那么笔者建议使用worker替代prefork,它将使得你的系统得到实际的性能改善。
2.设置开机自启动服务控制脚本
Apache安装后可通过其安装路径的bin目录下的apachectl脚本控制服务的启动和停止。
本例中apache安装在/usr/local/apache-2.2.15,服务控制脚本为:
/usr/local/apache-2.2.15/bin/apachectl
执行下面的命令启动Apache服务:
/usr/local/apache-2.2.15/bin/apachectlstart
执行下面的命令停止Apache服务:
/usr/local/apache-2.2.15/bin/apachectlstop
可以简单地把Apache启动命令加到/etc/rc.local文件,让Apache随系统启动而自动启动:
echo"/usr/local/apache-2.2.15/bin/apachectlstart" >>/etc/rc.local
下面介绍如何把Apache加入到系统服务,用service命令来控制Apache的启动和停止。
##这里请注意一下!
如果Linux服务器上默认安装了httpd的话(用rpm-qa|grephttpd查看),
##会有/etc/init.d/httpd这个脚本文件的,所以你也可以用以下方法直接生成这个文件来覆盖它
##那么下次就可以用servicehttpdstart来启动了
##如果需要区分开来的话就使用下面的方式
首先以apachectl脚本为模板生成Apache服务控制脚本:
grep-v"#"/usr/local/apache-2.2.15/bin/apachectl >/etc/init.d/apache
用vi编辑Apache服务控制脚本/etc/init.d/apache:
vi/etc/init.d/apache
在文件最前面插入下面的行,使其支持chkconfig命令:
#!
/bin/sh
#chkconfig:
23458515
#description:
ApacheisaWorldWideWebserver.
保存后退出vi编辑器,执行下面的命令增加Apache服务控制脚本执行权限:
chmod +x /etc/init.d/apache
执行下面的命令将Apache服务加入到系统服务:
chkconfig--addapache
执行下面的命令检查Apache服务是否已经生效:
chkconfig--listapache
命令输出类似下面的结果:
apache 0:
off1:
off2:
on3:
on4:
on5:
on6:
off
表明apache服务已经生效,在2、3、4、5运行级别随系统启动而自动启动,以后可以使用service命令控制Apache的启动和停止。
启动Apache服务:
serviceapachestart
停止Apache服务:
serviceapachestop
执行下面的命令关闭开机自启动:
chkconfigapacheoff
执行下面的命令改变开机自启动的运行级别为3、5:
chkconfig--level35apacheon
3.Apache的配置
源码包方式安装目录结构
源码包方式安装时通常是在configure命令的--prefix选项指定的目录中建立如下的目录结构,特殊指定的目录除外:
./icons #Apache图标文件目录
./modules #动态加载模块目录
./lib #库文件目录
./logs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 安装 Apache 服务器