高性能Web服务器部署与运维(基于PHP、Java、ASP、NET等)

副标题:无

作   者:陶利军编著

分类号:

ISBN:9787302287834

微信扫一扫,移动浏览光盘

简介

书籍 计算机书籍   本书详细讲述了Nginx服务器与动态语言应用的结合,动态语言包括PHP、Python、Perl、Java、Ruby及ASP.NET架构。 对于PHP部分,我们使用了php-fpm方式运行,在这一部分除了使用纯PHP架构的memcache外,还介绍了使用libmemcached的memcached。对于使用Python作为开发的网站,使用了uWSCGI服务器,并且详细讲述了它的协议和使用,通过8个实例讲述了在不同情况下的使用,例如Django框架。还有Python的三种客户端:python-memcached、cmemcache和libmemcached。同样,以Perl、Java(以Tomcat应用服务器为例讲述)和Ruby开发的网站都会从中获益,包括对应用服务器的管理。对于ASP.NET的用户来说,现在从Windows系统下向Linux系统迁移的用户很多,这就无疑会使用Mono,在本书中同样能够找到Mono的使用和迁移的解决方案。   本书适用于广大的Linux爱好者,具有一定Linux基础的系统管理员,Linux下的Web服务器管理员,Linux服务器下动态语言开发人员,Nginx服务器管理员,培训中心师生,运维人员以及一切应该了解和使用Nginx的用户。   

目录

目 录


第1部分 nginx服务器


第1章 环境部署 2

1.1 php-fpm的安装与测试 2

1.1.1 下载并安装php 2

1.1.2 启动php-fpm 3

1.2 php-fpm的目录结构 4

1.2.1 etc/目录 4

1.2.2 bin/目录 11

1.2.3 sbin/目录 18

1.2.4 php-fpm命令 18

1.3 管理php-fpm 18

1.3.1 编写init启动脚本 18

1.3.2 添加init启动 22

1.4 认识fastcgi模块 22

1.4.1 配置示例 22

1.4.2 指令 23

1.4.3 变量 32

.1.4.4 fastcgi_cache与fastcgi-store的区别 32

1.4.5 被传递到fastcgi服务器的参数 32

1.5 与fastcgi模块相关的配置文件 32

1.5.1 配置文件fastcgi.conf和fastcgi_params 33

1.5.2 配置文件fastcgi.conf和fastcgi_params的关系 33

1.6 nginx和php的结合 35

第2章 php访问memcached 39

2.1 第一个实例 39

2.1.1 安装memcache 40

2.1.2 memcache提供的方法 41

2.1.3 测试memcache 42

2.1.4 使用memcache.php 43

2.1.5 安装memcached 47

2.1.6 memcached提供的方法 48

2.1.7 测试memcached 49

2.2 第二个实例 51

2.2.1 写入memcached的nginx配置 51

2.2.2 访问测试及日志分析 53

2.3 手动清除memcached缓存 56

2.3.1 基于命令行方式清除memcached缓存 56

2.3.2 基于应用程序的方式清除memcached缓存 58

第3章 php-fpm的状态 61

3.1 添加设置 61

3.2 访问测试 62


第2部分 nginx与python


第4章 uwsgi服务器 65

4.1 uwsgi协议 65

4.1.1 uwsgi数据包头 65

4.1.2 uwsgi数据包的类型 65

4.1.3 uwsgi的变量 67

4.2 uwsgi服务器 68

4.2.1 uwsgi服务器的功能 68

4.2.2 uwsgi服务器的配置选项 69

4.2.3 uwsgi服务器配置文件的格式 88

4.2.4 使用udp方式来处理uwsgi的日志 89

4.2.5 用于记录日志的zeromq 90

4.2.6 emperor模式 90

4.2.7 在worker之间共享数据:共享内存 96

4.2.8 uwsgi 缓存架构 97

4.2.9 uwsgi 队列管理器 100

4.2.10 嵌入式snmp服务器 102

4.2.11 uwsgi集群平台 103

4.2.12 uwsgi 订阅系统 104

4.2.13 uwsgi的异步(async)模式 105

4.2.14 uwsgi 虚拟主机模式 109

4.2.15 模块别名的使用 111

4.2.16 ugreen的使用 113

4.2.17 uwsgi协议的变量 115

4.2.18 管理标志位 116

4.2.19 运行在nginx后的uwsgi 117

第5章 nginx的uwsgi模块 122

5.1 示例配置 122

5.2 指令 122

