Apache网站服务基础
一.安装httpd服务器
1. 为了避免端口冲突,程序冲突,建议先卸载使用RPM方式安装的httpd
rpm -q | grep httpd
rpm -e httpd --nodeps
2. 源码编译及安装
a) 解包
tar zxfhttpd-2.2.17.tar -C /root
cd ~
b) 配置
根据服务器实际的应用需求,可以灵活设置不同的定制选项
各选项的含义:
--prefix:指定将httpd服务程序安装到哪个目录下
--enable-so:启用动态加载模块支持,使httpd具备进一步扩展的能力
--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护
--enable-charset-list:启动字符集支持,以便支持用各种字符集编码的网页
--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力
c)编译及安装
make && make install
3. 确认安装结果
主要目录的用途:
/usr/local/httpd/bin:存放httpd服务的各种执行程序文件,包括主程序httpd,服务控制工具apachectl等
/usr/local/httpd/conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf,增强配置子目录extra等
/usr/local/httpd/htdocs:存放网页文档,包括默认首页文件index. html等
/usr/local/httpd/logs:存放httpd服务的日志文件
/usr/local/httpd/modules:存放httpd服务的各种模块文件
/usr/local/httpd/cgi-bin:存放各种CGI 程序文件
4. 优化执行路径
通过源码编译安装的httpd服务,程序路径并不再默认的搜索路径中,为了使该服务在使用时更方便,可以为相关程序添加符号链接。
ln -s /usr/local/httpd/bin/* /usr/local/bin/
5. 添加httpd系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim/etc/init.d/httpd(在前三行填写如下图内容)chkconfig –add httpd //将httpd添加为系统服务
chkcofnig –list http //查看httpd服务的自启动状态
二. httpd的部署过程
1.配置并启动服务
vim/usr/local/httpd/conf/httpd.conf
ServerName www.akhack.com //设置网站名称
修改httpd.conf文件的配置内容后,建议使用带“-t”选项的apachectl命令对配置文件内容进行语法检查,如没有语法错误,则显示“Syntax OK”的信息
/usr/local/httpd/bin/apachectl -t
2.启动服务
service httpd start
查看服务是否启动
netstat -anpt | grep httpd
3.查看web站点访问情况
通过查看日志文件access_log,可以了解web站点的访问情况
通过查看日志文件error_log,可以为排查服务器运行故障提供参考
三.httpd.conf配置文件
1.全局配置项
ServerRoot:设置httpd服务器的根目录,该目录下包括了运行web站点必须的子目录和文件。
Listen:设置httpd服务器监听的网络端口号,默认端口80.
User:设置运行httpd进程时的用户身份,默认为daemon。
Group:设置运行httpd进程的的组身份,默认为daemon。
ServerAdmin:设置httpd服务器的管理员E-mail地址。
ServerName:设置web站点的完整主机名(域名)
DocumentRoot:设置网站根目录,即网页文档在系统中的存放路径
Directorylndex:设置网站的默认首页,可以设置多个首页文件,用空格隔开
ErrorLog:设置错误日志文件的路径,默认路径为logs/error_log
LogLevel:设置记录日志的级别,默认级别为warn(警告)
CustomLog:设置访问日志文件的路径,默认为logs/access_log
PidFile:设置用于保存httpd进程号(PID)的文件
CharsetDefault:设置站点中的网页默认使用的字符集编码,如UTF-8
lnclude:包含另一个配置文件的内容
2.区域配置项
除了全局配置项以外,httpd.conf文件中的大多数配置是包括在区域中的。区域配置使用一对组合标记,限定了配置项的作用范围。
常见的目录区域配置的形式如下所示:
<Directory /> //定义“/”目录区域的开始
Options FollowSymLinks //控制选项,允许使用符号链接
AllowOverride None //不允许隐含控制文件中的覆盖配置
Order deny,allow //访问控制策略的应用顺序
Deny from all //禁止任何人访问此区域
</Directory> //定义“/”目录区域的结束
四.基于域名的虚拟主机
1.为虚拟主机准备网页文档
mkdir /var/www/html/bjcom mkdir /var/www/html/shcom echo “<h1>www.beijing.com<h1>” /var/www/html/bjcom/index.html echo “<h1>www.shanghai.com<h1>” /var/www/html/shcom/index.html
2.添加虚拟主机配置
在httpd服务器的主配置文件中,修改一下内容
a)监听地址:使用NameVirtualHost配置项指定提供虚拟主机服务的ip地址
b)虚拟主机区域:使用<VirtualHost监听地址>。。。。。。</VirtualHost>区域配置,为每一个虚拟主机建立独立的配置内容。
c)目录权限:使用<Directory 目录位置>。。。。。。。。</Directory>区域配置,为每一个虚拟主机的网站目录设置访问权限,
(1)vi/usr/local/httpd/conf/extra/httpd-vhosts.conf
(2)修改主配置文件
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,去掉#号
五.基于ip地址的虚拟主机
(1)vi/usr/local/httpd/conf/extra/httpd-vhosts.conf
(2)修改主配置文件
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,去掉#号
六.基于端口的虚拟主机
(1)vi/usr/local/httpd/conf/extra/httpd-vhosts.conf
(2)修改主配置文件
Include conf/extra/httpd-vhosts.conf //加载独立的配置文件,去掉#号
Listen 192.168.1.20:80 //监听80端口
Listen 192.168.1.20:8080 //监听8080端口
本文出自 “carey” 博客,请务必保留此出处http://akhack.blog.51cto.com/11084669/1760081
原文地址:http://akhack.blog.51cto.com/11084669/1760081