《Apache+MySQL+memcached+Perl开发高速开源网站》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)加尔布雷斯著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302244066
  • 页数:809 页
图书介绍:本书详细地使用LAMMP成功地构建应用程序的方法,并提供了大量的示例进行说明。本书还提出了一些现实问题,并给出了寻找这些问题的解决方案。

第1章LAMMP 1

1.1 Linux 2

1.2Apache 3

1.3 MySQL 4

1.4 memcached 5

1.4.1 Gear6 6

1.4.2 Clickabili 6

1.4.3 GaiaOnline 7

1.4.4 memcached的工作原理 7

1.5 Perl 8

1.6其他技术 10

1.6.1 Sphinx 10

1.6.2 Gearman 10

1.7展望未来 11

1.8开源Web开发和数据库的未来 12

1.9值得关注的项目 13

1.10本章小结 13

第2章MySQL 14

2.1 CGI和PHP是如何神奇地改变Web的 14

2.2 MySQL概述 15

2.3 MySQL程序 18

2.3.1客户端程序 19

2.3.2实用程序 24

2.3.3 MySQL守护程序和启动实用程序 26

2.4处理数据 28

2.4.1创建模式和表 28

2.4.2插入数据 34

2.4.3查询数据 37

2.4.4更新数据 49

2.4.5删除数据 52

2.4.6替换数据 55

2.4.7INSERT…ON DUPLICATE KEY UPDATE 57

2.4.8运算符 58

2.4.9函数 58

2.4.10使用帮助 70

2.4.11 MySQL中的用户自定义变量 72

2.5 MySQL特权 74

2.5.1 MySQL访问控制特权系统 74

2.5.2 MySQL全局系统用户 74

2.5.3 MySQL系统模式授权表 75

2.5.4账户管理 79

2.6本章小结 83

第3章MySQL高级进阶 85

3.1 SQL的特性 85

3.1.1存储过程与函数 86

3.1.2触发器 94

3.1.3视图 102

3.1.4用户自定义函数 105

3.2存储引擎 111

3.2.1通用存储引擎 111

3.2.2存储引擎的功能 113

3.3使用存储引擎 113

3.3.1 MyISAM存储引擎 115

3.3.2 InnoDB存储引擎 118

3.3.3 Archive存储引擎 123

3.3.4 Federated存储引擎 124

3.3.5 Tina/CSV存储引擎 130

3.3.6 Blackhole存储引擎 132

3.4复制 132

3.4.1复制概述 133

3.4.2复制模式 134

3.4.3复制的命令选项 136

3.4.4复制的安装与设置 138

3.4.5搜索文本 147

3.4.6何时使用Sphinx 160

3.5本章小结 160

第4章Perl入门 162

4.1 Perl的确切含义 162

4.2 Perl简介 164

4.3 Perl数据类型 164

4.3.1标量变量 164

4.3.2数组变量 166

4.3.3散列变量 166

4.3.4文件句柄 166

4.3.5 type glob变量 166

4.3.6子例程 167

4.4变量的用法 167

4.4.1引用 167

4.4.2标量的用法 172

4.4.3数组的用法与迭代 173

4.4.4散列的使用 177

4.4.5写入文件 183

4.4.6 STDOUT与STDERR 183

4.4.7进程的文件句柄 183

4.4.8子例程 185

4.4.9变量作用域 187

4.5程序包 191

4.5.1 Perl模块 192

4.5.2编写Perl模块 193

4.5.3﹫ISA数组 196

4.5.4模块的文档化 196

4.5.5使模块可安装 199

4.5.6测试 200

4.5.7添加MANIFEST文件 203

4.5.8 CPAN 204

4.6 Regex正则表达式趣话 205

4.6.1把正则表达式存储在变量中 206

4.6.2正则表达式优化 206

4.6.3正则表达式编译 207

4.6.4组合优化 207

4.7 Perl 6趣闻 207

4.8本章小结 208

第5章 面向对象的Perl 209

5.1关于面向对象 209

5.2 Perl语言中的面向对象 211

5.2.1编写第一个Perl类 211

5.2.2创建一个程序包 212

5.2.3构造函数 212

5.2.4添加方法 214

5.2.5使用AUTOLOAD按需使用方法 219

5.2.6其他方法 229

5.2.7使生活更加轻松:Moose 238

5.3本章小结 242

第6章MySQL和Perl 244

6.1 Perl DBI 244

6.1.1 DBI和DBD 245

6.1.2安装 245

6.1.3 DBI API 246

6.2连接 248

6.2.1 $dsn参数 248

6.2.2 $usemame和$Password参数 252

6.2.3 $attributes参数值 252

6.2.4 connect cached方法 253

6.3语句句柄 253

6.3.1写入数据 254

6.3.2读取数据 256

