【转】linux下配置,启动多个tomcat

0 评论  

1. 环境:

  • Red Hat Linux 9(本人CentOs5.2,其实想想这个问题跟Linux的版本的关系的可以忽略)
  • Tomcat 5.5.17(Tomcat5.5.27)

2. 需要解决一下几个问题

  • 不同的tomcat启动和关闭监听不同的端口
  • 不同的tomcat的启动文件startup.sh 中要指定各自的CATALINA_HOMECATALINA_BASE这两个环境变量。

3. 解决步骤:

3.1. 修改/etc目录下的profile文件,添加一组java环境变量,和两组CATALINA环境变量;修改后的profile文件示例如下:

JAVA_HOME=/usr/java/jdk

CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JAVA_HOME/bin

export JAVA_HOME CLASSPATH

CATALINA_BASE=/usr/local/tomcat

CATALINA_HOME=/usr/local/tomcat

export CATALINA_BASE CATALINA_HOME

CATALINA_2_BASE=/usr/local/tomcat2/apache-tomcat-5.5.17

CATALINA_2_HOME=/usr/local/tomcat2/apache-tomcat-5.5.17

export CATALINA_2_BASE CATALINA_2_HOME

TOMCAT_HOME=/usr/local/tomcat

export TOMCAT_HOME

TOMCAT_2_HOME=/usr/local/tomcat2/apache-tomcat-5.5.17

export TOMCAT_2_HOME

3.2. 第一个安装在/usr/local/tomcat处的tomcat,保持解压后的原状不用修改。修改第二个安装在/usr/local/tomcat2/apache-tomcat-5.5.17处的tomcat。需要修改两个地方:

3.2.1. 修改server.xml配置和第一个不同的启动、关闭监听端口。修改后示例如下:

  端口:8005->9005

 端口:8080->9080

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" />

端口:8009->9009

enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

3.2.2. 修改bin下的startup.shshutdown.sh。修改后的示例如下:(同样的修改)

export JAVA_HOME=/usr/jdk(如未设置过Java_home)

export PATH=$PATH:$JAVA_HOME/bin(同上)

export CLASSPATH=$JAVA_HOME/lib(同上,这些设置最好放到profile里面去)

export CATALINA_HOME=$CATALINA_2_HOME 利用profile中第二组设置

export CATALINA_BASE=$CATALINA_2_BASE 利用profile中第二组设置

4. 修改完毕后,必须重新启动linux。可能是因为修改了profile文件的缘故?

5. 分别进入两个tomcatbin目录,启动tomcat——./startup.sh

6. 然后访问http://localhost:8080 http://localhost:9080 都可以看到熟悉的tomcat欢迎界面。

7. 如果想启动多个可以依此法类推…… 转自:http://blog.csdn.net/guorui303/archive/2007/02/08/1505442.aspx

【转】Apache + Tomcat*2集群 负载平衡(Linux环境) 一台机器上实测

0 评论  

说明:一台apache主机,两台tomcat主机

(注:做Research,没那么多主机,只有一台,跑了apache进程一个,Tomcat进程两个,这里还涉及到一个问题,在同一个机器上跑两个Tomcat,Windows里面是很简单的,改conf文件夹下面的server.xml里面的端口,不冲突就可以了,Linux里面却没这么简单,参考另一篇转的文章,如何在Linux里面开两个Tomcat,另所有步骤均通过Putty远程连接到Linux环境进行)

步骤如下:

  1. 安装JDK、
  2. 安装Apache、
  3. 安装Tomcat、
  4. 配置Apache代理、
  5. 配置Tomcat集群

一、安装JDK(所有运行Tomcat主机,即web服务器) 1.下载JDK的bin包,如jdk-1_5_0_02-linux-i586.rpm.bin ,给其添加执行权限(注:chmod 777 jdk-1_5_0_02-linux-i586.rpm.bin ),执行#./jdk-1_5_0_02-linux-i586.rpm.bin , 在

当前目录生成rpm安装包,同样给其添加执行权限。 再执行 #rpm -ivh jdk-1_5_0_02-linux-i586.rpm 出现安装协议 按接受即可。 2.设置环境变量 #vi /etc/profile 在其最后加入

