Linux-基础教程--Apache动态站点.ppt
《Linux-基础教程--Apache动态站点.ppt》由会员分享,可在线阅读,更多相关《Linux-基础教程--Apache动态站点.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章内容要点nLinux下的脚本语言n常用的动态网站技术nApache日志统计分析工具nLAMP的环境配置及应用本章学习目标 n熟悉常用的动态网站技术n掌握 Apache 的 CGI 配置n熟悉 Apache 的 FastCGI 配置n掌握 AWStats 的安装和配置n掌握 LAMP(PHP) 的安装和配置n学会安装配置常用的LAMP应用脚本语言与动态网站技术脚本语言与动态网站技术Linux下的脚本语言n常用的脚本语言qBash 系统必备qPHP 简明单纯qPerl 凝练晦涩qPython 优雅明晰qRuby 精巧灵动n脚本语言的主要用途q系统管理的自动化q动态Web编程CentOS 下的脚
2、本语言n脚本语言的安装qCentOS 官方仓库提供了 Perl/Python/PHP/Rubyq可以使用 yum 安装n脚本语言的模块管理工具qPHP:pear、peclqPerl:cpanqPython:easy_install或pipqRuby:gem常用的动态网站技术nCGInApache的第三方脚本语言模块nFastCGICGI 简介nCGI(Common Gateway Interface,通用网关接口) 是一个连接外部应用程序到 HTTP 服务器的标准nCGI 定义了 Web 服务器与外部内容生成程序(通常称为 CGI 脚本或 CGI 程序)之间交互的方法,即:一种基于浏览器的输入
3、、在 Web 服务器上运行的程序方法,从而实现动态 Web 的功能CGI 程序nCGI 程序可以用任何一种语言编写q只要这种语言具有标准输入、输出和环境变量。q例如:perl、python、ruby、php、bash、C 等nCGI 程序通常是挂平台的q可以运行在类 UNIX 和 Windows 等众多平台的服务器上q实现同一功能的程序在不同平台上可能会有细微差异CGI 的工作原理CGI 的处理步骤nWeb 客户端通过网络把用户请求送到服务器nWeb 服务器接收用户请求qGET 方法:利用环境变量 QUERY_STRING 接收qPOST 方法:利用标准输入接收;环境变量CONTENT_LEN
4、GTH记录输入字符长度nWeb 服务器交给 CGI 程序处理nCGI 程序把动态处理结果通过标准输出传送给 Web 服务器n服务器把最终的HTML页面送回到 Web 客户端Apache 与 CGInApache支持CGI的模块qmod_cgi(用于基于进程的 prefork MPM)qmod_cgid(用于基于线程的 worker MPM)nRHEL/CentOS下Apache默认加载了mod_cgin配置 Apache 允许执行 CGI 程序有两种方法q将所有的 CGI 程序放在指定的目录中,并使用 ScriptAlias 指令声明q在任意目录中执行 CGI 程序ScriptAliasn/e
5、tc/httpd/conf/httpd.conf 里有如下的配置段q以 /cgi-bin/ 开头的资源都映射到 /var/www/cgi-bin/ 目录qURL为 http:/www.ls-al.me/cgi-bin/test.pl 的请求,Apache 会试图执行 /var/www/cgi-bin/test.pl 文件(CGI程序文件必须存在而且可执行)ScriptAlias /cgi-bin/ /var/www/cgi-bin/ AllowOverride None Options None Order allow,deny Allow from all创建CGI脚本并浏览测试n创建 /v
6、ar/www/cgi-bin/test.pln添加可执行权限并进行浏览测试#!/usr/bin/perlprint Content-type: text/htmlnn;print Hello, World. Perl“;# chmod +x /var/www/cgi-bin/test.pl# elinks http:/www.ls-al.me/cgi-bin/test.pl# elinks http:/www.olabs.org/cgi-bin/test.pl# elinks http:/ VirtualHost 容器中配置 ScriptAlias 指令 ServerName www.olab
7、s.org DocumentRoot /var/www/vhosts/olabs.org/htdocs/ ScriptAlias /cgi-bin/ /var/www/vhosts/olabs.org/cgi-bin/ AllowOverride None Options None Order allow,deny Allow from all ScriptAlias说明nScriptAlias指令除了可以映射目录之外,还可以直接映射CGI程序n例如ScriptAlias /cgit /var/www/cgi-bin/cgitq/var/www/cgi-bin/cgit 是一个CGI程序q当访
8、问 http:/xxx.xxx.xxx/cgit 时将直接执行 /var/www/cgi-bin/cgit 程序在任意目录中执行 CGI 程序n配置方法q用 AddHandler 或 SetHandler 指令激活 cgi-script 处理器q在目录容器的 Options 指令中启用 ExecCGI 选项nAddHandler / SetHandler 指令 AddHandler cgi-script .cgi .plq用于在文件扩展名与特定的处理器 之间建立映射q告诉服务器哪些文件是 CGI 程序文件在任意目录中执行 CGI 程序配置举例n/etc/httpd/conf.d/git.con
9、fq使用别名将 http:/xxx.xxx.xxx/git 的访问映射到磁盘的 /var/www/git 目录q允许执行 /var/www/git 目录下的后缀名为 .cgi 的程序Alias /git /var/www/git Options +ExecCGI AddHandler cgi-script .cgiCGI的优缺点n优点 q安全性好 q用C语言写的CGI程序,编译后的运行速度比脚本运行速度要快n缺点q需要开独立进程(fork-and-execute 模式)来处理用户请求,密集请求的情况下容易崩溃 q维护成本比脚本语言高q通常CGI程序使用Perl编写,其语法相对复杂解决CGI的低
10、效率n为了适应密集请求(高负载)型的Web服务器n解决CGI的低执行效率的方法q使用使用Apache的第三方脚本语言模块的第三方脚本语言模块n模块当 Apache 运行后就常驻内存n不会像 CGI 那样每次都要花费时间去 fork 一次q使用使用FastCGI技术技术n是一种常驻(Long-Live)型的 CGIq类似于系统守护进程n可以一直执行着为来自服务器的请求提供服务n只要激活后,不会每次都要花费时间去 fork 一次Apache的脚本语言模块nPHP:mod_phpqhttp:/ 是以独立的进程池运行来 CGIq单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行之n安全
11、性:FastCGI 和宿主服务器完全独立q即使 FastCGI 僵死也不会导致服务器宕机n扩展性:FastCGI是一个中立的技术标准q可以支持任何语言写的处理程序,如:PHP、Perl、Python、Ruby、Java、C/C等FastCGI的优点(续)n高性能qFastCGI 将动态逻辑的处理从 Web 服务器中分离出来n大负荷的 I/O 处理还是留给宿主服务器n宿主服务器可以一心一意作 I/O 处理n大量的图片等静态 I/O 处理完全不需要逻辑程序的参与q可以让 Web 服务器运行多个 FastCGI 应用程序的副本来提高性能qFastCGI 可以很有效地利用内存来作缓存来提高性能Apac
12、he 与 FastCGInLinux下常用的Web服务器均支持FastCGIqApache、Nginx、Lighttpd、CherokeenApache使用 mod_fcgid 模块实现q由EPEL仓库的mod_fcgid包提供n配置 Apache 允许执行 FastCGI 程序q与允许执行 CGI 程序类似ScriptAlias /fcgi-bin /var/www/fcgi-binAddHandler fastcgi-script .php .py .pl .fcgiOptions +ExecCGI动态网站数据库n动态Web站点并非一定要有数据库支持,但大多数应用需要数据库支持n动态网站常
13、用的开源数据库q关系型数据库(Relational database)nMySQL:http:/nPostgreSQL:http:/www.postgresql.org/nSQLite:http:/sqlite.org/q面向文档的数据库(Document-oriented database)nmongoDB:http:/www.mongodb.org/nCouchDB:http:/couchdb.apache.org/LAMP简介nLAMP是首字母缩略语(Acronym)qL:Linux 操作系统qA:Apache Web 服务器qM:MySQL 数据库qP:PHP 、Perl 、Pytho
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 基础教程 Apache 动态 站点
限制150内