linux下apache服务搭建

实验拓扑:
                         Linux Client
-----RHEL5.9(vmnet1)----------(vmnet1)
                         Win7 Client

实验一:查看默认HTTP配置
    找到默认红帽欢迎页面
(/etc/httpd/conf/httpd.conf ---->Include ---->

/etc/httpd/conf.d  ----> welcome.conf  ---->

/var/www/error/noindex.html)  //通过主配置文件一步步查找到默认

页面
前提条件:
1,配置IP
[root@svr1 conf.d]# cat /etc/sysconfig/network-

scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller

(Copper)
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:DB:02:CE
ONBOOT=yes
IPADDR=192.168.1.254
NETMASK=255.255.255.0
2,主机名
[root@svr1 conf.d]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=svr1.tarena.com
GETEWAY=192.168.1.1
3,hosts文件
[root@svr1 conf.d]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1        localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6
192.168.1.254    svr1.tarena.com svr1
[root@svr1 yum.repos.d]# yum -y install httpd    //安装
[root@svr1 ~]# vim /etc/httpd/conf/httpd.conf
Include conf.d/*.conf        //套用conf.d下以.conf结尾的配

置文件
[root@svr1 conf.d]# service httpd restart
[root@svr1 conf.d]# chkconfig httpd on        //启动服务
实验二:基本HTTP服务器的配置
    Web服务器域名:www.tarena.com
    默认首页包括:index.html、index.php
    开启保持连接
    确认默认httpd是否支持php    
    网站用老师提供的test_web.zip测试

服务器操作:
[root@localhost ~]# cd /etc/httpd/conf
[root@localhost conf]# cp httpd.conf httpd.conf.bak    //备份

主配置文件
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf    //修改

参数
...
 74 KeepAlive On            //开启保持连接
...
265 ServerName www.tarena.com        //服务器域名
...
391 DirectoryIndex index.html index.php    //默认的首页文件
...
[root@localhost ~]# cd /root/Desktop/
[root@localhost Desktop]# unzip test_web.zip
[root@localhost Desktop]# mv jiajutiyan/* /var/www/html/    

//把测试页面放入网站默认的根路径/var/www/html
4、编写测试php页面
[root@localhost ~]# cat /var/www/html/test.php //写一个php测试

文档
<?php
        phpinfo();
?>
测试:
[root@svr1 ~]# elinks http://www.tarena.com    //linux文本模

式下利用elinks可以测试网页可否访问
192.168.10.254    www.tarena.com    www    //在客户端指定hosts文


http://www.tarena.com        //会显示出/var/www/html下的网


http://www.tarena.com/test.php    //查看是否支持php,现在没有安装

php所以看到的是文档里写的字符


实验三:
只允许192.168.1.10访问http://www.tarena.com
允许所有用户访问http://www.tarena.com/authdir/index.html
[root@svr1 html]# vim /etc/httpd/conf/httpd.conf
<directory /var/www/html>
    Order allow,deny    //认证规则allow,deny为先允许再拒绝,默认

拒绝所有;deny,allow为先拒绝在允许,默认允许所有
 #   Allow from all
    Allow from 192.168.1.10    //允许192.168.1.10访问

http://www.tarena.com
</Directory>
<directory /var/www/html/authdir>
order allow,deny
allow from all            //允许所有访问

http://www.tarena.com/authdir/
</directory>
[root@svr1 html]# mkdir -p /var/www/html/authdir
[root@svr1 html]# echo "aaaaa"

>/var/www/html/authdir/index.html
重启服务后分别在客户端测试结果应该为1.10可以访问上述两个站点,其

他客户机只能访问http://www.tarena.com/authdir/index.html

实验四:HTTP的用户授权客户端访问http://www.tarena.com/authdir需

要输入用户名密码 验证
1,修改主配置文件
[root@svr1 html]# vim /etc/httpd/conf/httpd.conf
<directory /var/www/html/authdir>
order allow,deny
allow from all
authname "please input password!"    //用于弹窗提示
authtype "basic"            //认证类别,一般为basic
authuserfile "/etc/httpd/.passwd"    //认证用户文件
require valid-user            //指定授权用户或者组

valid-user为所有认证用户也可以写为user user1 user2 ...  group

组1 组2 ...
</directory>
[root@svr1 html]# htpasswd -c /etc/httpd/.passwd user1   //创

建认证用户-c表示新建文件,在第一次创建的时候添加,之后再创建用户加

-c之前的用户会清空
New password:
Re-type new password:
Adding password for user user1
重启服务,在客户机测试
实验五:HTTP目录别名
客户端访问http://www.tarena.com/aa时可以访

问/var/www/html/aa/bb下的网页
1、创建测试站点
[root@svr1 html]# cd /var/www/html/
[root@svr1 html]# mkdir -p aa/bb/
[root@svr1 html]# echo "<h6>aaa</h6>" >aa/bb/index.html
2,修改配置文件
[root@svr1 html]# vim /etc/httpd/conf/httpd.conf
alias /aa /var/www/html/aa/bb
重启服务后在客户端测试

实验六:
    查看默认HTTP使用进程管理方式
    更改默认进程管理方式为worker模式
[root@svr1 bb]# httpd -l    查看httpd启用的模块
Compiled in modules:
  core.c
  prefork.c    //httpd默认的工作模式,比较稳定,但是占用的资源高
  http_core.c
  mod_so.c
把prefork模式改为worker模式
[root@svr1 bb]# cd /usr/sbin/
[root@svr1 sbin]# mv httpd httpd.prefork
[root@svr1 sbin]# mv httpd.worker httpd        //移动启动脚本
[root@svr1 sbin]# service httpd restart        //重启服务查看

效果
[root@svr1 sbin]# httpd -l
Compiled in modules:
  core.c
  worker.c        //发现启动模式改为了worker,worker处理高

并发的能力更强,但是不稳定
  http_core.c
  mod_so.c
<IfModule prefork.c>    //prefork.c配置prefork模块
StartServers       8    //启动服务时开启8个进程
MinSpareServers    5    //最小空闲进程数,空闲进程不足5时建立新

的进程
MaxSpareServers   20    //最大空闲进程
ServerLimit      256    //进程限制为265以内
MaxClients       256    //最大进程数,不可大于serverlimit
MaxRequestsPerChild  4000    //最大请求
</IfModule>
试验七:
    部署Awstats统计Http访问日志
1,解压安装
[root@svr1 ~]# tar zxf awstats-7.1.tar.gz -C /usr/src/
[root@svr1 ~]# cd /usr/src/
[root@svr1 src]# mv awstats-7.1/ /usr/local/awstats
[root@svr1 src]# cd /usr/local/awstats/    
[root@svr1 awstats]# ./tools/awstats_configure.pl  //配置脚本
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path (‘none‘ to skip web server setup):
> /etc/httpd/conf/httpd.conf        //httpd主配置文件路径
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y    //创建一个新配

置文件    
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> www.tarena.com    //域名
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>     //配置文件路径,默认,一路回车完成安装
[root@svr1 awstats]# mkdir -p /var/lib/awstats    //创建数据库文

件夹
[root@svr1 awstats]# vim

/etc/awstats/awstats.www.tarena.com.conf
LogFile="/var/log/httpd/access_log"    //修改httpd日志路径
[root@svr1 awstats]#

/usr/local/awstats/tools/awstats_updateall.pl now    //更新

日志文件
[root@svr1 awstats]# crontab -e    //添加计划任务,五分钟刷新一次
*/8 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[root@svr1 awstats]# vim /var/www/html/awstats.html    //通过

html语言实现网页跳转功能
<html>
<head><meta http-equiv=refresh content="0;  

url=http://www.tarena.com/awstats/awstats.pl?

config=www.tarena.com">
</head>
<body>
</body>
</html>
重启服务测试
在客户端修改hosts文件
192.168.1.254 www.tarena.com
然后通过www.tarena.com/awstats.html访问

linux下apache服务搭建,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。