JAVA_HOME =/ usr / java / jdk1. 5 .0_02 CLASSPATH = .:$JAVA_HOME / lib:$JAVA_HOME / jre / lib PATH = $PATH:$JAVA_HOME / bin:$JAVA_HOME / jre / bin export JAVA_HOME CLASSPATH PATH

保存退出

(注:如需验证是否设置正确,可以运行 echo $JAVA_HOME的方式来查看环境变量是否正确,不过运行之前需要运行 source /etc/profile更新环境变量) 3.要使JDK在所有的用户中使用,可以这样:vi /etc/profile.d/java.sh在新的java.sh中输入以下内容: #set java environment JAVA_HOME=/usr/java/jdk1.5.0_02 CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin export JAVA_HOME CLASSPATH PATH 保存退出,然后给java.sh分配权限:chmod 755 /etc/profile.d/java.sh

二、安装Apache(访问代理主机) 1.下载apache源代码 wget http://archive.apache.org/dist/httpd/httpd-2.2.2.tar.gz

解压缩 tar fvxz httpd-2.2.2.tar.gz

2.进入解压后的目录。进行配置:

./configure --prefix=/usr/local/apache --enable-module=most --enable-proxy --enable-proxy-ajp --enable-forward --enable-proxy-connect --enable-proxy-http --enable-so --enable-deflate --enable-headers --enable-include (拷贝到该目录下执行即可)

上面的配置,用到了其他一些模块,说不定以后会用到,如支持ssi的include模块。

3.编译(编译如果不成功,确认一下你的linux是否安装有编译所需要的c环境和其他需要的类库) make

4.安装 make install

5.进入/usr/local/apache目录,运行apache ./apachectl -k start

运行apache后,浏览一下是否运行正常。

关闭apache ./apachectl -k stop

6.把apache作为linux的启动就运行服务程序(该步骤未尝试) 执行如下操作:cp /usr/apache/bin/apachectl /etc/rc.d/init.d/httpd 确认linux以前安装的httpd(apache)不需要了,你可覆盖掉以前apache的httpd文件。 chkconfig --add httpd 运行linux的setup,把httpd服务默认设定为自动运行。 到现在,你就可用另一种方式来启动、关闭apache了。如service httpd start

三、安装tomcat(Web服务器) 1.下载jakarta-tomcat-5.5.20.tar.gz tar zxf jakarta-tomcat-5.5.20.tar.gz 解压文件 (如解压到/usr/local/) 2.设置环境变量 #vi /etc/profile 添加 CATALINA_HOME=/usr/local/jakarta-tomcat-5.5.30 export CATALINA_HOME

(注:如只有一台主机,见如何在Linux里面同时开两个Tomcat) 保存退出

3.修改JVM内存:/bin/catalina.sh 文件 在下# ----- Execute The Requested Command ----------------- # Bugzilla 37848: only output this if we have a TTY if [ $have_tty -eq 1 ]; then echo "Using CATALINA_BASE: $CATALINA_BASE" echo "Using CATALINA_HOME: $CATALINA_HOME" echo "Using CATALINA_TMPDIR: $CATALINA_TMPDIR" if [ "$1" = "debug" -o "$1" = "javac" ] ; then echo "Using JAVA_HOME: $JAVA_HOME" else echo "Using JRE_HOME: $JRE_HOME" fi fi 添加以下内容:

CATALINA_OPTS = " $CATALINA_OPTS -Xms256m -Xmx512m -XX:PermSize=32m -XX:MaxPermSize=128m $JPDA_OPTS " JAVA_OPTS = " $JAVA_OPTS -Djava.awt.headless=true " echo " Using CATALINA_OPTS: $CATALINA_OPTS " echo " Using JAVA_OPTS: $JAVA_OPTS "

4.运行/usr/local/jakarta-tomcat-5.5.30/bin/startup.sh 启动tomcat服务器 测试是否正常

四、配置apache代理(适用mod_proxy_ajp.so) 编辑apache配置文件 #vi /usr/apache/conf/httpd.conf 1.配置proxy_ajp #加载解析模块(windows下,或linux采用动态加载模式下需配置。前面我们的linux编译时把下面的模块嵌入到了apache中

