《高性能Linux服务器构建实战Ⅱ》一书纠错汇总(12月30日更新)

简介:

以下是《高性能Linux服务器构建实战》一书的编写或者排版错误说明,如果发现有相关错误信息,我会陆续在这里发布出来,也希望大家能把自己发现的错误留言给我,谢谢读者们的支持!你们的支持是我完善此书的最大动力!


1、第30页


第二小段:2、安装chkrootkit


1
[root@server ~] # make sense

修改为:

1
[root@server chkrootkit-0.50] # make sense



1
[root@server ~] # cd ..

修改为:

1
[root@server chkrootkit-0.50] # cd ..


2、第326页


第12.2.1节


1
[root@haproxy-server app]# tar zcvf haproxy-1.4.24.tar.gz

修改为:

1
[root@haproxy-server app]# tar zxvf haproxy-1.4.24.tar.gz


3、第269页


将10.2.1节

如下内容:

1
2
3
[root@localhost pcre-8.02] #./configure
[root@localhost pcre-8.02] #make
[root@localhost pcre-8.02] #make install


修改为:

1
2
3
[root@localhost pcre-8.34] #./configure
[root@localhost pcre-8.34] #make
[root@localhost pcre-8.34] #make install


4、第三章


第3.1.1节,“对于DRDB数据镜像来说”,应该修改为DRBD,相同的错误还有:


第3.1.4节第5小节“这样会导致DRDB两个节点的数据发生不一致”

第3.2节标题“DRDB的安装与配置”

第3.2.1节“表3.1 DRDB的安装环境”

第3.3.1节“启动DRDB”

此5个错误,都是笔误导致,统一将“DRDB”修改为“DRBD”即可。


5、第271页


“Nginx的配置文件路径为/opt/nginx/conf”


修改为:


“Nginx的配置文件路径为/usr/local/nginx/conf”


6、272页


中间部分的代码段中

1
“large_client_header_buffers 4 32k”


修改为:

1
“large_client_header_buffers 4 128k”


7、279页


最上面代码段中,三个proxy_pass的最后,均缺少“;”符号,正确的应该是:

1
2
3
4
5
6
7
8
9
10
11
server www.tb.com
location / {
proxy_passhttp: //192 .168.66.90:8080 /web/ ;
}
location  /admin  {
proxy_pass http: //192 .168.66.90:8080 /admin ;
}
server m.tb.com
location / {
proxy_passhttp: //192 .168.66.90:8080 /wap/ ;
}


另外在279页结尾的一段代码中,缺少“}”,也就是在server段最后添加“}”。正确的如下:

1
2
3
4
5
6
server {
server_name www.tb.com www.taob.com;
if  ($host !=  'www.tb.com'  ) {
rewrite ^/(.*)$ http: //www .tb.com/$1 permanent;
   }
}


8、第八页(11月4号更新)


“把之前生成的后缀名为 pub 的密钥文件传到 linux 服务器上,如果已经在用 SecureCrt连接linux系统,可以直接使用rz命令将密钥文件传到服务器上。然后开始导入:”此段下面:

1
ssh -keygen -i -fIdentity.pub >>  /root/ . ssh /authorized_keys2


修改为:

1
ssh -keygen -i -fIdentity.pub >>  /home/ixdba/ . ssh /authorized_keys2


9、275页 (11月4号更新)


1
/usr/local/apache/bin/htpasswd  -c   /usr/local/nginx/conf/htpasswd  password

修改为:

1
/usr/local/apache/bin/htpasswd  -c   /usr/local/nginx/conf/htpasswd  webadmin


10、35页(11月27号更新)


“这样,RKHunter检测程序就会在每天的9:30运行一次”

这里描述有误,应该修改为:

“这样,RKHunter检测程序就会在每天的3:09运行一次”


11、61页(11月27号更新)

安装iperf一节,缺少config步骤,应该在:

"[root@ networkserver~]# cd iperf "

步骤下添加:

[root@ networkserver~]# ./configure


12、68页(11月27号更新)


源码编译安装nmap一节,缺少config步骤,应该在:

“[root@localhost ~]# cd nmap-6.40”

步骤下添加:

[root@localhostnmap-6.40]# ./configure



13、第一章 15页 (2015年1月7号更新)

将“HISTTIMEFORMAT='%F %T'”

修改为:

HISTTIMEFORMAT='%F %T '”


这里由于排版问题,少了最后一个空格。


14、第83页: (2015年1月13号更新)

“在启动DRBD之前,需要分别在两台主机的hdb1分区上创建供DRBD记录信息的数据块.具体是分别在两台主机上执行:

[root@master-drbd ~]# drbdadm create-md r0 或者执行drbdadm create-md all

[root@master-drbd ~]# drbdadm create-md r0

修改为:

“在启动DRBD之前,需要分别在两台主机的hdb1分区上创建供DRBD记录信息的数据块.具体是分别在两台主机上执行:

[root@master-drbd ~]# drbdadm create-md r0 或者执行drbdadm create-md all

[root@slave-drbd ~]# drbdadm create-md r0