5.3 传递到uwsgi服务器的参数 131

5.4 使用配置 131

第6章 环境部署 134


6.1 安装nginx 134

6.1.1 下载ngx_cache_purge模块 134

6.1.2 安装nginx及

ngx_cache_purge模块 135

6.2 安装python 135

第7章 实例运行 138

7.1 实例1:运行开发服务器 138

7.1.1 创建项目 138

7.1.2 添加应用 139

7.2 实例2:以uwsgi方式运行 140

7.2.1 编写helloworld模块 140

7.2.2 修改nginx配置文件 140

7.2.3 启动uwsgi服务器 141

7.3 实例3:使用django框架 142

7.3.1 编写wsgi.py模块 142

7.3.2 命令行执行uwsgi服务器启动 143

7.4 实例4:一个uwsgi实例实现对多个虚拟主机的支持 147

7.4.1 下载并安装setuptools工具 147

7.4.2 安装virtualenv 148

7.5 实例5:分别监听在不同端口上的两个uwsgi实例 155

7.6 实例6:针对nginx uwsgi模块应用举例的一个具体实现 161

7.7 实例7:集群的实现 165

7.8 实例8:会话存储 168

7.8.1 第一种情况:使用基于数据库的方式 169

7.8.2 第二种情况:使用基于memcached的方式 176

7.8.3 第三种情况:同时使用数据库和memcached 180

第8章 缓存 181

8.1 环境搭建 181

8.2 django的缓存 182

8.2.1 相关的选项 183

8.2.2 缓存方式 185

8.2.3 缓存策略 187

8.2.4 关于中间件 190

8.3 缓存的实现 191

8.3.1 基于memcached服务器作

为缓存的具体实施 191

8.3.2 基于本地内存作为后端缓存的实施 210

8.3.3 基于上游服务器缓存的实施 211

8.4 模块cache_purge 220

第9章 会话 222

9.1 启用会话功能 222

9.2 配置存储会话引擎 223

9.2.1 使用后台数据库存储会话 223

9.2.2 与数据库相关的选项设置 223

9.2.3 使用缓存存储会话 224

9.2.4 使用基于文件的缓存 225

9.3 会话的使用 225

9.3.1 在视图中使用会话 225

9.3.2 在视图之外使用会话 227

9.3.3 使用session 对象指南 228

9.4 测试客户端浏览器是否接受cookie 229

9.5 保存会话的时机 229

9.6 清除会话表 230

9.7 浏览器关闭会话与持久会话 230

9.8 与会话相关的设置选项 231
第3部分 nginx与perl


第10章 nginx提供perl cgi访问

cgi的实现 234

10.1.1 方法1 234

10.1.2 方法2 242

10.1.3 使用perlinfo.cgi 250

10.1.4 启动脚本 251

10.1.5 部署应用 252

第11章 nginx与perl fastcgi 253

11.1 perl fastcgi的相关安装 253

11.2 nginx和perl的结合 258

11.2.1 三种结合方式 258

11.2.2 访问测试 261

11.2.3 缓存清除 262

11.3 perl访问memcached 262

11.3.1 通过cache::memcached方式 263

11.3.2 通过cache::memcached::fast方式 275

11.3.3 memcached::libmemcached方式 292

11.3.4 通过cache::memcached::libmemcached方式 298

第12章 nginx通过内置的perl模块执行perl程序 307

第4部分 nginx与java


第13章 环境部署 318

13.1 下载并安装jdk 318

13.2 下载并安装tomcat 319

13.3 tomcat的目录结构 320

13.3.1 bin/目录 320

13.3.2 conf/目录 323

13.3.3 logs/目录 324

13.3.4 work/目录 325

13.3.5 lib/目录 325

13.3.6 temp/目录 325

13.3.7 webapps/目录 325

13.4 管理tomcat 326

13.4.1 使用jsvc 326

13.4.2 分析tomcat7.sh文件 328

13.4.3 使用catalina.sh 334

第14章 nginx与tomcat的结合 335

14.1 配置示例 335

14.2 指令 335

14.3 变量 348

14.4 使用配置 349

第15章 配置server.xml文件 351

15.1 第一部分:xml信息 354

15.2 第二部分:server元素 354

15.3 第三部分:listener元素监听器的设置 355

15.3.1 listener的属性 356

15.3.2 listener的标准执行 356

13.4 第四部分:全局命名资源设定 360

15.4.1 environment元素 360

15.4.2 resource元素 361

