tinguo002

           

          tomcat7整合APR(win7和linux環境下)

          錯誤提示:
          The APR based Apache Tomcat Native library which allows optimal performanc e in production environments was not found on the java.library.path: D:\Java\jdk 1.5.0_07\bin

          詳細參考出處:http://blog.csdn.net/zh592677127/article/details/8603490


          tomcat7如果沒配置APR,啟動時會報這樣的錯誤日志:
          信息: The APR based Apache Tomcat Native library which allows optimal performanc e in production environments was not found on the java.library.path: D:\Java\jdk 1.5.0_07\bin,提示沒找到APR的配置
          先解釋一下APR,APR: Apache Portable Runtime,可看作是Apache輕便運行時,在http://tomcat.apache.org/tomcat-6.0-doc/apr.html 對APR進行了詳細介紹,說白了作用就是如何在 Tomcat中使用JNI的方式來讀取文件以及進行網絡傳輸。這個東西可以大大提升Tomcat對靜態文件的處理性能,同時如果你使用了HTTPS方式傳輸的話,也可以提升SSL的處理性能。可以不使用Apache也能提高對靜態文件的處理能力。
            Tomcat可以使用APR來提供超強的可伸縮性和性能,更好地集成本地服務器技術.
            APR(Apache Portable Runtime)是一個高可移植庫,它是Apache HTTP Server 2.x的核心。APR有很多用途,包括訪問高級IO功能(例如sendfile,epoll和OpenSSL),OS級別功能(隨機數生成,系統狀態等等),本地進程管理(共享內存,NT管道和UNIX sockets)。這些功能可以使Tomcat作為一個通常的前臺WEB服務器,能更好地和其它本地web技術集成,總體上讓Java更有效率作為一個高性能web服務器平臺而不是簡單作為后臺容器。
            在產品環境中,特別是直接使用Tomcat做WEB服務器的時候,應該使用Tomcat Native來提高其性能。
            要測APR給tomcat帶來的好處最好的方法是在慢速網絡上(模擬 Internet),將Tomcat線程數開到300以上的水平,然后模擬一大堆并發請求。如果不配APR,基本上300個線程狠快就會用滿,以后的請求就只好等待。但是配上APR之后,并發的線程數量明顯下降,從原來的300可能會馬上下降到只有幾十,新的請求會毫無阻塞的進來。在局域網環境測,就算是 400個并發,也是一瞬間就處理/傳輸完畢,但是在真實的Internet環境下,頁面處理時間只占0.1%都不到,絕大部分時間都用來頁面傳輸。
            一. Windows環境:
            APR需要安裝三個組件:
               1、APR library
               2、JNI wrappers for APR used by Tomcat (libtcnative)
               3、OpenSSL libraries
            從http://tomcat.heanet.ie/native/1.1.14/binaries/win32/ ,下載tcnative-1.1.10.dll,tcnative-1.1.10.dll已經包含了上面的三個組件,所以只要把tcnative-1.1.10.dll拷貝到tomcat的bin下就行了。
            然后啟動tomcat,啟動后的信息為:信息: Loaded APR based Apache Tomcat Native library 1.1.14. 2009-12-24 14:17:59 org.apache.catalina.core.AprLifecycleListener init 信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], r andom [true]. 2009-12-24 14:18:00 org.apache.coyote.http11.Http11AprProtocol init 這說明APR配置成功,已經啟用。
            windows中還有一種方式是:
              1.將 tcnative-1.1.10.dll 放于tomcat的同級目錄 APR/lib 下;
              2. 修改一下 catalina.bat,加上set CATALINA_OPTS="-Djava.library.path=../../APR/lib"
            還有就是直接將 tcnative-1.1.10.dll加到系統變量PATH里面,也可以放在 windows/system32 下面。
            二. Linux環境:
            (1).安裝APR
            APR需要三個組件:
              1.apr-1.3.9.tar.gz
              2.apr-util-1.3.9.tar.gz
              3.tomcat-native.tar.gz
            從 http://apr.apache.org/download.cgi 上可下載apr-1.3.9.tar.gz和apr-util-1.3.9.tar.gz,tomcat中自帶 tomcat-native.tar.gz ,
            將 apr-1.3.9.tar.gz和 apr-util-1.3.9.tar.gz 上傳到/usr/local/目錄,
            # wget   http://apache.freelamp.com/apr/apr-1.3.9.tar.gz
            #apr-1.3.9.tar.gz
            #tar zxvf apr-1.3.9.tar.gz
            #cd apr-1.3.9
            #./configure
            #make
            #make install
            執行完后,會有提示信息:
            Libraries have been installed in:
              /usr/local/apr/lib
            If you ever happen to want to link against installed libraries
            in a given directory, LIBDIR, you must either use libtool, and
            specify the full pathname of the library, or use the `-LLIBDIR'
            flag during linking and do at least one of the following:
              - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
                during execution
              - add LIBDIR to the `LD_RUN_PATH' environment variable
                during linking
              - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
              - have your system administrator add LIBDIR to `/etc/ld.so.conf'
            See any operating system documentation about shared libraries for
            more information, such as the ld(1) and ld.so(8) manual pages.
            會在/local生成apr目錄, apr-1.3.9 的庫安裝在/usr/local/apr/lib目錄。
            # wget   http://apache.freelamp.com/apr/apr -util -1.3.9.tar.gz
            #apr-util-1.3.9.tar.gz
            #tar zxvf apr-util-1.3.9.tar.gz
            #cd apr-util-1.3.9
            #./configure --with-apr=/usr/local/apr    //配置指向apr-1.3.9的安裝目錄
            #make
            #make install
            command執行完后,提示信息和 apr-1.3.9的信息相同,表示apr-util-1.3.9 的庫也安裝在/usr/local/apr/lib目錄。
            安裝 tomcat-native組件
            #cd /usr/local/tomcat6/bin
            #tar zxvf tomcat-native.tar.gz
            #cd tomcat-native-1.1.16-src/jni/native
            # . /configure --with-apr=/usr/local/apr --with-java-home=/usr/java/jdk1.5.0_20
            #make
            #make install
            command執行完的提示信息和安裝  apr-1.3.9 的提示相同,表示 tomcat-native 的庫 也是安裝在 /usr/local/apr/lib目錄。
            (2)設置 Tomcat 整合 APR
            有兩種方法:
            1.修改 tomcat 的啟動 shell ( catalina.sh ),在該文件中加入啟動參數: CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
            2.也可以在環境變量中配置/etc/profile中加入
            export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr /lib
                 vi  /etc/profile 
                # 后面添加以下內容
                 export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/ local /apr/lib
                # 使profile生效,  
                 source  /etc/profile
            (3).判斷安裝成功:
            啟動tomcat,看日志
            #bin/startup.sh 
            #head  logs/catalina.out
            如果看到下面的啟動日志,表示成功。
            2009-12-24 17:34:32 org.apache.coyote.http11.Http11AprProtocol init

          posted @ 2014-07-17 15:10 一堣而安 閱讀(3014) | 評論 (0)編輯 收藏

          linux tomcat啟動過程記錄

          1.使用工具WinSCP  把 tomcat 上傳到 linux服務器 opt目錄下。
          2.使用工具 ssh 連接Linux服務器。
          3.使用命令運行 tomcat
              cd /opt/TomcatServer7/bin 
             ./startup.sh
              提示沒有權限

          4.設置權限
              查看 startup.sh 文件的權限      ls -l startup.sh
              設置所有 .sh文件為可讀、可寫、可執行     chmod 777 *.sh
          5.運行tomcat
              ./startup.sh
          6.查看tomcat運行狀態

          ps -ef |grep tomcat
          如果有一大長長長串的東西出現,那就是啟動成功了。

          posted @ 2014-07-16 18:49 一堣而安 閱讀(279) | 評論 (1)編輯 收藏

          myeclipse如何設置字體?

          http://jingyan.baidu.com/article/e2284b2b378581e2e6118d12.html

          posted @ 2014-07-07 23:12 一堣而安 閱讀(209) | 評論 (0)編輯 收藏

          ORA-12154

          最近在安裝完Oracle Developer Suite之后,就無法登錄系統,輸入帳號登錄發生錯誤:ORA-12154:TNS:無法解析指定的連接標幟符。

          從網上查看說一般是因為 配置文件中沒有對應的實例名,然后我就輸入C:/tnsping myoracle(我的ora實例名),查看tnsnames.ora和sqlnet.ora是否配置正確,結果報錯,提示:TNS-03505:無法解析名稱 說明配置文件有誤。

          然后我就查看%Oracle_Home%/Db_1/NetWork/admin/TNSNAMES.ORA 文件,發現其中包含我需要登錄的實例名。我在嘗試tnsping命令,發現其查看到的參數文件sqlnet.ora不是我默認安裝的oracle下面的sqlnet.ora,而是Oracle Developer Suite目錄下NetWork文件夾下面的sqlnet.ora文件,把安裝目錄下的tnsnames.ora中的實例配置內容拷貝過去,OK.

          MYORACLE =
            (DESCRIPTION =
              (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
              (CONNECT_DATA =
                (SERVER = DEDICATED)
                (SERVICE_NAME = MYORACLE)
              )
            )

          至于為什么會修改為使用那個目錄下的參數文件,還沒有研究怎么處理。先記下處理過程。

          本篇文章來源于 Linux公社網站(www.linuxidc.com)  原文鏈接:http://www.linuxidc.com/Linux/2012-12/75562.htm

          posted @ 2014-07-07 23:07 一堣而安 閱讀(239) | 評論 (0)編輯 收藏

          Linux 目錄說明

          http://wenku.baidu.com/link?url=ZjLn3il_4WE9FS5tajs62fhbUEmRdue8YwilBHcl3lV8q_pMM18zOXt61P7LjBhWjL4u0oJvpEU2of6JxQl4Ml3XJa5eCKDt7RJQeCeHjaK

          posted @ 2014-07-04 16:48 一堣而安 閱讀(182) | 評論 (0)編輯 收藏

          shh 快捷鍵

          ctrl + d      刪除光標所在位置上的字符相當于VIM里x或者dl
          ctrl + h      刪除光標所在位置前的字符相當于VIM里hx或者dh
          ctrl + k      刪除光標后面所有字符相當于VIM里d shift+$
          ctrl + u      刪除光標前面所有字符相當于VIM里d shift+^
          ctrl + w     刪除光標前一個單詞相當于VIM里db
          ctrl + y      恢復ctrl+u上次執行時刪除的字符
          ctrl + ?      撤消前一次輸入
          alt  + r      撤消前一次動作
          alt  + d     刪除光標所在位置的后單詞

          移動
          ctrl + a     將光標移動到命令行開頭相當于VIM里shift+^
          ctrl + e     將光標移動到命令行結尾處相當于VIM里shift+$
          ctrl + f      光標向后移動一個字符相當于VIM里l
          ctrl + b     光標向前移動一個字符相當于VIM里h
          ctrl + 方向鍵左鍵    光標移動到前一個單詞開頭
          ctrl + 方向鍵右鍵    光標移動到后一個單詞結尾
          ctrl + x       在上次光標所在字符和當前光標所在字符之間跳轉
          alt  + f      跳到光標所在位置單詞尾部


          替換
          ctrl + t       將光標當前字符與前面一個字符替換
          alt  + t     交換兩個光標當前所處位置單詞和光標前一個單詞
          alt  + u     把光標當前位置單詞變為大寫
          alt  + l      把光標當前位置單詞變為小寫
          alt  + c      把光標當前位置單詞頭一個字母變為大寫
          ^oldstr^newstr    替換前一次命令中字符串  


          歷史命令編輯
          ctrl + p   返回上一次輸入命令字符
          ctrl + r       輸入單詞搜索歷史命令
          alt  + p     輸入字符查找與字符相接近的歷史命令
          alt  + >     返回上一次執行命令


          其它
          ctrl + s      鎖住終端
          ctrl + q      解鎖終端
          ctrl + l        清屏相當于命令clear
          ctrl + c       另起一行
          ctrl + i       類似TAB健補全功能
          ctrl + o      重復執行命令
          alt  + 數字鍵  操作的次數


          黑色頭發:http://heisetoufa.iteye.com/

          posted @ 2014-07-04 16:15 一堣而安 閱讀(185) | 評論 (0)編輯 收藏

          Linux 常用命令

          http://www.oschina.net/translate/useful-linux-commands-for-newbies 

          1.壓縮命令:

            命令格式:tar  -zcvf   壓縮文件名.tar.gz   被壓縮文件名

                可先切換到當前目錄下。壓縮文件名和被壓縮文件名都可加入路徑。

           

          2.解壓縮命令:

            命令格式:tar  -zxvf   壓縮文件名.tar.gz

            解壓縮后的文件只能放在當前的目錄。

          3.zip 壓縮和解壓
               http://www.cnblogs.com/chinareny2k/archive/2010/01/05/1639468.html

          3.linux下實時查看tomcat運行日志

          1、先切換到:cd usr/local/tomcat5/logs

          2、tail -f catalina.out

          3、這樣運行時就可以實時查看運行日志了

          Ctrl+c 是退出tail命令。

          4.linux下查看tomcat是否啟動(ps、grep)

          ps -ef |grep tomcat

          如果有一大長長長串的東西出現,說明tomcat是啟動了,第一個是啟動該進程的用戶,第二個是該進程的id,第三個 是占用CPU的百分比,
          第四個是占用內存的百分比


          5.linux查看java jdk安裝路徑和設置環境變量

           windows:
          set java_home:查看JDK安裝路徑
          java -version:查看JDK版本


          linux:
          whereis java
          which java (java執行路徑)
          echo $JAVA_HOME

          echo $PATH

          6.Linux下mysql命令
          service mysqld start   啟動
          service mysqld status  查看狀態

           

          posted @ 2014-07-04 15:57 一堣而安 閱讀(222) | 評論 (0)編輯 收藏

          查看linux系統版本是32位的還是64位的

          一、

          [root@linuxzgf ~]#getconf LONG_BIT
          [root@linuxzgf ~]#getconf WORD_BIT
          (32位的系統中int類型和long類型一般都是4字節,64位的系統中int類型還是4字節的,但是long已變成了8字節inux系統中可用"getconf WORD_BIT"和"getconf LONG_BIT"獲得word和long的位數。64位系統中應該分別得到32和64。)

          二、

          [root@linuxzgf ~]#uname -a
          如果有x86_64就是64位的,沒有就是32位的
          后面是X686或X86_64則內核是64位的,i686或i386則內核是32位的

          三、

          直接看看有沒有/lib64目目錄的方法。64位的系統會有/lib64和/lib兩個目錄,32位只有/lib一個。

          四、

          [root@linuxzgf ~]#file /sbin/init
          /sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
          32-bit即是32位的 linux, 如是64位的, 顯示的是 64-bit

          五、

          [root@linuxzgf ~]#file /bin/cat
          /bin/cat: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped
          32-bit即是32位的 linux, 如是64位的, 顯示的是 64-bit

          六、

          [root@linuxzgf ~]#uname -m
          x86_64
          3.# arch
          x86_64
          i686

          七、查看cpu是多少位的

          [root@linuxzgf ~]#more /proc/cpuinfo

          八、

          [root@linuxzgf ~]# echo $HOSTTYPE
          x86_64

          getconf命令還可以獲取系統的基本配置信息,比如操作系統位數,內存大小,磁盤大小等。
          $getconf -a  可以看到詳細的系統信息

          posted @ 2014-07-04 15:56 一堣而安 閱讀(238) | 評論 (0)編輯 收藏

          HTML 轉義字符

          http://114.xixik.com/character/

          posted @ 2014-07-02 10:42 一堣而安 閱讀(159) | 評論 (0)編輯 收藏

          WEB 打印,去頁碼、隱藏打印按鈕

          詳細參考:http://www.cnblogs.com/aidd2008/archive/2012/04/25/2469994.html

          JSP代碼如下:

          <%@page import="java.net.URLDecoder"%>
          <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
          <%
           String path = request.getContextPath();
           String basePath = request.getScheme() + "://"
             + request.getServerName() + ":" + request.getServerPort()
             + path + "/";
           String params = request.getParameter("params");
           params = URLDecoder.decode(params, "UTF-8");
           String[] arr = new String[8];
           if (params != null) {
            arr = params.split(",");
           }
           request.setAttribute("arr", arr);
          %>

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html>
          <head>
          <base href="<%=basePath%>">

          <meta http-equiv="pragma" content="no-cache">
          <meta http-equiv="cache-control" content="no-cache">
          <meta http-equiv="expires" content="0">
          <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
          <meta http-equiv="description" content="This is my page">
          <!--
           <link rel="stylesheet" type="text/css" href="styles.css">
           -->
          <style media=print>
          .Noprint {
           display: none;
          }

          .PageNext {
           page-break-after: always;
          }

          </style>
          <style type="text/css">
          .helpSpan{ 
           margin-left:20px;
           cursor:pointer;
           display:inline-block;
           color:blue;
          }
          </style>
          <script type="text/javascript" src="<%=path%>/js/jquery-1.8.3.min.js"></script>
          <title>打印單</title>
          <object id="WebBrowser" width=0 height=0 classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>
          <link rel="stylesheet" type="text/css"
           href="css/gzjrzcjys/editFrame.css" />
           <script type="text/javascript">
            function print1(){
             document.all.WebBrowser.ExecWB(6,6);
            }
            function wOpen(){
             $("span.open").hide();
             $("span.close").show();
             $("#helpContent").show();
            }
            function wClose(){
             $("span.open").show();
             $("span.close").hide();
             $("#helpContent").hide();
            }
             var hkey_root, hkey_path, hkey_key;
                   hkey_root = "HKEY_CURRENT_USER";
                   hkey_path = "
          \\software\\Microsoft\\Internet Explorer\\PageSetup\\";
                   //設置網頁打印的頁眉頁腳邊距為空
                   function pagesetup_null() {
                       try {
                           var RegWsh = new ActiveXObject("WScript.Shell");
                           hkey_key = "header";
                           RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
                           hkey_key = "footer";
                           RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "");
                           hkey_key = "margin_left";
                           RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.0");
                           hkey_key = "margin_right";
                           RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.0");
                           hkey_key = "margin_top";
                           RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.0");
                           hkey_key = "margin_bottom";
                           RegWsh.RegWrite(hkey_root + hkey_path + hkey_key, "0.0");
                       } catch (e) {
                        alert(e);
                       }
                   }

            $(document).ready(function(){
             pagesetup_null();
            });
           </script>
          </head>

          <body>
           <div id="frame">
            <div id="frame_title">線下資金轉入申請</div>
            <div id="frame_content">

             <table class="content">
              <tr>
               <th>收款銀行:</th>
               <td><%=arr[0]%></td>
               <th>收款方全稱:</th>
               <td><%=arr[1]%></td>
              </tr>
              <tr>
               <th>收款方銀行賬號:</th>
               <td><%=arr[2]%></td>
               <th>充值碼:</th>
               <td><%=arr[3]%>(填寫在備注欄)</td>
              </tr>
              <tr>
               <th>匯款銀行:</th>
               <td><%=arr[4]%></td>
               <th>匯款方全稱:</th>
               <td><%=arr[5]%></td>
              </tr>
              <tr>
               <th>匯款賬號:</th>
               <td><%=arr[6]%></td>
               <th>匯款金額:</th>
               <td><%=arr[7]%>&nbsp;元</td>
              </tr>
             </table>


            </div>
            <div id="frame_bottom" class="Noprint">
             <a href="javascript:void(0)" class="button_toRound"><span
              style="font-size:14px;"
              onclick="print1()" class="Noprint">【打印】</span>
             </a>
            </div>
            <div style="padding:12px 5px;background-color:#ffffff" class="Noprint">
             備注: 請到網銀或者銀行辦理轉賬業務,轉賬匯款時,信息必須如實填寫,以避免無法如實到賬而給您的投資造成損失!</div>
           </div>

           <div style="width:750px;margin:auto;margin-top:150px;" class="Noprint">
            <div>友情鏈接:</div>
            <div>
             <table class="content">
              <tr>
               <td><a href="     </td>
               <td><a href="
                target="_blank">建設銀行</a>
               </td>
               <td><a href="
               </td>
               <td><a href="
               </td>
              </tr>
              <tr>
               <td><a href="
                target="_blank">光大銀行</a>
               </td>
               <td><a
                href="
                target="_blank">交通銀行</a>
               </td>
               <td><a href="
                target="_blank">興業銀行</a>
               </td>
               <td><a href="
                target="_blank">郵政儲蓄</a>
               </td>
              </tr>

             </table>
            </div>
           </div>
           <div style="width:750px;margin:auto;margin-top:50px;" class="Noprint">
            <div>幫助:點擊【打印】按鈕沒有反應。<span class="open helpSpan"  onclick="wOpen()">&gt;&gt;&gt;展開</span><span onclick="wClose()" class="close helpSpan" style="display:none;">&lt;&lt;&lt;收起</span></div>
            <div id="helpContent" style="display:none;">
             <p>需要將本站點添加為信任站點。共分為三步。</p>
             <p>第一步:打開IE瀏覽器的 Intenet選項</p>
             <div><img src="<%=path%>/images/open_Intenet_ie8.jpg"/></div>
             <p>或者</p>
             <div><img src="<%=path%>/images/open_Intenet_ie11.jpg"/></div>
             <p style="margin-top:20px;">第二步:添加信任站點</p>
             <div><img src="<%=path%>/images/setXinren_ie11.jpg"/></div>
             <p style="margin-top:20px;">第三步:允許控件運行</p>
             <div><img src="<%=path%>/images/setActive.jpg"/></div>
            </div>
           </div>
           <!--endprint-->
          </body>
          </html>

          代碼中所需圖片如下:






          posted @ 2014-06-28 21:49 一堣而安 閱讀(453) | 評論 (0)編輯 收藏

          僅列出標題
          共17頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 Last 

          導航

          統計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 衡阳市| 皋兰县| 湟源县| 锡林郭勒盟| 信丰县| 博野县| 城市| 张家界市| 察哈| 霍林郭勒市| 巴里| 枝江市| 广南县| 唐海县| 富裕县| 松江区| 长泰县| 丰县| 藁城市| 巴马| 钦州市| 福泉市| 确山县| 本溪市| 仲巴县| 济南市| 行唐县| 应城市| 南宫市| 高雄县| 长寿区| 化德县| 揭西县| 乌鲁木齐市| 淳化县| 兴安盟| 丰县| 睢宁县| 莆田市| 寿光市| 应城市|