Linux下Web服务器应用之基础简介

LinuxWeb服务器应用之基础简介

一.web服务器基本知识:
WWW 是 World Wide Web 的缩写
URL:<协定>://<主机地址或主机名>[:port]/<目录资源>
协议   http 80 明文 https 加密 (ssl)数字证书 443

Linux下Web服务器应用之基础简介

超文本传输协mime(多用户邮件扩展)smtp(简单邮件传输协议)
      版本:1.0 1.1 keepalive(一次连接多次请求) 

Linux下Web服务器应用之基础简介

web服务器实现方法:
 iis         apache (lamp) 70%            nginx (lnmp)          lighty
中间件:microsoft:iis         ibm:webspere 40%         tomcat
oracle:(ba) weblogic 30%      susion middleware
静态网站: html
动态: asp jsp php cgi asp.net
二.apache服务器 
Apache服务器简介:
Apache服务器一个主要的特点是完全免费,并且完全公开其源代码,由此用户可根据自身的需要去进行相关模块的开发。Apache服务器另一个主要的特点是其跨平台性,其可在UNIX、Windows、Linux等多种操作系统上运行。如果需要创建一个每天有数百万人访问的Web服务器,Apache可能是最佳选择。
工作组:apache group   ---》asf 
httpd 1.0 2.0 2.2 tomcat
Apache安装包:
[root@junjie_www Server]# ls htt*
httpd-2.2.3-22.el5.i386.rpm         //apache主程序
httpd-devel-2.2.3-22.el5.i386.rpm           //开发工具
httpd-manual-2.2.3-22.el5.i386.rpm        //配置手册
system-config-httpd-1.3.3.3-1.el5.noarch.rpm    //图形配置
安装httpd包
[root@www ~]# cd /mnt/cdrom/Server/
[root@www Server]# rpm -ivh httpd-2.2.3-22.el5.i386.rpm
#rpm -ivh httpd-devel-2.2.3-22.el5.i386.rp
# rpm -ivh httpd-manual-2.2.3-22.el5.i386.rpm
# yum -y install httpd-devel
# yum -y install system-config-httpd
配置文件和目录
/etc/httpd #根目录
/etc/httpd/conf          //配置脚本
/etc/httpd/conf.d #额外配置脚本
/etc/httpd/conf.d/welcome.conf #默认主页
/etc/httpd/conf/httpd.conf         #主配置文件
/var/www/html          #网页文件
/var/run/httpd.pid           #运行的父进程的pid
发布主目录配置DocumentRoot
默认文档DirctoryIndex
监听端口Listen
根目录ServerRoot
日志Log:Errorlog,Accesslog
管理员邮件地址ServerAdmin
服务器名ServerName
默认字符集AddDefaultCharset
虚拟目录Alias
目录权限Order、Allow、Deny
用户认证
插件LoadModule
虚拟主机VirtualHost
/etc/httpd/conf/httpd.conf配置文件详解:
### Section 1: Global Environment                 #第一部分配置(全局配置)
57 ServerRoot "/etc/httpd"          #指定apache的主目录
63 PidFile run/httpd.pid              #指定apache的父进程pid文件
68 Timeout 120                           #链接超时时间,会出现出错信息
【出错信息:1xx  一般性信息            2xx      正常信息
3xx 正常信息 重定向        4xx 错误信息   警告          5xx 严重错误
74 KeepAlive on         #保持链接(一次链接多次请求)
81 MaxKeepAliveRequests 100          #一次链接多次请求的次数
87 KeepAliveTimeout 15        #一次链接多次请求的时间
100 <IfModule prefork.c>          #派生机制
101 StartServers       8
102 MinSpareServers    5
103 MaxSpareServers   20
104 ServerLimit      256
105 MaxClients       256
106 MaxRequestsPerChild 4000
107 </IfModule>
[root@junjie_www ~]# httpd -l
134 Listen 80        #监听端口
137 # Dynamic Shared Object (DSO) Support    #支持的动态共享模块
148-199 LoadModule +模块
210 Include conf.d/*.conf      #包含的额外配置文件
231 User apache        #apache运行所有者
232 Group apache           #apache运行所属组
[root@junjie_www ~]# rpm -q --scripts httpd #安装时执行的其它脚本
234 ### Section 2: 'Main' server configuration   #第二部分配置(主要服务配置)
251 ServerAdmin root@localhost      #网站管理员邮箱
265 #ServerName www.example.com:80     #网站名称
274 UseCanonicalName Off        #与虚拟主机有关,保持off
281 DocumentRoot "/var/www/html"          #网站主目录(网页文件)
#/etc/httpd/conf.d/welcome.conf     #默认主页
291 <Directory />           #目录安全性
292     Options FollowSymLinks
293     AllowOverride None
294 </Directory>
306 <Directory "/var/www/html">
311 #   Indexes(目录浏览) Includes FollowSymLinks(链接跟踪支持) SymLinksifOwnerMatch ExecCGI     MultiViews
320     Options Indexes(目录浏览) FollowSymLinks(符号链接)
327     AllowOverride None      #身份验证(none表示不支持)
332     Order allow,deny           #来源验证
333     Allow from all
335 </Directory>

Linux下Web服务器应用之基础简介

作如下配置,并重启httpd
客户段测试,可以看到如下内容(若download下没网页文件,就会显示文件)
 Linux下Web服务器应用之基础简介
linuxde一个文本浏览器:
[root@www  Server]# rpm -ivh lynx-2.8.5-28.1.el5_2.1.i386.rpm
[root@junjie_www Server]# lynx http://10.106.6.254
安全性
windows: (安全---》目录安全性 1.身份验证   2.来源控制   3.加密通讯)
<Directory 目录>目录安全性
    Options FollowSymLinks
     AllowOverride None
 </目录>
身份验证 
AllowOverride all
.htaccess (说明文件) (站点主目录里面)
.htpasswd(账号库)
[root@junjie_www html]# cat .htaccess
authuserfile /var/www/html/.htpasswd
authtype basic
authname   "please input your name and password"
require        valid-user
[root@junjie_www html]# htpasswd -c .htpasswd qq (首次使用需要-c选项)
[root@junjie_www html]# htpasswd .htpasswd qq1(第二次使用需要-c选项)
客户端测试:出现如下验证信息:(需要输入正确的用户名与密码)

Linux下Web服务器应用之基础简介

来源控制
【 Order allow,deny
    Allow from all
【Order allow,deny
    Allow from 192.168.2.0/24
     deny from 192.168.2.1
【Order deny,allow
    Allow from 192.168.2.0/24
     deny from 192.168.2.1

349 <IfModule mod_userdir.c>

355     UserDir disable         #用户的目录安全性

362     #UserDir public_html     ##打开此行,创建个人主页,取消注释

364 </IfModule>

/var/log/httpd /    #日志目录

/home/$USER/public_html/   #都要有可读权限

370 #<Directory /home/*/public_html>       #个人目录的安全性