15.4.2 resource links元素 363

15.5 第五部分:service元素 363

15.6 第六部分:线程 364

15.7 第七部分:连接器connector 366

15.7.1 第一种连接器:http connector 366

15.7.2 第二种连接器:ajp connector 375

15.8 第八部分:engine的设定 375

15.8.1 engine的属性 376

15.8.2 嵌套的组件 376

15.9 第九部分:集群的设定 378

15.9.1 文件server.xml的原始

配置 378

15.9.2 集群配置文件 378

15.9.3 cluster元素 379

15.9.4 cluster元素可嵌套的元素 380

15.9.5 cluster元素的属性 380

15.9.6 cluster manager元素 381

15.9.7 channel元素的属性 383

15.9.8 cluster/valve 元素 394

15.9.9 cluster /deployer元素 395

15.9.10 clusterlistener元素 396

15.9.11 emcachedbackupsessionmanager配置属性 396

15.9.12 nginx-upstream-jvm-route模块 399

15.10 第十部分:认证域 408

15.10.1 jdbc database realm 409

15.10.2 datasource database realm 414

15.10.3 jndi directory realm 417

15.10.4 memory based realm 429

15.10.5 userdatabase realm 432

15.10.6 jaas realm 434

15.10.7 combined realm 435

15.10.8 lockout realm 436

15.11 第十一部分:虚拟主机 438

15.11.1 tomcat与nginx的结合 438

15.11.2 host元素的属性 439

15.11.3 host元素的特殊功能 442

15.11.4 主机(host)名字(name)的别名(alias) 442

15.12 第十二部分:valve设置 443

15.12.1 access log valve 443

15.12.2 access log valve 支持的属性配置 444

15.12.3 远程地址过滤 446

15.12.4 远程主机过滤 447

15.12.5 单点登录 448

15.12.6 基本认证valve 448

15.12.7 摘要认证valve 450

15.12.8 form 认证 valve 452

15.12.9 ssl 认证valve 453

15.12.10 spnego valve 455

15.12.11 remote ip valve 456

15.12.12 crawler session manager

valve 457

15.12.13 用户的web应用程序 458

15.13 tomcat集群与memcached存储会话 459

15.13.1 环境部署 459

15.13.2 使用memcached存储会话 460


15.13.3 粘贴性会话与非粘贴性会话 490

第16章 配置web.xml文件 491

16.1 conf/web.xml 491

16.1.1 配置文件内容分析 491

16.1.2 配置文件指令分析 505

16.2 webapps/manager/web-inf/web.xml 510

16.2.1 第一部分;与xml文档相关的设置 510

16.2.2 第二部分;servlet 映射 511

16.2.3 第三部分;用户数据库角色查询 511

16.2.4 第四部分;定义web资源的安全限制 512

16.2.5 第五部分;定义应用程序的登录配置 514

16.2.6 第六部分;定义安全角色 525

16.2.7 第七部分;定义错误页 526

16.2.8 第八部分;声明对外部资源的应用 527

16.3 webapps/examples/web-inf/web.xml 528

16.3.1 第一部分;定义事件监听器 528

16.3.2 第二部分;servlet的访问 529

16.3.3 第三部分;jsp设置 529

16.3.4 第四部分;有关web环境变量的配置 536

16.3.5 第五部分;异步处理 537

16.4 webapps/host-manager/web-inf/web.xml 539


16.4.1 设定虚拟主机 539

第17章 配置context.xml文件 541

17.1 默认配置文件 541

17.2 context元素 543

17.2.1 通用属性 543

17.2.2 标准部署 548

17.2.3 context中嵌套的元素 553

17.3 manager元素 557

17.3.1 通用属性 557

17.3.2 标准部署 558

17.3.3 标准manager部署 560

17.3.4 持久性manager部署 560

第18章 配置tomcat-users.xml文件 563

18.1 默认配置文件 563

18.2 相关指令 563

18.3 分析配置文件 563

第19章 配置catalina.policy文件 565

19.1 默认配置文件 566

19.2 策略格式 572

19.3 相关指令 573

19.4 分析配置文件 584

19.4.1 第一部分:注意事项及版权 584

19.4.2 第二部分:catalina.policy文件说明 584

19.4.3 第三部分:系统代码权限 585

19.4.4 第四部分:catalina
代码权限 586

19.4.5 第五部分:web应用

程序权限 586


第20章 配置catalina.properties文件 587

20.1 catalina.properties文件 587