15、第85页:第5小节:挂载DRBD设备中, (2015年1月13号更新)

“要在备用节点上挂载DRBD设备,必须停止备用节点的DRBD服务或将备用节点角色升级为主节点。”


修改为:

“要在备用节点上挂载DRBD设备,必须停止主用节点的DRBD服务或将备用节点角色升级为主节点。”


16、第162页面,第7.4.2 源码方式 一节中: (2015年1月13号更新)


将安装ganglia依赖库修改为:


“ [root@monitor ~]#yum install -y expat expat-devel pcre pcre-devel zlib cairo-devel libxml2-devel pango-devel pango libpng-devel libpng freetype freetype-devel libart_lgpl-devel apr-devel

这里面注意空格,书上排版错误,导致缺少空格,影响阅读。



17、第271页:worker_rlimit_nofile:用于绑定worker进程和CPU,Linux内核2.4核以上可用(2015年12月06号更新)


解释有误,应该修改为:


worker_rlimit_nofile:用于指定一个nginx进程可以打开的最多文件描述符数目,这里是65535,需要使用命令“ulimit -n 65535”在系统中进行设置。



18、第14章:P391 最下面,最后一行  (2015年12月06号更新)


mailto_list=['xxxxxx@163.com',xxxxxx@qq.com'],缺少引号“‘”,


正确的应该是

mailto_list=['xxxxxx@163.com','xxxxxx@qq.com']


19、第280页(2015年12月30号更新)


第12行,“root  /home/webdata/www/$1; ”


修改为 “alias  /home/webdata/www/$1; ”


此时是排版错误。


20、第292页,倒数第七行,添加如下内容:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
其中, /opt/nginx/conf/proxy .conf 内容如下: 
proxy_redirect off;   #关闭对发送给客户端的URL进行修改
#后端的 Web 服务器可以通过 X-Forwarded-For获取用户真实IP 
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
#允许客户端请求的最大单文件字节数
client_max_body_size 10m;
#缓冲区代理缓冲用户端请求的最大字节数
client_body_buffer_size 128k;
#nginx 跟后端服务器连接超时时间(代理连接超时) 
proxy_connect_timeout 90;
#连接成功后,后端服务器响应时间(代理接收超时)
  proxy_read_timeout 90;
#设置代理服务器(nginx)保存用户头信息的缓冲区大小 
proxy_buffer_size 4k;
#proxy_buffers 缓冲区,网页平均在 32k 以下的话,这样设置 
proxy_buffers 4 32k;
#高负荷下缓冲大小(proxy_buffers*2) 
proxy_busy_buffers_size 64k;
#设定 proxy 缓存临时文件大小 
proxy_temp_file_write_size 64k;



给读者造成的不便,请大家谅解,在此感谢各位热心网友对本书的纠错,陆续更新中。。。

















本文转自南非蚂蚁51CTO博客,原文链接:http://blog.51cto.com/ixdba/1565257 ,如需转载请自行联系原作者


相关文章
|
8月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
1876 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
5月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1362 5
|
7月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1288 1
|
8月前
|
安全
基于Reactor模式的高性能服务器之Acceptor组件(处理连接)
本节介绍了对底层 Socket 进行封装的设计与实现,通过 `Socket` 类隐藏系统调用细节,提供简洁、安全、可读性强的接口。重点包括 `Socket` 类的核心作用(管理 `sockfd_`)、成员函数的功能(如绑定地址、监听、接受连接等),以及 `Acceptor` 组件的职责:监听连接、接收新客户端连接并分发给上层处理。同时说明了 `Acceptor` 与 `EventLoop` 和 `TcpServer` 的协作关系,并展示了其成员变量和关键函数的工作机制。
187 2
|
JavaScript Linux 网络安全
Termux安卓终端美化与开发实战:从下载到插件优化,小白也能玩转Linux
Termux是一款安卓平台上的开源终端模拟器,支持apt包管理、SSH连接及Python/Node.js/C++开发环境搭建,被誉为“手机上的Linux系统”。其特点包括零ROOT权限、跨平台开发和强大扩展性。本文详细介绍其安装准备、基础与高级环境配置、必备插件推荐、常见问题解决方法以及延伸学习资源,帮助用户充分利用Termux进行开发与学习。适用于Android 7+设备,原创内容转载请注明来源。
3366 77
|
7月前
|
人工智能 JavaScript 前端开发
用 Go 语言轻松构建 MCP 服务器
本文介绍了使用 Go 语言构建 MCP 服务器的完整过程,涵盖创建服务器实例、注册工具、资源和提示词,以及通过 stdio 和 sse 模式启动服务的方法,帮助开发者快速集成 LLM 应用与外部系统。
|
10月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
668 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
8月前
|
JSON 前端开发 Go
Go语言实战:创建一个简单的 HTTP 服务器
本篇是《Go语言101实战》系列之一,讲解如何使用Go构建基础HTTP服务器。涵盖Go语言并发优势、HTTP服务搭建、路由处理、日志记录及测试方法,助你掌握高性能Web服务开发核心技能。