371 #    AllowOverride FileInfo AuthConfig Limit #一些限制

372 #    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoE    xec        #一些可用参数

373 #    <Limit GET POST OPTIONS>

374 #        Order allow,deny

375 #        Allow from all

376 #    </Limit>

377 #    <LimitExcept GET POST OPTIONS>

378 #        Order deny,allow

379 #        Deny from all

380 #    </LimitExcept>

381 #</Directory>

 

 

391 DirectoryIndex index.html index.html.var          #支持的目录文件

398 AccessFileName .htaccess     #用于用户验证的信息

413 TypesConfig /etc/mime.types
424 DefaultType text/plain
444 HostnameLookups Off
472 ErrorLog logs/error_log
479 LogLevel warn
485 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Ag    ent}i\"" combined
486 LogFormat "%h %l %u %t \"%r\" %>s %b" common
487 LogFormat "%{Referer}i -> %U" referer
488 LogFormat "%{User-agent}i" agent
514 CustomLog logs/access_log combined
739 LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl     nn no pl pt pt-BR ru sv zh-CN zh-TW //语言显示的优先级
755 AddDefaultCharset UTF-8     //西欧文字集,若显示中文建议关闭
845 Alias /error/ "/var/www/error/" #错误显示文件
937 #<Proxy *>         #apache的代理功能
938 #    Order deny,allow
939 #    Deny from all
940 #    Allow from .example.com
941 #</Proxy>
963 ### Section 3: Virtual Hosts4 #                #第三部分配置(虚拟主机)
993 #<VirtualHost *:80>
994 #    ServerAdmin webmaster@dummy-host.example.com
995 #    DocumentRoot /www/docs/dummy-host.example.com
996 #    ServerName dummy-host.example.com
997 #    ErrorLog logs/dummy-host.example.com-error_log
998 #    CustomLog logs/dummy-host.example.com-access_log common
999 #</VirtualHost>
虚拟主机:
1.    物理目录
2.    虚拟目录
3.    基于ip地址的虚拟主机
4.    基于端口的虚拟主机
5.    基于主机头的虚拟主机



本文转自xjzhujunjie 51CTO博客,原文链接:http://blog.51cto.com/xjzhujunjie/808871
上一篇:各种代理IP背后的原理


下一篇:构建大数据网络 需要重视这五个地方