apache-tomcat配置指南_第1页
apache-tomcat配置指南_第2页
apache-tomcat配置指南_第3页
apache-tomcat配置指南_第4页
apache-tomcat配置指南_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录目录 文档目的 1 软件工具介绍 1 为什么要配置 tomcat 负载平衡和集群 1 简单原理介绍 2 Windows 下的具体配置 3 Linux 下的具体配置 8 结论 11 配置问题与解答 11 详细配置附录 11 1 不同类型的 workers 12 2 workers properties 列出一个 workers 的详细配置 13 3 列举不同类型 worker 的配置实例 14 4 tomcat 的 server Xml 中的各个节点 15 5 cluster 中的各个属性节点 16 Tomcat 负载平衡和集群负载平衡和集群 文档目的文档目的 1 用 apache jk tomcat 实现 windows xp 和 linux 下的 web server 负载平衡和集群 2 介绍更多关于 apache jk tomcat 的详细配置 软件工具介绍软件工具介绍 Apache 是前端 web 服务器 用来接收客户端的请求 Jk 是 tomcat Connector 用于把 apache 接收到的请求分发给 tomcat 来处理 Tomcat 也是 web 服务器 但在这里主要充当 servlet 容器 用来处理 jk 转发过来的 请求 为什么要配置为什么要配置 Tomcat 负载平衡和集群负载平衡和集群 负载平衡 负载平衡能处理高并发量的请求 Tomcat 集群 Tomcat 集群配合负载平衡可以是系统达到高可用性 即任何一台服务 器不可用 自动重新连接后 能保持 session 数据一致 不需要重新输入密码 简单原理介绍简单原理介绍 1 apatche 与 tomcat 的之间的联系由 jk 完成 用的是 ajp 协议 每个 tomcat 都在监听 ajp 端口 默认的 AJP Connector 的端口是 8009 2 配置了集群的 tomcat 之间通过 tcp 协议通信复制 session 当然要在 tomcat 应用中的 web xml 文件中加入或 标志着要复制 session 复制 session 是为了在某个服务器正在被请求时宕机 请求由 apache 通过 jk 转发 到其他 tomcat 服务器时 session 中的信息丢失采取的一中保持 session 的方式 还有其他 的解决方案 如把 session 存到数据库中 3 jk 把请求分配给某个 tomcat 服务器遵循着不同的原则 这里我们使用的是负载平衡 在 workers properties 中定义了很多 worker 如果 worker 的 type 把定义成 lb 就表示这个 worker 是负载平衡 worker 他知道怎样提供轮询来分配 request 而负载平衡也分很多平衡 的方式 采用哪种方式决定于属性 worker balancer method 下面具体描述不同的负载平衡 方式 默认的是 R 方式 worker balancer method Request 简写 R 负载平衡 worker 将根据每个 tomcat 服务 器上处理的 request 数来寻找最佳的 tomcat 服务器 这种方式适合绝大数 application worker balancer method Session 简写 S 负载平衡 worker 根据各个 tomcat 上 session 的数量来寻找最佳 tomcat 但是负载平衡 worker 并没有状态 所以不知道 session 个数 所以把没有 session cookie 的请求或 url 中没有 encode sessionid 的请求当 作 new session worker balancer method Traffic 简写 T 负载平衡 worker 根据 jk 和 tomcat 直接的 网络状况来找最佳的 tomcat 服务器 worker balancer method Busyness 简写 B 负载平衡 worker 根据 tomcat 的流量选 择流量最少的 tomcat windows 下的具体配置下的具体配置 软件系统环境 软件系统环境 操作系统 windows xp 前端服务器 apache 2 1 0 55 win32 x86 no ssl zip 负载平衡器 mod jk 1 2 27 httpd 2 0 63 so 集群节点 apache tomcat 5 5 27 zip 配置步骤配置步骤 1 下载以上软件 2 安装 apache 并把 mod jk 2 0 55 解压后拷贝到 apache 安装目录 这里为 E ide apache Apache2 modules 下面 其实 modules 下面是 apache 的各个功能 模块 可插拔 3 安装各个 tomcat 到不同的主机上 4 在 apache 安装目录下 conf 目录中找到 httpd conf 文件 并在末尾添加 include E ide apache Apache2 conf mod jk conf 5 在 httpd conf 同目录下新建同目录下新建 mod jk conf 文件 内容如下 文件 内容如下 加载 mod jk Module LoadModule jk module modules mod jk apache 2 0 55 so 指定 workers properties 文件路径 JkWorkersFile conf workers properties 指定那些请求交给 tomcat 处理 controller 为在 workers propertise 里指 定的负载分配控制器 在这里可以分配更多的 request 给 controller 如果要在 运行时管理负载平衡中的各个 worker 则应该配置 status 类型的 sworker 并 把 jkmanager 类型的请求分配给 sworker 访问 jkmanager 即可访问 配置方法见详细配置附录 JkMount jsp controller 6 在在 httpd conf 同目录下新建同目录下新建 workers properties 文件 内容如下文件 内容如下 worker list controller tomcat1 tomcat2 server 列表 tomcat1 worker tomcat1 port 8009 ajp13 端口号 在 tomcat 下 server xml 配置 默认 8009 worker tomcat1 host localhost tomcat 的主机地址 如不为本机 请填写 ip 地址 worker tomcat1 type ajp13 worker tomcat1 lbfactor 1 server 的加权比重 值越高 分得的请求 越多 tomcat2 worker tomcat2 port 9009 ajp13 端口号 在 tomcat 下 server xml 配置 默认 8009 worker tomcat2 host localhost tomcat 的主机地址 如不为本机 请填写 ip 地址 worker tomcat2 type ajp13 worker tomcat2 lbfactor 1 server 的加权比重 值越高 分得的请求 越多 controller 负载均衡控制器 worker controller type lb worker controller balanced workers tomcat1 tomcat2 指定分担请求的 tomcat worker controller sticky session 1 4 4 修改修改 tomcattomcat 配置文件配置文件 server xmlserver xml 打开 tomcat2 conf server xml 文件 ajp1 3 是用于 jk 与 tomcat 之间的通信 Connector 的 port 一定要和 workers properties 文件中的一致文件中的一致 http 1 1 Connector 用于浏览器与 tomcat 之间的通信 的 port 指定单个访问此 tomcat 是用的端口号 如果 tomcat 在不同的主机上可以不修改这个端口号 Server port 也一样 5 5 配置集群配置集群 只配置负载均衡还不行 还要 session 复制 也就是说其中任何一个 tomcat 的添加的 session 是要同步复制到其它 tomcat 集群内的 tomcat 都 有相同的 session 修改修改 tomcat1 tomcat2 的的 server xml 将集群部分配置的在注释符删掉 并将 tomcat2 的 4001 端口改为 4002 以避免与 tomcat 冲突 当然 如果是 tomcat 安装在不同的主机上 是不用改端口的 去掉注释符即可 在每个在每个 tomcat 节点上的应用 节点上的应用 test 中的 中的 web Xml 中加入中加入 表明要复制表明要复制 session 6 运行每个运行每个 tomcat 节点节点 7 运行运行 apache 服务器服务器 9 测试 测试 成功的例子 在不同的客户端发起请求 请求会被平均分配给 tomcat 关闭其中一个 tomcat1 tomcat1 原来处理的请求会被其他 tomcat2 接收 如果此前被关闭的 tomca1t 的 session 中存在信息 tomcat2 中 tomcat1 的 session 信息依然 存在 表现为登录 tomcat 宕机 请求被转到另外一个 tomcat 并仍然处于登录状态 Linux 下的具体配置下的具体配置 软件系统环境 软件系统环境 操作系统 redhat 4 i386 前端服务器 httpd 2 0 63 tar gz 安装在 linux 下 负载平衡器 mod jk 1 2 27 httpd 2 0 61 so 二进制版本 集群节点 apache tomcat 5 5 27 zip 安装在 windows 下 配置步骤配置步骤 一 下载以上软件 二 安装 apache 下面详细讲解 apache 的安装步骤 注意 凡是标记为紫色的 皆为在终端中应该执 行的命令 黄色字体为执行结果说明 以下是在 linux4 下用 root 用户登陆的状态下测试通过 的 A 打开终端 执行以下命令确认编译环境 system config packages rpm q gcc 执行结果显示 gcc 3 4 3 9 EL4 说明 gcc 已经安装 B 进行 apache 服务器编译安装 1 释放源码包文件 将你已经下载的 httpd 2 0 63 tar gz 复制到目录 usr local src 2 进入此目录对 httpd 2 0 63 tar gz 进行解压 执行以下命令 cd usr local src tar zxvf httpd 2 0 63 tar gz Tar 命令执行成功后会在当前目录下出现名为 httpd 2 0 63 的目录 执行 ls 显示结果 httpd 2 0 63 tar gz httpd 2 0 63 说明解压成功 进入 httpd 2 0 63 目录 cd httpd 2 0 63 3 编译前配置 执行以下命令 configure prefix usr local apache2 enable so enable rewrite 说明 prefix 指定要安装到的系统目录 enable so 设置 apache 服务器可以使用动态加载模块功能 enable rewrite 设置 apache 服务器具有 rewrite 功能 此命令执行过程需要比较长的时间 屏幕上将显示配置的过程信息 4 编译服务器程序 执行命令 make 此命令执行过程需要比较长的时间 屏幕上将显示编译的过程信息 5 安装已经编译完成的程序 make install 此命令执行过程需要比较长的时间 屏幕上将显示安装的过程信息 ls usr local 此时 将会显示出 apache2 目录 恭喜你 安装成功了 6 如何启动 apache 进入你安装好的 apache2 的 bin 目录 cd usr local apache2 bin apachectl start 7 如何关闭 apache 进入你安装好的 apache2 的 bin 目录 cd usr local apache2 bin apachectl stop 三 安装各个 tomcat 到不同的主机上 四 其他配置同 windows 五 运行每个 tomcat 节点 六 运行 apache 运行时如报错 不能 load mod jk mod jk 在 目录不存在 很有可能 是 mod jk 版本错误 检查官方网上的版本声明信息 附 如果集群节点在 linux 下 还应该安装 jdk tomcat mysql 执行以 下步骤 一 下载以下软件 并将其放置于 usr local src 目录下 Jdk jdk 1 5 0 linux i586 rpm bin Tomcat apache tomcat 6 0 18 tar gz Mysql mysql 5 0 67 linux i686 tar gz 二 安装配置 JDK chmod u x jdk 1 5 0 linux i586 rpm bin 设置包可执行的属性 jdk 1 5 0 linux i586 rpm bin 自动安装 中间需要确定安装 协议只需输入 yes cd usr 进入安装好的目录 ln s usr java jdk1 5 0 jdk1 5 0 创建 jdk1 5 0 目录连接到 usr jdk1 5 0 三 设置环境变量 写到 etc profile 中 那样系统启动时就会自动加载 jdk 打开文件 etc profile 并将以下语句写入 export JAVA HOME usr jdk1 5 0 export PATH PATH JAVA HOME bin export CLASSPATH JAVA HOME lib export CATALINA HOME root tomcat6 0 四 安装配置 tomcat cd usr local src 进入你放置 tomcat 的文件夹 tar zxvf apache tomcat 6 0 18 tar gz C usr local 解包至 usr local 文件夹 ln s usr local apache tomcat 6 0 18 root tomcat6 0 做个 tomcat6 0 目录连 接至 tomcat 五 启动 tomcat cd root tomcat6 0 bin startup sh 如果显示以下内容 恭喜你 配置 OK 了 六 关闭 tomcat cd root tomcat6 0 bin shutdown sh 七 安装配置 mysql 1 建立 mysql 的用户和组 指定 mysql 的用户和组宿主目是 usr local mysql data groupadd g 200 mysql useradd u 200 g mysql d usr local mysql data M mysql 执行结果如下 2 解压安装包到指定目录并建立连接文件 tar zxvf mysql 5 0 67 linux i686 tar gz C usr local cd usr local ln s mysql 5 0 67 linux i686 mysql 3 在 var lib 目录下建立 mysql 的子目录 并设置属主和属组 mkdir var lib mysql chown R mysql mysql var lib mysql chown R root mysql usr local mysql 5 0 67 linux i686 chown R mysql mysql usr local mysql data 执行结果如下图所示 4 进入 MYSQL 服务器程序目录 复制 mysql 的配置文件到 f 到 f 到 etc 目录中 并执行 mysql install db 命令初始化 MYSQL 服务器中的数据 cd usr local mysql cp support files my f etc f 会提示是否 overwrite 只需 y 然后回车 scripts mysql install db 执行中 5 设置 MYSQL 系统用户对行建立的数据库文件有足够的访问权限 chown R mysql mysql var lib mysql chown R mysql mysql usr local mysql data 执行过程如下 6 启动服务 并指定系统用户 mysql 运行 usr local mysql bin safe mysqld user mysql GRANT ALL PRIVILEGES ON TO root IDENTIFIED BY root WITH GRANT OPTION 11 防止 mysql 数据不能正常导入的配置修改 在 etc my conf 文件的 mysqld 段中加入以下语句 log bin trust function creators 1 lower case table names 1 结论结论 Tomcat 负载平衡是为拥有高并发量的网站准备的 Tomcat 集群对于硬件性能高 尤其是内存要大 且对用户高可用性需求苛刻 不需重复保 存会话中的数据 例如用户连接任何一台节点服务器不需要重新输入密码 的站点 选择集 群方式可以满足需求 配置问题收集与解答 配置问题收集与解答 1 apatch 能否根据客户端 IP 来分发请求 Apache 无此功能不过 tomcat 有个 BalanceFilter 可以根据不同的规则进行负载平衡 2 jk mount 能不能指定某个 tomcat 专门处理图片 可以 jk Mount jpg worker1 worker1 指向处理图片的 tomcat 3 tomcat 目录中的图片增加时 如上传图片会导致各个 tomcat 节点不一致 怎么办 没有解决 详细配置附录详细配置附录 1 不同类型的 不同类型的 workers TypeTypeDescriptionDescription ajp12 这种类型的 worker 知道使用 ajp12 协议把请求转向 tomcat 最终它将 被 jk 使用 用来与 tomcat 服务器交互 ajp13 这种类型的 worker 知道使用 ajp13 协议把请求转向 tomcat 最终它将 被 jk 使用 用来与 tomcat 服务器交互 jni DEPRECATED This worker knows how to forward requests to in process Tomcat workers using JNI lb 这种类型的 worker 是负载平衡 worker 他知道怎样提供轮询来分配请 求 status这种类型的 worker 负责管理负载平衡 2 workers properties 列出一个列出一个 workers 的详细配置 的详细配置 Mandatory Directives DirectiveDirectiveDefaultDefaultDescriptionDescription typetypeajp13 Connection Directives DirectiveDirectiveDefaultDefaultDescriptionDescription hostlocalhost Tomcat 实例所在的主机 的 IP 地址 port 取决于协议 ajp13 为 8009 ajp14 为 8011 端口号 注 此处是 Tomcat 监听 defined protocol requests 的端 口号 在我们的配置中 负责与 tomcat 交互的 worker 的 type 为 ajp 那么就是 ajp 通信的端 口号 而不是 http 端口 号 socket timeout0 Jk 等待被 request 的 tomcat 的响应的时间 单位秒 socket connect timeoutsocket timeout 1000 Jk 等待被 connect 的 tomcat 的响应的时间 单位毫秒 socket keepaliveFalse 在 apache 服务器与 tomcat 引擎交互时遇到 防火强的 cut 时 socket 连接是否保持的 标志 如果设置成 true 将要等待 os 设置 的等待时间 默认 120 分钟 设置成 true 后 会有一个坏处 apache 和 tomcat 都要不会抛出 任何错误来反应防火墙 的 cut 导致couldn t handle it ping mode Ping 的 4 种模式 C C P P I I A A ping timeout10000 等待 ping 的响应 Cpong 的时间 connection ping interva l 0 ping timeout 1000 10 根据 connection ping inter val 后 Ping 的响应状态 来确定是否处于工作状 态 connection ping inter val is 10 times ping timeout connection pool sizesee text 限制每个节点的 Connection 数 Do not use connection pool size with values higher then 1 on ApacheApache 2 x2 x preforkprefork or ApacheApache 1 3 x1 3 x connection pool timeout0 JK 保持 an inactive socket in cache before closing it 的时 间 This property should be used to reduce the number of threads on the Tomcat web server The default value zero disables the closing infinite timeout connection acquire time out retries retry inter val worker 等待获得 socket 连接的时间 等待的时 间超过之后 将放弃连 接请求 Its default value is retriesretries retry intervalretry interval lbfactor1 决定了此 worker 将接受 的 requests 的权重 数 值越大请求被分配给它 的个数越多 此属性只 作用于负载平衡 worker 的balanced workers 属性定 义的成员 Load Balancing Directives DirectiveDirectiveDefaultDefaultDescriptionDescription balance workersbalance workers 被负载平衡 work 管理的 worker 列表 These workers should notnot appear in the worker list property sticky sessionTrue 当有可以持久化多个 tomcat 实例的 session manager 机制时可以设置为 false 否则设置成 true 在 requests 中包括了 SESSION ID 这样才能复制 session methodRequest R S T B lockOptimistic O ptimistic O ptimistic balancer will not use shared memory lock to find the best worker P essimistic P essimistic balancer will use shared memory lock The balancer will work more accurately in case of Pessimistic locking but can slow down the average response time retries2 Load balance worker 找不到任何 member worker 而重新尝试的次数 尝 试时间间隔为 retry interval Status Worker Directives DirectiveDirectiveDefaultDefaultDescriptionDescription css Specifies the url for cascading stylesheet to use read onlyFalse 如果为 true 就意味着不能做任何改 变运行时状态的操作如管理负载平 衡时停止某个 worker user 定义了可以访问 status worker 的 user 列表 不在列表中的 user 没有 权限 默认任何 user 都有权限 user case insensiti ve False 匹配 user 是否匹配大小写 good a o a n a b a r 状态为 good 的 worker 列表 For every load balancer worker the status worker shows a summary of the state of its members There are three such states good bad and degraded bads e 状态为 bad 的 worker 列表 prefixworker status worker 为 properties output mime prop 添加的前缀 nsjk 定制 status worker 输出的 XML 的 命名空间 If set to no namespace will be used xmlns 定制 status worker 输出的 XML 的 xmlnsDefault value is set to xmlns jk http tomcat apache org doctype 定制 status worker 输出的 XML 的 类型 This value will be inserted to the output xml after the xml header Advanced Worker Directives DirectiveDirective WorkerWorker TypeType DefaultDefaultDescriptionDescription connect timeoutAJP SUB0 连接时间限制 如果 到时间还未收到 pong 表明失败 prepost timeoutAJP SUB0 在 request 前先发送 一个 ping 此属性就 是发送 ping 后得到 pong 的时间限制 超 过此时间则认为失败 retriesAJP SUB2 重新 request 的次数 2 表明 error 后重新 请求 1 次 retry intervalAJP SUB100 Worker 在重新尝试 request 前的 停止时间 即两次重新请 求的间隔 recovery optionsAJP SUB0 1 Tomcat 接收到 request 后失败时不 恢复 2 Tomcat 接收到 request 并 setheader 到客户端失败时不恢 复 4 tomcat response 失败时关闭 connection 8 只恢复 HEAD method requests 16 只恢复 GET method requests fail on statusAJP SUB0 标志 worker 失败的属 性 如果此 worker 是 lb 的成员 当它返 会的状态与此属性匹 配则会被设置为 error 如 404 max packet sizeAJP SUB8192 AJP 数据包的 size Bytes mountAJP LB 定义 worker 可以处理 的 uri 列表 max reply timeoutsLB0 当设置了这个属性就 会让 worker 此时间内没有响应就 设置为 error recover timeLB60 Worker 恢复工作的时 间 在 worke 出错达到 recover time 后 load balancer 才会再度分 requests 给此 Worker error escalation timeLB recover time 2 在 worker 发生错误后 把 worker 状态改为 error state 的时间间隔 activationSUBActive Worker 的活动状态 可被 status worker 在运行时改为 stop disable session cookieLBJSESSIONID 在 cookie 中能唯一标 识 session 的路由标 识符 存到 cookie 中 的字符 之后 session pathLB jsessionid 在 cookie 中能唯一标 识 session 的路由标 识符 存到 session path 中的字 符 之后 Deprecated Worker Directives 不推荐的属性 在过去的版本中的指令 Directives DirectiveDirectiveSuccessorSuccessorDefaultDefaultDescriptionDescription cachesizeconnection pool size see text 用于在多线程服务 器 Apache 2 中 limit 每个 tomcat 上面的 connection AJP cache timeoutconnection pool timeout0Cache timeout property 定义了 一个 open socket 在 cache 中处于 open 状态的时间 用来减少线程的数 量 on the Tomcat web server recycle timeoutconnection pool timeout0 表示阻断 inactivity 的 ajp13 conection 的时间间隔 用来 保证 too old threads living on Tomcat side 缺点 但是下次用 到时又要重新 open conection balanced workersbalance workers 被用来负载平衡 worker 管理的 worker 列表 disabledactivationFalse 如果设置为 TrueTrue or 1 1 worker 变为 不可用 在运行期 间可以被 status worker 前面介绍 了此 worker 用来 管理负载平衡 在 管理页面可以设置 某个 worker 为 disabled 改变 stoppedactivationFalse 当设置为 TrueTrue or 1 1 时 worker member of lb 被停止 在复制 session 时 才起作用 在运行 期间可以被 status worker 前面介绍 了此 worker 用来 管理负载平衡 在 管理页面可以设置 某个 worker 为 stop 改变 jvm route 3 列举不同类型列举不同类型 worker 的配置实例 的配置实例 Status Worker properties The status worker does not communicate with Tomcat Instead it is responsible for the load balancer management Add the status worker to the worker list worker list jkstatus Define a jkstatus worker using status worker jkstatus type status Next thing is to mount the requests to the jkstatus worker For Apache web servers use the Add the jkstatus mount point JkMount jkmanager jkstatus To obtain a higher level of security use the Enable the JK manager access from localhost only JkMount jkstatus Order deny allow Deny from all Allow from 127 0 0 1 4 tomcat 的的 server Xml 中的各个节点中的各个节点 Server节点 节点 Server 代表整个 Catalina servlet 容器 在 server xml 配置文件中必须是顶层元素且唯一 给它配置的属 性代表整个容器的属性 Service 节点节点 service 由连接器 connector 和共享的处理引擎 Engine Connector 节点节点 Connector 分为 http connector 和ajp3 connector http connector用 Http 1 1 协议 Connector 接侦 听来自客户端浏览器的 http 请求 此时 tomcat 作为独立的 web 服务器 ajp3 connector 用 ajp3 协议 侦 听来自其它 Web 服务器的请求 此时 tomcat 只作为 servlet 容器 Engine 节点节点 处理引擎 Engine 代表一个 Service 所属的请求处理机 它接受所有连接器传递过来的客户端请求 将处 理结果返回给连接器 由连接器将最终响应返回给客户端 Engine 必须配置在 Service 组件下 处理引擎 下可以配置多个虚拟主机 Virtual Host 每个虚拟主机都有一个域名 当处理引擎获得一个请求时 它把该请求匹配到某个虚拟主机上 把请求交给该虚拟主机来处理 处理引擎有一个默认虚拟主机 当请 求无法匹配到任何一个虚拟主机上时 交给默认虚拟主机来处理 Host 节点节点 代表一个虚拟主机 每个虚拟主机和某个网络域名 Domain Name 相匹配 每个虚拟主机下都可以部 署 deploy 一个或者多个 Web 应用程序 Web Application 每个 Web 应用程序对应于一个 Context 有一个 Context path 当虚拟主机获得一个请求时 将把该请求匹配到某个 Context 上 然后把该请求 交给该 Context 来处理 匹配的方法是 最长匹配 一个 path 的 Context 将成为该虚拟主机的默认 Context 所有无法和其它 Context 的路径名匹配的请求都将最终和该默认 Context 匹配 在许多情况下 系统管理员希望将多个网络域名绑定到同一个虚拟主机 这就需要使用 主机别名 技术 来实现 Context节点节点 一个 Context 对应于一个 Web 应用程序 一个 Web 应用程序由一个或者多个 Servlet 组成 Context 在 创建的时候将根据配置文件 CATALINA HOME conf web xml 和 WebApp Web IN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论