Apache
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.2.31.tar.gz
tar -xvf
cd
./configure –prefix=/usr/local/apache
/usr/local/apache/bin/apachectl 启动命令 -L 默认编译的模块 -M 查看那些加载的模块
/usr/local
安装软件:httpd-2.2.15-26.el6.x86_64.rpm
端口:80 443
配置文件:/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*
服务器数据目录:/var/www/html/
启动服务器:service httpd restart
http协议
hypertext transport protocol
html: hypertext mark lang
<html>
<head>
<title> hello </title>
</head>
<body>
<h1>欢迎光临</h1>
<p>大家好</p>
<img src=’1.jpg’>
<h2>笑傲江湖</h2>
</body>
</html>
URI:统一资源标识
URL:统一资源定位
www.uplooking.com/photo/1.html
客户端:
图形:ie firefox
elinks links
[root@robin html]# elinks 172.16.110.3
[root@robin html]# elinks 172.16.110.3 –dump
动态网页
cgi shell
python
php
jsp
.net
http协议
http0.9 文本
http1.0 keepalive MIME
http1.1
MIME
base64:将二进制数据转换成文本编码传输
apache进程模式和线程模式的切换(work线程 prefork 非线程或进程)
[root@robin ~]# vim /etc/sysconfig/httpd
HTTPD=/usr/sbin/httpd.worker
发布目录(默认)
[root@robin html]# cp -r /boot/ /var/www/html/ /boot 其他人必须具有 r权限
地址栏:http://172.16.110.1:80/boot
别名
vim /etc/httpd/conf/httpd.conf
alias /download /etc/
<directory /etc>
options indexes
</directory>
acl
alias /download /etc/ 前面是别名,后面是真实文件夹。两个都可以访问
<directory /etc>
options indexes
order deny,allow
deny from 172.16.110.30
allow from 172.16.110.31
</directory>
如果规则不冲突顺序匹配,如果规则冲突,从后往前读order,deny和allow那个选项在后边生效
验证登录
firefox /var/www/manual/index.html 调用firefox 网页
alias /download /etc/
<directory /etc>
options indexes
AuthType Basic 文件类型
AuthName “welcome to APACHE”
AuthBasicProvider file 验证类型
AuthUserFile /etc/httpd/conf/passwdb
Require user aaa —– 有效用户
Require valid-user —– 所有文件中的用户都有效
</directory>
创建验证文件及用户
[root@robin manual]# htpasswd -c -b /etc/httpd/conf/passwdb aaa 123 -c 是创建文件 -b 是添加用户
[root@robin manual]# htpasswd -b /etc/httpd/conf/passwdb ccc 123
service httpd restart
个人主页
调用模块
LoadModule userdir_module modules/mod_userdir.so 已经加载成功
<IfModule mod_userdir.c>
UserDir disabled
UserDir public_html
</IfModule>
[root@robin manual]# useradd tom
[root@robin manual]# useradd jerry
[root@robin manual]# mkdir /home/tom/public_html
[root@robin manual]# mkdir /home/jerry/public_html
[root@robin manual]# echo “tom home” >> /home/tom/public_html/index.html
[root@robin manual]# echo “jerry home” >> /home/jerry/public_html/index.html
[root@robin manual]# chmod 705 /home/tom/
[root@robin manual]# chmod 705 /home/jerry
测试
CGI脚本
ScriptAlias /cgi-bin/ “/var/www/cgi-bin/”
<Directory “/var/www/cgi-bin”>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
[root@robin cgi-bin]# touch /var/www/cgi-bin/cgi.sh
[root@robin cgi-bin]# chmod +x /var/www/cgi-bin/cgi.sh
[root@robin cgi-bin]# vim /var/www/cgi-bin/cgi.sh
!/bin/bash
echo -e “Content-type: text/html\n
uname -r
date
ls /tmp
[root@robin cgi-bin]# vim /var/www/cgi-bin/cgi.sh
!/bin/bash
echo -e “Content-type: text/html\n”
for i in {1..100}
do
echo $i
sleep 1
done
虚拟主机
基于域名的虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.baidu.com
DocumentRoot /srv/baidu
</VirtualHost>
<VirtualHost *:80>
ServerName www.google.com
DocumentRoot /srv/google
</VirtualHost>
[root@robin ~]# mkdir /srv/baidu
[root@robin ~]# mkdir /srv/google
[root@robin ~]# echo “baidu” >> /srv/baidu/index.html
[root@robin ~]# echo “google” >> /srv/google/index.html
[root@robin ~]# vim /etc/hosts
172.16.110.1 www.baidu.com
172.16.110.1 www.google.com
启动服务
service httpd restart
基于ip的虚拟主机
<VirtualHost 172.16.110.1:80>
ServerName www.baidu.com
DocumentRoot /srv/baidu
</VirtualHost>
<VirtualHost 10.10.10.1:80>
ServerName www.google.com
DocumentRoot /srv/google
</VirtualHost>
[root@robin ~]# mkdir /srv/baidu
[root@robin ~]# mkdir /srv/google
[root@robin ~]# echo “baidu” >> /srv/baidu/index.html
[root@robin ~]# echo “google” >> /srv/google/index.html
[root@robin ~]# vim /etc/hosts
172.16.110.1 www.baidu.com
10.10.10.1 www.google.com
启动服务
service httpd restart
NTP服务器(时间服务器)
服务端:
vim /etc/ntp.conf 添加三行
restrict default nomodify notrap
server 127.127.1.0
fudge 127.127.1.0 stratum 10
service ntpd restart
客户端:需要关闭ntpd
[root@data1 html]# ntpdate 172.16.110.1
[root@data1 html]# crontab -e
01 * * * * ntpdate 172.16.110.1
[root@data1 html]# ntpdate 172.16.110.1 同步成功
3 Dec 13:27:58 ntpdate[12113]: step time server 172.16.110.1 offset 3852924.787261 sec
笔记补充:
KeepAlive 保持链接 KeepAlive TimeOut 等待时间,然后4次挥手,每个子进程最大请求数400次,达到就要杀死,避免内存泄露 ThreadsPerChild 一进程对多线程