6.3.3每次一行的提取方法 257

6.3.4提取方法 257

6.4绑定方法 260

6.4.1绑定输入参数 260

6.4.2绑定输出参数 261

6.5其他语句句柄方法 263

6.5.1rows方法 263

6.5.2dump_ results方法 263

6.6语句句柄特性 264

6.7MySQL特有的语句句柄特性 265

6.8多步骤工具方法 268

6.8.1Do方法 268

6.8.2selectall_arrayref方法 269

6.8.3selectall_hashref方法 271

6.8.4selectcoll_arrayref方法 271

6.8.5selectrow_array方法 271

6.8.6selectrow_arrayref方法 272

6.8.7selectrow_hashref方法 272

6.9其他数据库句柄方法 273

6.9.1last_insert id方法 273

6.9.2 ping方法 273

6.9.3clone方法 274

6.9.4事务性方法—begin_work、conmut与rollback 274

6.10存储过程 275

6.11错误处理 277

6.12Server Admin 279

6.13本章小结 281

第7章简单的数据库应用程序 283

7.1规划应用程序的功能 283

7.1.1模式设计 283

7.1.2画一个完整的线框 284

7.1.3声明和初始化 285

7.1.4程序入口点 288

7.2创建表的子例程 290

7.2.1使用information_schema模式 291

7.2.2列出联系人 292

7.2.3编辑联系人 295

7.2.4插入联系人 299

7.2.5更新联系人 300

7.2.6删除联系人 301

7.3测试update_contact、insert_contact以及delete_contact 302

7.3.1编辑联系人 303

7.3.2添加联系人 304

7.3.3删除联系人 305

7.4查找联系人 307

7.5测试查找联系人的功能 308

7.6本章小结 311

第8章memcached 312

8.1memcached的概念 312

8.2使用memcached的方式 314

8.2.1 Gearman的含义 316

8.2.2缓存策略 316

8.3安装memcached 317

8.3.1CentOS操作系统 317

8.3.2 Ubuntu操作系统 318

8.3.3通过源代码安装memcached 319

8.4启动memcached 320

8.4.1启动脚本 321

8.4.2基于Debian的启动脚本 321

8.4.3基于Redhat的启动脚本 322

8.4.4安装Perl模块Cache::Memcached 322

8.5使用Cache::Memcached 323

8.5.1连接与实例化 323

8.5.2memcached的操作 324

8.5.3Cache::Memcached API 324

8.6 memcached的简单示例 327

8.6.1在memcached中存储标量 328

8.6.2复杂的数据类型 329

8.6.3添加与替换 330

8.7一个更加实用的示例 331

8.7.1用户应用程序 331

8.7.2数据设计 331

8.7.3UserApp程序包 333

8.7.4实例化 334

8.7.5数据库连接器方法 334

8.7.6数据检索方法 334

8.7.7简单存取器方法 338

8.7.8数据修改方法 339

8.7.9使用UserApp 342

8.7.10 memcached连接器方法 345

8.7.11缓存实现计划 345

8.7.12在何处添加缓存 346

8.7.13缓存键模式 346

8.7.14预先缓存 347

8.7.15预先缓存城市 347

8.7.16预先缓存州 348

8.7.17使用实例化调用预先缓存的方法 349

8.7.18修改存取器方法来使用缓存 349

8.7.19用户数据缓存—Set方法的修改 351

8.7.20用户数据缓存—Get方法的修改 352

8.7.21现在的UserApp具有缓存功能 353

8.8本章小结 358

第9章libmemcached 359

9.1libmemcached的含义 359

9.1.1 libmemcached的功能 360

9.1.2 LIbmemcached的实用工具程序简介 360

9.1.3安装libmemcached 361

9.2 libmemcached的实用工具程序 361

9.2.1 memcat 361

9.2.2 memflush 362

9.2.3 memcp 362

9.2.4 memstat 362

9.2.5 memrm 363

9.2.6 memslap 363

9.2.7 memerror 364

9.3 libmemcached的Perl驱动程序 364

9.3.1安装 365

9.3.2 Memcached∷libmemcached和使用它的libmemcached API 365

9.3.3连接函数 366

9.3.4 libmemcached的行为函数 366

9.3.5设置值的函数 369

9.3.6数据检索(get)函数 371

9.3.7增量、减量和删除 372

9.3.8信息和实用程序函数 372

9.3.9面向对象的接口 373

9.3.10面向过程的Memcached∷libmemcached程序示例 374

9.3.11面向对象的Memcached∷libmemcached程序示例 375

9.4 Cache∷memcached∷libmemcached 376

9.4.1性能比较 376

9.4.2编写自己的比较脚本 377

9.5本章小结 381

第10章Memcached Functions for MySQL 383

10.1 Memcached Functions for MySQL概述 383

10.2 Memcached Functions for MySQL的工作原理 384

10.3安装Memcached Functions for MySQL 384

10.3.1前提条件 385

10.3.2配置源代码 385

10.3.3创建源代码 386

10.3.4安装LUDF 386

10.3.5检查安装 387

10.4使用Memcached Functions for MySQL 388

10.4.1创建一个到memcached服务器的连接 388

10.4.2设置值 389

10.4.3提取、递增和递减函数 395

10.4.4行为函数 397

10.4.5统计函数 400

10.4.6版本函数 402

10.5使用memcached UDF函数 402

10.5.1单一数据库句柄示例 403

10.5.2使用触发器(以及UDF)的乐趣 409

10.5.3使用简单的选择语句进行通读缓存 413

10.5.4更新 415

10.6本章小结 416

第11章Apache 418

11.1理解Apache:概述 418

11.2理解Apache模块API 421

11.2.1 Apache 2.2自Apache 1.3以来的变化 421

11.2.2 Apache 2.2请求阶段 422

11.2.3新模块和修改的模块 424

11.3安装Apache 426

11.3.1在Windows操作系统中安装 Apache 426

11.3.2在运行中的UNIX系统上安装Apache和mod_erl 428

11.3.3在Apple OS X (10.5)操作系统上安装Apache 430

11.3.4在UNIX操作系统上安装Apache 源 430

11.4从源代码安装mod_perl 434

11.5从源代码安装libapreq2 435

11.6 Apache配置 436

11.6.1配置节容器指令 437

11.6.2基本指令 440

11.6.3服务器调整指令 443

11.6.4日志指令 446

11.6.5错误指令 447

11.6.6访问控制、身份验证和授权 449

11.6.7 htaccess文件指令 452

11.6.8索引指令 453

11.6.9 CGI指令 456

11.6.10 VirtualHost指令 458

11.6.11处理程序和过滤器指令 459

11.6.12客户端处理指令 460

11.6.13 SSL指令 461

11.6.14点击流分析 464

11.6.15 重写URL 466

11.6.16条件模式 469

11.6.17 Apache倒置代理 476

11.6.18启用mod_roxy模块 478

11.6.19 mod_proxy指令 478

11.6.20 Apache服务器控制 480

11.7Apache配置方案 481

11.7.1源代码安装 481

11.7.2 Ubuntu/Debian 481

11.7.3 Centos/Redhat操作系统变种 483

11.7.4 SUSE操作系统 484

11.7.5 Windows 486

11.8常用的Apache任务 489

11.8.1配置基于名称的虚拟主机 489

11.8.2设置HTTP基本身份验证 491

11.8.3设置摘要式身份验证 492

11.8.4配置安全的服务器 493

11.8.5设置带有合法安全证书的安全服务器 495

11.8.6使用两个虚拟主机设置倒置代理 496

11.9本章小结 497

第12章 联系人列表应用程序 499

12.1同时使用MySQL和memcached 499

12.2 CGI程序 500

12.2.1 CGI Apache安装 500

12.2.2基本的CGI程序 500

12.2.3用户界面 502

12.2.4数据库存储要求 509

12.3程序流程 510

12.3.1重要的先说 510

12.3.2程序实现 511

12.4 WebApp类方法 524

12.4.1 new()方法实例化 526

12.4.2连接MySQL 527

12.4.3连接memcached 528

12.4.4 getUsers()方法 529

12.4.5 getUser()方法 532

12.4.6 saveUser0方法 533

12.5数据库方法 537

12.5.1 insertUser()方法 537

12.5.2 updateUser()方法 538

12.5.3 deleteUsersQ方法 540

12.5.4 userExists0方法 542

12.6缓存方法 543

12.6.1 saveUserToCache()方法 544

12.6.2 cacheUsers()方法 545

12.6.3 getUsersFromCache()方法 547

12.6.4 userExistsInCache()方法 548

12.6.5 deleteUserFromCache()方法 549

12.6.6 setMemcUIDList()方法 550

12.6.7 updateMemcUIDList()方法 551

12.6.8 deleteMemcUIDList()方法 553

12.6.9 getMemcUIDList()方法 554

12.7其他方法 555

12.7.1 getStates()方法 555

12.7.2 getState()方法 556

12.7.3 encodeUserData()方法 557

12.8测试 558

12.9本章小结 559

第13章mod_perl处理程序 560

13.1 mod_perl2.0的新特性 560

13.2配置mod_perl 561

13.3 mod_perl配置指令 564

13.3.1 <Perl>节 564

13.3.2 PerIModule 565

13.3.3 PerlLoadModule 565

13.3.4 SetHandler perl-script 565

13.3.5 SetHandler modperl 566

13.3.6 PerlSetEnv 566

13.3.7 PerlPassEnv 566

13.3.8 PerlSetVar 566

13.3.9 PerlAddVar 567

13.3.10 PerlPostConfigRequire 567

13.3.11 PerlRequire 567

13.3.12 PerlOptions 567

13.3.13 PerlSwitches 568

13.3.14 POD 569

13.4 mod_erl处理程序指令 569

13.4.1处理程序范围 569

13.4.2处理程序类型 570

13.4.3处理程序类别 570

13.5 Apache生命周期概述 571

13.5.1服务器生命周期阶段处理程序 572

13.5.2连接周期阶段处理程序 572

13.5.3过滤器处理程序 573

13.6 Perl Apache2模块 579

13.6.1 Apache2常量和请求记录Perl模块 580

13.6.2 Apache2连接和过滤器记录模块 583

13.6.3 Apache2服务器记录模块 584

13.6.4 Apache2配置模块 585

13.6.5 Apache2资源/性能、状态和其他模块 588

13.7本章小结 591

第14章 使用mod_ped处理程序 592

14.1 PerlResponseHandler示例 592

14.1.1设定初始处理程序 593

14.1.2使用服务器对象和表单分析记录消息 593

14.1.3设置日志级别和打印HTTP头 594

14.2连接mod_erl处理程序 598

14.3 PerlPreConnectionHandler示例 598

14.4其他HTTP请求周期阶段处理程序 603

14.4.1 PerlAccessHandler示例 603

14.4.2 PerlAuthenHandler示例 605

14.4.3 PerlAuthzHandler示例 609

14.4.4 PerlLogHandler示例 612

14.4.5 Perl过滤器处理程序示例 617

14.5本章小结 620

第15章 更多mod_perl应用程序 622

15.1使用mod_perl处理程序还是ModPerl∷Registry 622

15.1.1使用ModPerl∷RegistryLoader 623

15.1.2将ModPerl∷Regist脚本转换为mod_erl处理程序 623

15.1.3将mod_perl处理程序转换为ModPerl∷Registry脚本 629

15.2处理Cookie 631

15.2.1 CookieTestHandler 631

15.2.2用于测试Cookie和头的工具 637

15.3数据库泛型方法 639

15.3.1 dbGetRef()方法 639

15.3.2 dbInsert()方法 641

15.3.3 dbUpdate()方法 642

15.3.4 dbDelete()方法 643

15.3.5 whereClause()方法 644

15.3.6 buildUpdate()方法 646

15.3.7 buildInsert()方法 647

15.3.8 WebApp的其他变更 648

15.4会话管理 650

15.4.1实现mod_erl处理程序LoginHandler 651

15.4.2 WebApp类简介 655

15.4.3存储会话数据 658

15.5文件上载mod_perl处理程序 662

15.5.1是否在数据库中存储文件 662

15.5.2数据库表 663

15.5.3 mod_perl处理程序的实现方式 663

15.5.4需要添加到WebApp的方法 669

15.5.5使用mod_perl上载处理程序 671

15.6模板化 672

15.7 HTML∷Template 680

15.7.1标记 680

15.7.2使用HTML∷Template的mod_per处理程序示例 682

15.7.3 HTML∷Template模板 684

15.8 HTML∷Mason (Mason) 685

15.8.1 Mason语法 685

15.8.2内联的Perl节 685

15.8.3 Mason对象 687

15.8.4 Mason组件 687

15.8.5初始化和清除 689

15.8.6 Mason中的用户清单页面 689

15.9本章小结 691

第16章Perl和Ajax 693

16.1 Ajax的定义 693

16.2 mod_perl应用程序和Ajax 694

16.2.1基本的Ajax示例 694

16.2.2使用JSON Perl模块的更多示例 699

16.3本章小结 723

第17章 搜索引擎应用程序 724

17.1使用Gearman组合搜索引擎应用程序 724

17.1.1 Geartnan 724

17.1.2安装和运行Gearman 725

17.1.3使用Gearman MySQLUDF 728

17.1.4 Perl和Gearman 730

17.2搜索引擎应用程序 731

17.2.1搜索引擎应用程序的数据库表 734

17.2.2数据库触发器 735

17.2.3 Sphinx设置 736

17.2.4 Gearman worker 740

17.2.5运行worker 748

17.3 mod_perl处理程序Web应用程序 750

17.3.1搜索应用程序 750

17.3.2使用搜索应用程序 760

17.3.3 URL队列应用程序 761

17.3.4 URLHandler—AJAX应用程序 762

17.3.5 URLQueueHandler mod_perl处理程序 769

17.3.6 URLQueueHandler handler()子例程 770

17.3.7 URLQueue界面 772

17.4本章小结 774

附录A安装MySQL 775

附录B 配置MySQL 792