1.简单配置
1 监听地址
2 主页目录
3 别名
4 目录访问的身份验证
5 https
6 MPM(under linux)
* 配置文件中路径、文件名均不支持中文。
《《《《《《《《《《《《《《《《
1 监听地址
#Listen 12.34.56.78:80 |
本地检测的时候可以使用“localhost”来查看页面。客户端可以随便使用服务端的 IP 地址查看。
Listen 10.97.57.2:80 |
本地或远程查看就只能使用这个 IP 地址了。
2 主页目录
DocumentRoot "D:/htdocs" |
<Directory "D:/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> |
3 别名
Alias /download "d:/ruan/l" |
<Directory "d:/ruan/l"> Order allow,deny Allow from all </Directory> |
要是没有对应的页面,而想以 ftp 一样列出该目录下的文件,这样就不行了。添加下面行: |
Options Indexes FollowSymLinks |
4 目录访问的身份验证
配置文件如下:
<Directory> ... AuthName "runndy authname" AuthType basic AuthUserFile /opt/http-server/conf/mmb Require valid-user ... </Directory> |
用户名密码文件的加密方式可以同时为不同用户采用不同的加密算法。
5 https
yum install -y mod_ssl
vi ssl.conf
LoadModule ssl_module modules/mod_ssl.so Listen 192.168.136.11:443 <VirtualHost *:443> ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn SSLEngine on SSLProtocol all -SSLv2 SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateKeyFile /etc/pki/tls/private/localhost.key </VirtualHost> |
6 MPM
prefork
<IfModule prefork.c> |
||
⑴ |
StartServers |
启动时“服务进程”① 数目 |
⑵ |
MinSpareServers |
“服务进程”最小空闲数目 |
⑶ |
MaxSpareServers |
“服务进程”最大空闲数目 |
⑷ |
ServerLimit |
“服务进程”最大数目 |
⑸ |
MaxClients |
“服务进程”同时提供服务最大数目(并发连接数量② ) |
⑹ |
MaxRequestsPerChild |
“服务进程”的最大服务次数 |
</IfModule> |
① 对应“管理进程”
② 限制“服务进程”响应请求时的最大值。
worker
<IfModule worker.c> |
||
⑴ | StartServers | |
⑵ | MaxClients | |
⑶ | MinSpareThreads | /线程 |
⑷ | MaxSpareThreads | /线程 |
⑸ | ThreadsPerChild | “服务进程”产生的“线程”数目 |
⑹ | MaxRequestsPerChild | “服务进程”的最大服务次数 |
</IfModule> |
2.apache的虚拟主机
1 基于名称的虚拟主机
2 基于 IP 的虚拟主机
3 默认主机
4 主机解析简析
* httpd-2.2.15
^-^ | ^-^ | ^-^ | ^-^ | ^-^ | ^-^ | ^-^ |
1 基于名称的虚拟主机
cat httpd.conf
# NameVirtualHost *:80 NameVirtualHost 127.0.0.1 <VirtualHost *:80> ServerName www.sunny.com ServerAlias sunny.com *.sunny.com DocumentRoot /www/sunny </VirtualHost> <VirtualHost *:80> ServerName www.lucy.com DocumentRoot /www/lucy </VirtualHost> |
指令 | 意义 |
---|---|
NameVirtualHost | 指定由多个 apache 虚拟主机共享的 IP 地址。 |
* | 表示在所有的 IP 地址上运行,包括回环地址。 |
ServerAlias |
对虚拟主机设定多个名字。 |
DocumentRoot |
指定的目录必须是显示允许访问、或者父目录显示允许访问 ①。 |
① 允许访问: |
---|
<Directory "/dinglicom/httpd/vhosts/htdocs"> Order allow,deny Allow from all </Directory> |
2 基于 IP 的虚拟主机
<VirtualHost 192.168.136.111:80> ServerAdmin itxiaocui@163.com DocumentRoot /www/sunny ServerName www.sunny.com ErrorLog /www/sunny/error_log TransferLog /www/sunny/access_log </VirtualHost> <VirtualHost 192.168.136.112:80> ServerAdmin itxiaocui@163.com DocumentRoot /www/lucy ServerName www.lucy.com ErrorLog /www/lucy/error_log TransferLog /www/lucy/access_log </VirtualHost> |
* 没有明确指定那个虚拟主机,会显示上边的那个虚拟主机页面。
3 默认主机
以一台虚拟主机作为默认服务器。并且放置在其他虚拟主机的前面。
虚拟主机类型 | 配置方法 |
---|---|
基于名称 |
<VirtualHost *:80> ServerName default # Any names you like. DocumentRoot /var/www/html </VirtualHost> |
基于 ip |
<VirtualHost _default_:80> DocumentRoot /var/www/html </VirtualHost> |
4 主机解析简析
地址解析如下: |
192.168.136.11 www.sunny.com 192.168.136.11 www.lucy.com 192.168.136.11 www.h1.com 192.168.136.11 h1 |
配置内容 |
ServerName www.h1.com Listen 10.12.12.11:80 Listen 192.168.136.11:80 DocumentRoot /var/www/html NameVirtualHost *:80 <VirtualHost *:80> ServerName www.lucy.com DocumentRoot /data01/www/lucy </VirtualHost> <VirtualHost *:80> ServerName www.sunny.com ServerAlias sunny.com *.sunny.com DocumentRoot /data01/www/sunny </VirtualHost> <VirtualHost _default_:80> DocumentRoot /var/www/html </VirtualHost> |
如果在地址栏输入 h1 还是会显示在上边的虚拟主机。(因为默认主机没有放在最上边。) 要让地址栏输入 h1 显示 [ ] 指定的目录里的网页,需要修改配置如下: |
ServerName www.h1.com Listen 10.12.12.11:80 Listen 192.168.136.11:80 DocumentRoot /var/www/html ServerName h1:80 |
这样是可以显示目录“/var/www/html”下的主页,可是不是默认虚拟主机生效的结果。 |