欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Linux-基础教程--Apache动态站点.ppt

    • 资源ID:24772724       资源大小:274KB        全文页数:51页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Linux-基础教程--Apache动态站点.ppt

    本章内容要点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 下的脚本语言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 程序)之间交互的方法,即:一种基于浏览器的输入、在 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_LENGTH记录输入字符长度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/etc/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创建 /var/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.olabs.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当访问 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.confq使用别名将 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的低效率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安全性: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 可以很有效地利用内存来作缓存来提高性能Apache 与 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动态网站常用的开源数据库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 、Python 或 Ruby 脚本语言nLAMP的特点q开放灵活、开发迅速、部署方便q高可配置、安全可靠、成本低廉等n与Java平台和.NET平台鼎足三分q尤其受中小企业的欢迎狭义LAMPnLinux+Apache+MySQL+PHPn是最常用的开源平台组合基于脚本语言的知名Web框架语言语言Web框架框架主页主页PHPsymfonyhttp:/www.symfony-project.org/Zendhttp:/ on Railshttp:/www.rubyonrails.org/PerlCatalysthttp:/www.catalystframework.org/APACHE日志统计分析工具日志统计分析工具AWStats简介nAWStats(Advanced Web Statistics)是一个免费的功能强大的服务器日志分析工具nAWStats 的功能q提供访问量,访问次数,访问者IP,访问者国家或地区、页面浏览量,点击数,高峰时段、访客持续时间,数据流量等q提供精确到每月、每日、每小时的统计数据q提供访客操作系统、浏览器版本的统计信息q提供Robots/Spiders 机械访问的统计、无效连接等q搜索引擎、关键字、以及对不同文件类型的统计信息CentOS下的AWStatsn安装AWStats# yum -enablerepo=epel install awstatsn重要文件说明q配置文件模板n/etc/awstats/awstats.model.confq每个虚拟主机的配置文件(*为虚拟主机名)n/etc/awstats/awstats.*.confq每小时生成一次AWStats 数据库的cron脚本n/etc/cron.hourly/awstatsq用于执行awstats.pl的Apache的CGI配置文件n/etc/httpd/conf.d/awstats.confAWStats的配置文件nAWStats在生成其统计数据库时需要其配置文件qAWStats 为不同的站点使用不同的配置文件q配置文件的命名规则awstats.SITENAME.confq例如:站点名为 ,则配置文件名为 .confn常用配置语句qSiteDomain=qHostAliases=qLogFile=更新AWStats的统计数据库n生成指定站点的日志统计数据库# /usr/share/awstats/wwwroot/cgi-bin/awstats.pl -config=SITENAMEn生成所有虚拟主机的统计数据库q对指定配置文件目录下的每个配置文件生成统计数据库q/usr/share/awstats/tools/awstats_updateall.plqAWStats 的cron脚本使用了 awstats_updateall.plAWStats 的 Apache 配置文件n/etc/httpd/conf.d/awstats.confq此配置文件是被主配置文件包含的,是全局配置,所有的虚拟主机都将继承这个配置ScriptAlias /awstats/ /usr/share/awstats/wwwroot/cgi-bin/ Options None AllowOverride None Order allow,deny Allow from 127.0.0.1AWStats配置举例n为虚拟主机配置AWStatsq在Apache中为AWStats的访问配置主机访问控制、认证授权q生成虚拟主机的AWStats配置文件q更新指定配置文件的AWStats的统计数据库q访问CGI脚本获得AWStats的统计输出参见教材的操作步骤LAMP的环境配置及应用的环境配置及应用安装配置LAMP环境n安装配置MySQL服务n安装配置PHPn安装和测试phpMyAdminMySQL服务概览n类型:系统 V(System V)管理的服务n软件包: mysql-server, mysql, mysql-libs, mysql-manualn守护进程: /usr/bin/mysqld_safen启动脚本: /etc/init.d/mysqldn端口: 3306n配置: /etc/fn相关软件包: mysqlclient、php-mysql、perl-DBD-mysql安装配置MySQL服务n安装# yum install mysql mysql-server mysql-manualn启动# chkconfig -levels 35 mysqld on# service mysqld startn设置MySQL的root用户口令# /usr/bin/mysqladmin -u root password new-password# /usr/bin/mysqladmin -u root -h $(hostname) new-password安装PHPn安装PHP及其相关的软件包n 查看PHP的配置文件# yum install php php-pear# yum install php-mysql php-odbc php-pdo# yum install php-gd php-mcrypt php-mbstring # yum install php-imap php-xml php-xmlrpc# yum install php-pecl-apc php-pecl-memcached# less /etc/php.ini# ls /etc/php.dapc.ini json.ini mysql.ini pdo_sqlite.ini xmlwriter.inicurl.ini mbstring.ini odbc.ini phar.ini xsl.ini配置mod_php模块运行PHPn/etc/httpd/conf.d/php.conf LoadModule php5_module modules/libphp5.so LoadModule php5_module modules/libphp5-zts.soAddHandler php5-script .phpAddType text/html .phpDirectoryIndex index.php 测试PHP和MySQLn重新启动Apache# service httpd restartn在/var/www/html目录下编写一个测试脚本# echo /var/www/html/info.phpn使用浏览器进行测试# elinks http:/www.ls-al.me/info.phpphpMyAdminnphpMyAdmin 是一个用PHP编写的基于Web的Mysql管理工具nphpMyAdmin 界面友好,操作简单nphpMyAdmin的主页qhttp:/ CMSnLMS/LCMSnWikinBLOGnForumnGroupwarenWebMailnBugTrackersnphpDBadminnWeb Hosting Control Panel常用的LAMP应用软件nMoodlenWordpressnDrupalnphpBBnMoodle 简介nMoodle为远程教育提供了一种优秀的开源解决方案q是使用PHP编写的面向对象的模块化动态教学环境q是由澳大利亚教师Martin Dougiamas基于建构主义教育理论而开发的免费、开源的课程管理系统(Course Management System,CMS)q具有内容管理、学习管理和课程管理三大功能n包含论坛、测验、资源、投票、问卷、作业、聊天和博客等模块n具有大量功能丰富的第三方插件q是目前全球范围内应用最广泛的在线教学平台之一Moodle配置举例n下载最新版Moodlen配置MySQL服务的InnoDB存储支持n配置Apachen运行Moodle的安装配置脚本q或使用浏览器实现交互式安装n安排Moodle的cron任务参考教材操作步骤本章思考题nLinux环境下常用的脚本语言有哪些?各自有何特点?n常见的动态网站技术有哪些?与CGI相比FastCGI有哪些特点和优势?n什么是AWStats?AWStats提供了哪些功能?n什么是LAMP?LAMP的常见应用有哪些?n什么是Portal CMS、LMS/LCMS、Wiki、BLOG、Forum、Groupware、WebMail、BugTrackers、phpDBadmin、Web Hosting Control Panel?本章实验n学会配置AWStats访问Apache的访问日志统计信息。n学会配置基于Apache动态语言模块的LAMP环境。n学会安装和配置常见的LAMP应用软件q如:Drupal、Joomla、MediaWiki、Wordpress、phpBB和Moodle等n学会安装和配置常见的国产LAMP应用软件q如:康盛公司(http:/ SupeSite、Discuz!X 等产品进一步学习n学习配置Apache+FastCGI+PHP5 (包括 PHP-FPM)+MySQL 环境。n学习配置Apache+FastCGI+Perl(包含spawn-fcgi)+MySQL 环境。n学习配置Apache+FastCGI+Python(包含python-flup)+MySQL 环境。n学习配置Apache+mod_wsgi+Python+MoinMoinWiki。n学习配置Apache+Tomcat的Java环境。n学习配置Nginx+FastCGI+PHP5 (包括 PHP-FPM)+MySQL 环境。n学习配置Nginx+FastCGI+RubyOnRails环境。n学习 ISPConfig(http:/www.ispconfig.org/)的安装和配置。

    注意事项

    本文(Linux-基础教程--Apache动态站点.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开