常见的WEB服务器
HTTP Server
静态网站:.html
动态网站:.php .jsp .cgi .asp
Web服务器常见软件:
Apache、Nginx、IIS、Tomcat、Lighttpd、IBM WebSphere
PHP:
LAMP:Linux+Apache+Msyql+PHP/Perl/Python
LNMP(LEMP):Linux+Nginx+Mysql+PHP(php-fpm)
JSP:
Tomcat
Apache+Tomcat
Nginx+Tomcat
IBM WebSphere
Apache:17
NCSA,httpd
A Patchy Server = apache
FSF:GNU,GPL
ASF:Apache Software Foundation
web:httpd
Tomcat
Hadoop
www.apache.org
Httpd:
Web Server,Open Source
2.2,2.4,.2.0,1.3
注意:master process 监听tcp 80 port,只有root用户才可以监听1024以下的端口
worker process
一、Apache 基本配置
Http Server:Apache
1、Apache 基础
Apache:www.apache.org //HTTP Server,Tomcat,Hadoop
软件包:httpd
服务端口:80/tcp(http) 443/tcp(https,http+ssl)
配置文件:/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
/etc/httpd/conf.d/welcome.conf /默认测试页面
(1).安装apche : yum -y install httpd
yum -y install httpd-manual
rpm -ql httpd | grep httpd.worker ===>引用worker模型
rpm -ql httpd | grep httpd.event ===>引用event模型,但是apache2.2还处于测试阶段(2.4该模型比较成熟)
HTTPD=/usr/sbin/httpd....
httpd -l
httpd.work -l
httpd.event -l
apache指令参考手册
2、Apache安装
安装:yum -y install httpd
启动:service httpd start
开机自启:chkconfig httpd on
删除欢迎页面:rm -rf /etc/httpd/conf.d/welcome.conf
重启服务:service httpd restart
测试:
a. vim /var/www/html/1.html
微信搜索公众号:窝窝梦工厂
b. vim /var/www/html/index.html
微信搜索公众号:窝窝梦工厂
c. vim /var/www/html/2.php
<?
phpinfo()
?>
3、Apache配置
[root@master ~]# tree /etc/httpd/ //安装目录
/etc/httpd/
|-- conf
| |-- httpd.conf
| `-- magic
|-- conf.d
| |-- README
| `-- proxy_ajp.conf
|-- logs -> ../../var/log/httpd
|-- modules -> ../../usr/lib/httpd/modules
`-- run -> ../../var/run
[root@master ~]# vim /etc/httpd/conf/httpd.conf
### Section 1: Global Environment
ServerRoot "/etc/httpd" //Apache安装目录
PidFile run/httpd.pid //进程PID
KeepAlive Off //是否允许持久性连接
MaxKeepAliveRequests 100
KeepAliveTimeout 15
Listen 80 //监听端口,客户访问:http://ip:81
LoadModule auth_basic_module modules/mod_auth_basic.so //加载模块
Include conf.d/*.conf //包含conf.d下的*.conf文件
User apache //运行Apache的用户
Group apache //运行Apache的用户组
两种运行模式(进程 和 线程threaded)
'prefork' model process-based 基于进程
'worker' model thread-based 基于线程
切换模式
[root@master ~]# ps aux |grep httpd
root 4535 0.0 0.3 10096 3416 ? Ss 21:32 0:00 /usr/sbin/httpd
apache 4739 0.0 0.1 10096 2064 ? S 21:47 0:00 /usr/sbin/httpd
apache 4740 0.0 0.1 10096 2064 ? S 21:47 0:00 /usr/sbin/httpd
apache 4741 0.0 0.1 10096 2064 ? S 21:47 0:00 /usr/sbin/httpd
apache 4742 0.0 0.1 10096 2064 ? S 21:47 0:00 /usr/sbin/httpd
apache 4743 0.0 0.1 10096 2064 ? S 21:47 0:00 /usr/sbin/httpd
[root@master ~]# vim /etc/sysconfig/httpd
HTTPD=/usr/sbin/httpd.worker
[root@master ~]# service httpd restart
[root@master ~]# ps aux |grep httpd
root 5051 0.0 0.2 10160 3064 ? Ss 22:06 0:00 /usr/sbin/httpd.worker
apache 5052 0.0 0.2 286796 2676 ? Sl 22:06 0:00 /usr/sbin/httpd.worker
apache 5054 0.0 0.2 286796 2680 ? Sl 22:06 0:00 /usr/sbin/httpd.worker
root 5110 0.0 0.0 5128 684 pts/1 R+ 22:06 0:00 grep --color httpd
配置进程和线程
# prefork MPM //进程模式
<IfModule prefork.c>
StartServers 10 //初始建立的进程数(1个父进程,10个子进程)
MinSpareServers 10 //最小空闲的进程数
MaxSpareServers 15 //最大空闲的进程数
ServerLimit 2000 //服务器最大启动的进程数
MaxClients 2000 //服务器最大并发访问量
MaxRequestsPerChild 4000//每个子进程在其生命周期内允许响应的最大请求数,达到会结束,0永不
</IfModule>
# worker MPM //线程模式
<IfModule worker.c>
StartServers 2 //初始建立的进程数
ThreadsPerChild 50 //每个进程建立的线程数
MinSpareThreads 100 //最小空闲的线程数
MaxSpareThreads 200 //最大空间的线程数
MaxClients 2000 //最大的并发访问量(线程)
MaxRequestsPerChild 0 //每个子进程在其生命周期内允许响应的最大请求数,达到会结束,0永不
</IfModule>
========================================================
### Section 2: 'Main' server configuration //主网站,默认网站
ServerAdmin root@localhost //管理员mail
ServerName www.example.com //网站名(默认apache会将本机的IP地址反向解析,将解析到的主机名赋值给servername
//如果无法解析,则提示错误,并将localhost.localdomain赋值给servername
DocumentRoot "/var/www/html" //网站主目录
<Directory "/var/www/html"> //以下设置/var/www/html访问权限
Options Indexes FollowSymLinks //Indexes索引目录,(没有默认主页时)
// FollowSymLinks支持符号链接
// ExecCGI允许执行CGI
// None不支持任何特性
83/305
AllowOverride None
Order allow,deny //基于主机的访问控制;如果allow在前,则说明默认allow
Allow from all
</Directory>
DirectoryIndex index.html index.html.var //设置默认主页
ErrorLog logs/error_log //错误日志
CustomLog logs/access_log combined //访问日志
Alias /icons/ "/var/www/icons/" //别名
AddDefaultCharset UTF-8 //字符集
### Section 3: Virtual Hosts
Apache虚拟主机功能: 实现多个站点