20.1.1 类访问控制及加载 590

20.1.2 改变tomcat的默认属性行为 591

20.2 类载入器 591

20.3 相关的类加载器 591

20.4 loader的通用属性 593

20.5 loader标准执行 594

20.6 部署virtualwebapploader 594

第21章 在容器元素中可以使用的过滤器 595

21.1 默认字符集过滤器 595

21.1.1 过滤器类的名称 595

21.1.2 初始化参数 595

21.2 预防csrf过滤器 595

21.2.1 过滤器类的名称 596

21.2.2 初始化参数 596

21.3 expires过滤器 596

21.3.1 配置示例 597

21.3.2 替代语法 597

21.3.3 生存期头产生的资格 599

21.3.4 过滤器类的名称 599

21.3.5 初始化参数 599

21.3.6 疑难解答 601

21.4 远程地址过滤器 602

21.4.1 过滤器类的名称 602

21.4.2 初始化参数 602

21.5 远程主机过滤器 602

21.5.1 过滤器类的名称 602

21.5.2 初始化参数 603


21.6 远程ip过滤器 603

21.6.1 用于处理“x-forwarded-for”的基本配置 603

21.6.2 用于处理“x-forwarded-for”和“x-forwarded-proto”的基本配置 604

21.6.3 内部代理的高级配置 604

21.6.4 信任代理的高级配置 605

21.6.5 内部和信任代理的

高级配置 606

21.6.6 不信任代理的高级配置 607

21.6.7 初始化参数 608

request dumper过滤器 609

21.7.1 过滤器类的名称 609

21.7.2 初始化参数 609

21.7.3 简单配置 609

webdav fix 过滤器 610

21.8.1 过滤器类的名称 610

21.8.2 初始化参数 610
第5部分 nginx与ruby


第22章 环境部署 612

22.1 安装ruby 612

22.1.1 安装ruby 612

22.1.2 正确使用ruby 613

22.2 关于gem工具 613

22.2.1 gem命令概况 614

22.2.2 gem help commands命令 614

22.2.3 常用的gem命令 622

22.2.4 gem的工作目录 625

22.3 安装passenger 630

22.3.1 相关问题 631

22.3.2 下载passenger 631

22.3.3 readme文件 631

22.3.4 第一种方法的安装 632

22.3.6 第二种方法的安装 638

22.3.6 nginx的相关配置 639

22.4 phusion passenger模块配置指令 640

22.4.1 配置phusion passenger的指令 640

22.4.2 部署应用程序的指令 641

22.4.3 连接处理指令 642

22.4.4 安全配置指令 644

22.4.5 资源控制和优化指令 646

22.4.6 日志记录和调试指令 650

22.4.7 ror的特有指令 651

22.4.8 rack的特有指令 652

22.4.9 弃用指令 652

22.5 分析和系统维护工具 652

22.5.1 检测内存使用情况 653

22.5.2 检查passenger进程的内部状态 655

22.5.3 显示passenger的配置信息 659

22.5.4 激活许可 659

22.6 投入生产后的维护 662

22.6.1 升级和降级 662

22.6.2 临时禁用passenger 663

22.6.3 移动passenger到

其他目录 664

22.6.4 安装多个ror版本 664

22.6.5 每一次请求之后都重新

启动应用程序 664

22.6.6 卸载passenger 664

22.7 passenger的相关技术 665

22.7.1 页面缓存支持 665

22.7.2 passenger检查虚拟主机

是否是一个web应用程序的依据 665

22.7.3 用户切换 666

22.7.4 减少ror应用程序33%的内存消耗 666

22.8 独立运行passenger守护进程 667

22.8.1 安装passenger 667

22.8.2 启动独立运行的passenger守护进程 668

22.8.3 访问测试 672

22.8.4 认识passenger命令 672

22.9 passenger下的rails 675

22.9.1 启动passenger独立运行守护进程 675

22.9.2 相关的进程 675

22.9.3 访问测试 676

第23章 走进rails 677

23.1 安装rails框架 677

23.1.1 查看版本 677

23.1.2 认识rails命令 678

23.1.3 rails框架实例应用 679

23.2 分析目录结构 682

23.2.1 项目下的文件 682

23.2.2 rake命令 688

23.2.3 bundle命令 704

23.3 项目下的目录及文件 709

23.3.1 app目录 709

23.3.2 config目录 712

23.3.3 db目录 726

23.3.4 doc目录 727

23.3.5 lib目录 727

23.3.6 log目录 728