,所以不用再加载) LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 2.配置文件添加

ProxyPass / balancer://tomcatcluster/ stickysession=JSESSIONID nofailover=on timeout=5 maxattempts=3 ProxyPassReverse / balancer://tomcatcluster/ BalancerMember ajp://192.168.18.152:8019 smax=2 loadfactor=1 route=tomcat2 BalancerMember ajp://192.168.18.152:8009 smax=2 loadfactor=2 route=tomcat1

以上说明请参见mod_proxy中文手册 http://www.6bee.com/tech/ApacheMenu/mod/mod_proxy.html 3.其他说明

1、apache对tomcat的支持历史:apache第2.1版本后,内置了proxy_ajp,而jk2已经没人开发了,jk则支持到apache的

2.0.58版本。 proxy_ajp配置较简单,但可配置性还不如jk2,主要表现在proxy_ajp目前只支持配置到目录,还不支持对文件名称的pattern模式匹

配(即还不能定义到只对jsp文件起作用)。

2、因为proxy_ajp的配置,还不支持对文件名称的pattern模式匹配,所以你要特别注意: ——尽量把jsp和静态文件和图片路径分不同的目录来管理; ——对于静态文件和图片路径,如/images,你可用“ProxyPass /images !”来禁止ProxyPass,从而来让apache来直接处理图片的请

求。 ——关于apache的ssi(即shtml,include)与tomcat的集成时,shtml文件不能处于ProxyPass的控制下(即不能在ProxyPass目录)

,而shtml调用的jsp须在ProxyPass有效控制下;

五、配置Tomcat负载均衡、集群 1.修改tomcat 的 conf/server.xml 的 去掉注释 jvmRoute是tomcat路由标示,由此区分两台tomcat主机,那么第二台就改为 jvmRoute="tomcat2"> 加上注释 2.修改tomcat 的 conf/server.xml 的 去掉注释

3.修改tomcat 的 conf/server.xml 的

把上面的注释拿掉 就ok 了!

(因为是同一台机器上运行两个,所以另外一个Tomcat除了需要改8080,8005,8009端口之外还需要改这里的集群监听端口4001)

4.在每个webapps应用中,修改web.xml文件 添加元素 最后完工,重启tomcat,apahce测试平衡负载,新建jsp页面 <% Runtime lRuntime = Runtime.getRuntime(); out.println("*** BEGIN MEMORY STATISTICS *** "); out.println("Free Memory: "+lRuntime.freeMemory()/1024/1024+"M "); out.println("Max Memory: "+lRuntime.maxMemory()/1024/1024+"M "); out.println("Total Memory: "+lRuntime.totalMemory()/1024/1024+"M "); out.println("Available Processors : "+lRuntime.availableProcessors()+" "); out.println("*** END MEMORY STATISTICS ***"); %> <%= request.getSession().getId() %> 放入到两台tomcat的ROOT目录中测试 转自:http://envoydada.javaeye.com/blog/95162

【转】jquery对DOM的属性操作

0 评论  

今天学习jQuery 属性和CSS, 学了css后面做示例才看得明白 属性 1.attr(key,value) 为所有匹配的元素设置一个属性值。 相当于给key赋值如 $("img").attr("src","http://www.usle.cn/logo.gif"); 即意为给img元素赋予图片地址。类似这个在上一篇 移除或替换链接指向 中用到了此方法。 2.attr(key,fn) 类似上面,只不过fn当做函数来写,如$("img").attr("title",function(){return this.src});这个函数是将图片的链接赋给图片的title属性中。 3.attr(name) 很容易弄明白,取得第一个匹配元素的属性值,如果元素没有相应属性,则返回undefined 4.attr(properties) 光看这个看不明白,实际上是给匹配的元素批量设置很多属性 。举例$("img").attr({title:"this is title",alt:"this is alt"}); 需要注意的是属性名后面跟“:”冒号,多个属性间用逗号隔开,外围包上大括号“{}”。 5.removeAttr(name) 从每一个匹配的元素中删除一个属性 ,如$("img").removeAttr("src");意为移除图片的链接地址。 1.addClass(class) 为每个匹配的元素添加指定的类名(css样式)。如$("p").addClass("p1"); 2.removeClass(class) 很容易理解,移除css样式 3.toggleClass(class) 如果存在这样css样式就删除一个样式,或者不存在的话就添加一个样式。 $("p").toggleClass("p1");意为为没有类名p1的css样式的p元素添加p1样式,对有p1样式的pf元素,删除它的p1 css样式。 HTML 1.html() 取得第一个匹配元素的html内容,用法如 $("div").html(); 2.html(val) 设置每一个匹配元素的html内容, $("div").html(“hello,world”); 给匹配的div元素设置内容为hello,world 。原有的会被清除。 文本 1.text() 取得所有匹配元素的内容。就好比提取出纯文本一样。用法同上述html。 2.text(val) 类似html(val) ,但将编码 HTML (这句没看明白,反正和html差不多) 1.val() 获得第一个匹配元素的当前值。用法也如 $("input").val(); 2.val(val) 为匹配的元素赋值 check,select,radio等都能使用为之赋值 用法如 $("input").val("hello") ,类似$("input").attr("value","hi"); 3.赋多个值用法如 $("input").val(["check2", "radio1"]); 意为给 check2 radio1 这两项同时赋上值,即同时选择上复选框值为check2的和单选值为radio1的。 转自:http://www.usle.cn/blog/article.asp?id=829

【转】200个JQuery插件

0 评论  

jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javascrīpt框架。其经典的Slogan是“Write Less, Do more”(写更少的代码,做更多的事情)。jQuery是轻量级的js库(压缩后只有21k) ,这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。

jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种 应用也说得很详细,同时还有许多成熟的插件可供选择。jQuery能够使用户的html页保持代码和html内容分离,也就是说,不用再在html里面插 入一堆js来调用命令了,只需定义id即可。

全世界的JS高手都在为jQuery开发着各种jQuery插件, 在帕兰映像之前的文章里面, 也介绍过很多关于JQeury插件的文章:

另位在本站有关设计开发的几篇热门搜索文章里面, 也总能看到jQuery的踪影.

这两天又看到一篇收集jQuery插件的文章, 出自kollermedia, 收集了200多个jQuery插件. 虽然是比较早期的文章, 但对设计开发人员来说还是非常有用的.

文件上传类jQuery插件

Ajax File Upload. jQUploader. Multiple File Upload plugin. jQuery File Style. Styling an input type file. Progress Bar Plugin.

表单验证类jQuery插件

jQuery Validation. Auto Help. Simple jQuery form validation. jQuery XAV - form validations. jQuery AlphaNumeric. Masked Input. TypeWatch Plugin. Text limiter for form fields. Ajax Username Check with jQuery.

表单选择框类jQuery插件

jQuery Combobox. jQuery controlled dependent (or Cascadign) Select List. Multiple Selects. Select box manipulation. Select Combo Plugin. jQuery - LinkedSelect Auto-populate multiple select boxes. Choose Plugin (Select Replacement).

表单基本、输入框、选择框等jQuery插件

jQuery Form Plugin. jQuery-Form. jLook Nice Forms. jNice. Ping Plugin. Toggle Form Text. ToggleVal. jQuery Field Plugin. jQuery Form’n Field plugin. jQuery Checkbox manipulation. jTagging. jQuery labelcheck. Overlabel. 3 state radio buttons. ShiftCheckbox jQuery Plugin. Watermark Input. jQuery Checkbox (checkboxes with imags). jQuery SpinButton Control. jQuery Ajax Form Builder. jQuery Focus Fields. jQuery Time Entry.

时间、日期和颜色选取类jQuery插件

jQuery UI Datepicker. jQuery date picker plugin. jQuery Time Picker. Time Picker. ClickPick. TimePicker. Farbtastic jQuery Color Picker Plugin. Color Picker by intelliance.fr.

投票类jQuery插件

jQuery Star Rating Plugin. jQuery Star Rater. Content rater with asp.net, ajax and jQuery. Half-Star Rating Plugin.

搜索类jQuery插件

jQuery Suggest. jQuery Autocomplete. jQuery Autocomplete Mod. jQuery Autocomplete by AjaxDaddy. jQuery Autocomplete Plugin with HTML formatting. jQuery Autocompleter. AutoCompleter (Tutorial with PHP&MySQL). quick Search jQuery Plugin.

jQuery编辑器插件

jTagEditor. WYMeditor. jQuery jFrame. Jeditable - edit in place plugin for jQuery. jQuery editable. jQuery Disable Text Select Plugin. Edit in Place with Ajax using jQuery. jQuery Plugin - Another In-Place Editor. TableEditor. tEditable - in place table editing for jQuery.

多媒体、视频、Flash等类jQuery插件

jMedia - accessible multi-media embedding. JBEdit - Ajax online Video Editor. jQuery MP3 Plugin. jQuery Media Plugin. jQuery Flash Plugin. Embed QuickTime. SVG Integration.

图片类jQuery插件

ThickBox. jQuery lightBox plugin. jQuery Image Strip. jQuery slideViewer. jQuery jqGalScroll 2.0. jQuery - jqGalViewII. jQuery - jqGalViewIII. jQuery Photo Slider. jQuery Thumbs - easily create thumbnails. jQuery jQIR Image Replacement. jCarousel Lite. jQPanView. jCarousel. Interface Imagebox. Image Gallery using jQuery, Interface & Reflactions. simple jQuery Gallery. jQuery Gallery Module. EO Gallery. jQuery ScrollShow. jQuery Cycle Plugin. jQuery Flickr. jQuery Lazy Load Images Plugin. Zoomi - Zoomable Thumbnails. jQuery Crop - crop any image on the fly. Image Reflection.

Google地图类jQuery插件应用

jQuery Plugin googlemaps. jMaps jQuery Maps Framework. jQmaps. jQuery & Google Maps. jQuery Maps Interface forr Google and Yahoo maps. jQuery J Maps - by Tane Piper.

游戏类jQuery插件

Tetris with jQuery. jQuery Chess. Mad Libs Word Game. jQuery Puzzle. jQuery Solar System (not a game but awesome jQuery Stuff).

表格,网格类jQuery插件

UI/Tablesorter. jQuery ingrid. jQuery Grid Plugin. Table Filter - awesome!. TableEditor. jQuery Tree Tables. Expandable “Detail” Table Rows. Sortable Table ColdFusion Costum Tag with jQuery UI. jQuery Bubble. TableSorter. Scrollable HTML Table. jQuery column Manager Plugin. jQuery tableHover Plugin. jQuery columnHover Plugin. jQuery Grid. TableSorter plugin for jQuery. tEditable - in place table editing for jQuery. jQuery charToTable Plugin. jQuery Grid Column Sizing. jQuery Grid Row Sizing.

统计类jQuery插件

jQuery Wizard Plugin . jQuery Chart Plugin. Bar Chart.

边框、圆角、背景类jQuery插件

jQuery Corner. jQuery Curvy Corner. Nifty jQuery Corner. Transparent Corners. jQuery Corner Gallery. Gradient Plugin.

文字和超链接类jQuery插件

jQuery Spoiler plugin. Text Highlighting. Disable Text Select Plugin. jQuery Newsticker. Auto line-height Plugin. Textgrad - a text gradient plugin. LinkLook - a link thumbnail preview. pager jQuery Plugin. shortKeys jQuery Plugin. jQuery Biggerlink. jQuery Ajax Link Checker.

文本提示类jQuery插件

jQuery Plugin - Tooltip. jTip - The jQuery Tool Tip. clueTip. BetterTip. Flash Tooltips using jQuery. ToolTip.

菜单和导航类jQuery插件

jQuery Tabs Plugin - awesome! . [demo nested tabs.] another jQuery nested Tab Set example (based on jQuery Tabs Plugin). jQuery idTabs. jdMenu - Hierarchical Menu Plugin for jQuery. jQuery SuckerFish Style. jQuery Plugin Treeview. treeView Basic. FastFind Menu. Sliding Menu. Lava Lamp jQuery Menu. jQuery iconDock. jVariations Control Panel. ContextMenu plugin. clickMenu. CSS Dock Menu. jQuery Pop-up Menu Tutorial. Sliding Menu.

http://stilbuero.de/jquery/tabs_3/

幻灯片、手风琴特效类jQuery插件

jQuery Plugin Accordion. jQuery Accordion Plugin Horizontal Way. haccordion - a simple horizontal accordion plugin for jQuery. Horizontal Accordion by portalzine.de. HoverAccordion. Accordion Example from fmarcia.info. jQuery Accordion Example. jQuery Demo - Expandable Sidebar Menu. Sliding Panels for jQuery. jQuery ToggleElements. Coda Slider. jCarousel. Accesible News Slider Plugin. Showing and Hiding code Examples. jQuery Easing Plugin. jQuery Portlets. AutoScroll. Innerfade.

拖放类jQuery插件

UI/Draggables. EasyDrag jQuery Plugin. jQuery Portlets. jqDnR - drag, drop resize. Drag Demos.

XML XSL JSON Feeds相关jQuery插件

XSLT Plugin. jQuery Ajax call and result XML parsing. xmlObjectifier - Converts XML DOM to JSON. jQuery XSL Transform. jQuery Taconite - multiple Dom updates. RSS/ATOM Feed Parser Plugin. jQuery Google Feed Plugin.

浏览器

Wresize - IE Resize event Fix Plugin. jQuery ifixpng. jQuery pngFix. Link Scrubber - removes the dotted line onfocus from links. jQuery Perciformes - the entire suckerfish familly under one roof. Background Iframe. QinIE - for proper display of Q tags in IE. jQuery Accessibility Plugin. jQuery MouseWheel Plugin.

警告, 提示, 确认等对话框

jQuery Impromptu. jQuery Confirm Plugin. jqModal. SimpleModal.

CSS

jQuery Style Switcher. JSS - Javascript StyleSheets. jQuery Rule - creation/manipulation of CSS Rules. jPrintArea.

DOM、AJAX和其它JQuery插件

FlyDOM. jQuery Dimenion Plugin. jQuery Loggin. Metadata - extract metadata from classes, attributes, elements. Super-tiny Client-Side Include Javascript jQuery Plugin. Undo Made Easy with Ajax. JHeartbeat - periodically poll the server. Lazy Load Plugin. Live Query. jQuery Timers. jQuery Share it - display social bookmarking icons. jQuery serverCookieJar. jQuery autoSave. jQuery Puffer. jQuery iFrame Plugin. Cookie Plugin for jQuery. jQuery Spy - awesome plugin. Effect Delay Trick. jQuick - a quick tag creator for jQuery. Metaobjects. elementReady.

转自:http://cn.73it.cn/?p=22

Linux学习杂记一

0 评论  

最近在写Python脚本,Windows下面开发,要放到Linux下面去运行。从上周三开始写,基本的功能都已经有了,就等需求完善了就可以实际的去运行了,然后今天配了台服务器专门运行Linux供测试用,服务器只有主机,所以的操作都通过Putty远程连接,在终端执行命令。首先是配运行的环境,服务器上装的是Fedora 7 Live CD,装好以后就有Python2.5了,但是因为写程序的时候用到了第三方的Lxml,所以在Fedora里面也要把这个装好。 一开始以为装一下lxml很简单的,跟Window里面一样解压好压缩包,运行 python setup.py install就好了,结果呢,出了很多问题,先提示说 GCC没有,装上GCC,又提示一个config目录找不到,Google一下,安装了一个Python-devel,又提示编译出错,火了,换了个RPM的安装包,直接安装,倒是很顺,可惜运行的时候报错,网上也对应Fedora7的找不到最新版的Lxml RPM安装包,只好回到前面再装,继续Google,看见有人说要先装Libxml-devel跟libxslt-devel.抱着死马当活马医的态度,装了,居然就可以了,呵呵。 想想Linux下面跟Windows还是很不一样的,Linux下面很多东西的安装都需要gcc编译,所以要用到GCC,然后Linux下面很多软件又专门分了一个devel,很多时候又要注意这个Devel。 具体错误就不贴了,做的时候比较忙,做完了又不能重现了。