23.3.7 public目录 728

23.3.8 script目录 728

23.3.9 test目录 728

23.3.10 tmp目录 729

23.3.11 vendor目录 730

23.3.12 在rails框架下运行passenger独立守护进程 730

23.3.13 运行rails的web服务器 734

23.3.14 rails应用程序下的rails命令 735

23.3.15 创建项目 739

23.4 认识rails架构 741

23.4.1 什么是rails 741

23.4.2 mvc架构 741

23.5 rails的一般配置 742

23.6 assets的配置 746

23.7 generators的配置 747

23.8 配置middleware 749

23.8.1 中间件 749

23.8.2 方法 751

23.9 配置 i18n 752

23.10 rails 环境设置 755

23.11 rails的组成部分及其配置 755

23.11.1 action pack 756

23.11.2 action mailer 759

23.11.3 active model 760

23.11.4 active record 761

23.11.5 active resource 762

23.11.6 active support 763

13.12 railties 764

23.12.1 初始化文件 764

23.12.2 初始化事件 764

23.12.3 rails::railtie#initializer 765

23.13 rest 768

23.14 rails内置的http 认证机制 769

23.15 基本身份认证 769

23.15.1 通过app/controllers/application_controller.rb文件实现 769

23.15.2 通过app/controllers/tm_controller.rb文件实现 770

23.16 摘要身份认证 771

第24章 缓存 773

24.1 缓存策略 773

24.1.1 页面缓存 773

24.1.2 action缓存 775

24.1.3 片段缓存 776

24.2 缓存技术 777

24.2.1 内存缓存技术 778

24.2.2 文件系统缓存技术 778

24.2.3 memcached服务器技术 779

24.2.4 ehcache缓存技术 779

24.2.5 自定义缓存技术 780

24.3 dalli —— memcached的客户端 780

24.3.1 设计dalli的原因 781

24.3.2 支持的ruby版本 781

24.3.3 dalli的安装和使用 782

24.4 实例 785

24.4.1 例1——ruby语言测试 786

24.4.2 例2——rails环境测试 787

24.4.3 例3——缓存会话 790

24.4.4 例4——对独立运行的

passenger实现会话存储 792

24.4.5 例5——页面缓存 794

24.4.6 例6——action缓存 796

24.4.7 例7——片段缓存 800

24.4.8 例8——动静分离 803


第6部分 nginx与asp.net


第25章 mono 806

25.1 什么是mono 806

25.1.1 mono 内核 806

25.1.2 额外组件 806

25.1.3 mono支持的软硬件环境 807

25.1.4 对.net的兼容性 807

25.1.5 mono的获取 808

25.2 mono的基本使用 808

25.2.1 控制台的hello world程序 809

25.2.2 gtk#下的hello world程序 809

25.2.3 winforms格式的hello world程序 810

25.2.4 asp.net的 hello world程序 810

25.2.5 安装后的目录结构 811

25.3 mconfig命令 814

25.3.1 命令行用法 814

25.3.2 相关的配置文件 815

25.4 web.config文件 815

25.4.1 第一部分:格式声明 816

25.4.2 第二部分:[system.codedom]标签 816

25.4.3 第三部分:[system.web]标签 816

第26章 nginx与asp.net的解决方案 828

26.1 方案一:nginx+mono+ fastcgi-mono-server 828

26.1.1 环境部署 828

26.1.2 走进fastcgi-mono-server服务器 838

26.2 方案二:nginx+mono+jexus 841

26.2.1 环境部署 842

26.2.2 走进jexus web server服务器 845

26.2.3 jws与nginx的结合 854

26.2.4 管理jws 856

26.3 方案三:nginx+mono+xsp 860

26.3.1 环境部署 860

26.3.2 xsp服务器的使用方法 864

26.3.3 使用fastcgi方式运行 876

第27章 session存储 879

27.1 存储会话的类型 879

27.1.1 web.config文件 879

27.1.2 存储会话类型设置 880

27.2 状态服务器 884

27.2.1 配置文件 884

27.2.2 使用状态服务器 885

第28章 缓存 888

28.1 动态文件缓存 888

28.1.1 @outputcache指令 889

28.1.2 基于@outputcache指令

的缓存 891

28.1.3 “平台级”的高速缓存 894

28.1.4 静态文件缓存 895

第29章 nginx代理iis 896

后记:nginx与apache 897








已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

高性能Web服务器部署与运维(基于PHP、Java、ASP、NET等)
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon