<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 36, comments - 30, trackbacks - 0, articles - 3

    2016年4月4日

    這部分介紹如何分視圖顯示前面講的表格內容,Backbone中視圖可以嵌套顯示,例如前面例子中整個頁面可以用一個視圖來渲染,table表格可以用一個視圖來渲染,表格中的一行可以用一個視圖來渲染,這樣就用三層視圖,只要在以前的例子上稍作修改就可以實現這效果。

     
    首先定義最里層的視圖,表格中的行。通過tagName成員變量指定該視圖對應的html元素,render方法中指定tr元素中顯示的內容。當然也可以指定成員變量className的值,來指定tr元素顯示的式樣。

         var StudentView = Backbone.View.extend({
             
             tagName: 'tr',
             
             render: function() {
                 $(this.el).html(_.map([
                     this.model.get('id'),
                    this.model.get('name'),
                    this.model.get('age')
                 ],function(val, key){
                     return '<td>' + val + '</td>';
                 }))
                
                return this;
             }
         })

    其次顯示表格的視圖。
         var StudnetCollectionView = Backbone.View.extend({
             
             tagName: 'table',
             
             render: function() {
                $(this.el).empty();
                
                  $(this.el).append($('<tr></tr>')).html(_.map([
                      '學號','姓名','年齡'
                  ],function(val, key){
                      return '<th>' + val + '</th>';
                  }));
                
                  $(this.el).append(_.map(this.collection.models,
                    function(model, key){
                          return new StudentView({
                              model: model
                          }).render().el;
                  }));
                
                return this;
             }
         });

    最后顯示整個頁面的視圖。
         var StudnetPageView = Backbone.View.extend({
             render: function() {
                 $(this.el).html(new StudnetCollectionView({
                     collection: this.collection
                 }).render().el);
             }
         })

    同時修改一下顯示部分的代碼。

        var studentPageView = new StudnetPageView({
                 collection: studentCollection,
                 el: 'body'
             });
     
             studentPageView.render();

    整個main.js的代碼如下:

      (function($){
          $(document).ready(function(){
              
              var student1 = new Student({
                  id: 10000,
                  name: '王小二',
                  age: 30
              });
              
             var student2 = new Student({
                 id: 20000,
                 name: '姚敏',
                 age: 26
             });
             
             var student3 = new Student({
                 id: 30000,
                 name: '科比',
                 age: 24
             });
             
             var studentCollection = new StudentCollection([
                 student1,
                 student2,
                 student3
             ]);
             
             var studentPageView = new StudnetPageView({
                 collection: studentCollection,
                 el: 'body'
             });
     
             studentPageView.render();
             
         });
         
         //set model
         var Student = Backbone.Model.extend({
             //set default values.
             defaults: {
                 id: 0,
                 name: '',
                 age: 0
             }
         });
         
         var StudentCollection = Backbone.Collection.extend({
             model: Student
         });
         
         var StudentView = Backbone.View.extend({
             
             tagName: 'tr',
             
             render: function() {
                 $(this.el).html(_.map([
                     this.model.get('id'),
                    this.model.get('name'),
                    this.model.get('age')
                 ],function(val, key){
                     return '<td>' + val + '</td>';
                 }))
                
                return this;
             }
         })

         //set view
         var StudnetCollectionView = Backbone.View.extend({
             
             tagName: 'table',
             
             render: function() {
                $(this.el).empty();
                
                  $(this.el).append($('<tr></tr>')).html(_.map([
                      '學號','姓名','年齡'
                  ],function(val, key){
                      return '<th>' + val + '</th>';
                  }));
                
                  $(this.el).append(_.map(this.collection.models,
                    function(model, key){
                          return new StudentView({
                              model: model
                          }).render().el;
                  }));
                
                return this;
             }
         });
         
         var StudnetPageView = Backbone.View.extend({
             render: function() {
                 $(this.el).html(new StudnetCollectionView({
                     collection: this.collection
                 }).render().el);
             }
         })
         
     })(jQuery);

    posted @ 2016-04-04 17:40 笑看人生 閱讀(171) | 評論 (0)編輯 收藏

    2016年4月2日

    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 在學習筆記一中,一個視圖渲染一個Sudent對象,如果存在多個Student對象怎么辦,
    在java中可以通過ArrayList來保存,比如List<Student> students = new ArrayList<>();
    在Backbone中,也有類似于ArrayList的實現,只需要新建一個類,繼承Collection就可以了,實現代碼如下:
    成員變量model指定集合中存放對象的類型,類似于java中范型。

    1     var StudentCollection = Backbone.Collection.extend({
    2         model: Student
    3     });

    對學習筆記一種代碼稍加修改,修改代碼如下:
    新建三個Student對象,把這三個對象加入studentCollection對象中。

     1         var student1 = new Student({
     2             id: 10000,
     3             name: '王小二',
     4             age: 30
     5         });
     6         
     7         var student2 = new Student({
     8             id: 20000,
     9             name: '姚敏',
    10             age: 26
    11         });
    12         
    13         var student3 = new Student({
    14             id: 30000,
    15             name: '科比',
    16             age: 24
    17         });
    18         
    19         var studentCollection = new StudentCollection([
    20             student1,
    21             student2,
    22             student3
    23         ]);

    至此集合模型已經新建完畢,那么如何通過視圖來顯示這個集合模型。

    學習筆記一中新建的StudentView類的render方法做修改,同時在構建這個類對象時,稍作修改,修改如下:
    把原來綁定model的代碼改成綁定collection。

    1 var studentCollectionView = new StudnetCollectionView ({
    2             collection: studentCollection
    3  });

     1     var StudnetCollectionView = Backbone.View.extend({
     2         
     3         el: 'body',
     4         
     5         render:function(){
     6             var html = '';
     7             _.each(this.collection.models,function(model,index,obj){
     8                 var tmp = '學號: ' + model.get('id') + '.' +
     9                           '姓名: ' + model.get('name') + '.' +
    10                           '年齡: ' + model.get('age');
    11                 
    12                 html = html + '<li>' + tmp + '</li>'; 
    13             });
    14             
    15             html = '<ul>' + html + '</ul>';
    16             $(this.el).html(html);
    17         }
    18     });

    完整的main.js內容如下:
     1 (function($){
     2     $(document).ready(function(){
     3         
     4         var student1 = new Student({
     5             id: 10000,
     6             name: '王小二',
     7             age: 30
     8         });
     9         
    10         var student2 = new Student({
    11             id: 20000,
    12             name: '姚敏',
    13             age: 26
    14         });
    15         
    16         var student3 = new Student({
    17             id: 30000,
    18             name: '科比',
    19             age: 24
    20         });
    21         
    22         var studentCollection = new StudentCollection([
    23             student1,
    24             student2,
    25             student3
    26         ]);
    27         
    28         var studentCollectionView = new StudnetCollectionView({
    29             collection: studentCollection
    30         });
    31 
    32         studentCollectionView.render();
    33         
    34     });
    35     
    36     //set model
    37     var Student = Backbone.Model.extend({
    38         //set default values.
    39         defaults: {
    40             id: 0,
    41             name: '',
    42             age: 0
    43         }
    44     });
    45     
    46     var StudentCollection = Backbone.Collection.extend({
    47         model: Student
    48     });
    49     
    50     //set view
    51     var StudnetCollectionView = Backbone.View.extend({
    52         
    53         el: 'body',
    54         
    55         render:function(){
    56             var html = "<table border='1'><tr><th>學號</th><th>姓名</th><th>年齡</th></tr>";
    57             _.each(this.collection.models, function(model,index,obj){
    58                 var tmp = '<tr><td>' + model.get('id') + '</td>' +
    59                           '<td>' + model.get('name') + '</td>' +
    60                           '<td> ' + model.get('age') + '</td></tr>';
    61                           
    62                           
    63                 html = html = html + tmp;
    64             });
    65             
    66             html = html + '</table>';
    67             $(this.el).html(html);
    68         }
    69     });
    70     
    71 })(jQuery);
    72 


    posted @ 2016-04-02 12:06 笑看人生 閱讀(851) | 評論 (0)編輯 收藏

    項目里用到Backbone+marionet框架,由于以前沒有接觸過這些技術,經過一段時間的學習,覺得這技術還是很強大的,現把
    學習體會總結一下,以便后面查詢。

    Backbone是一個基于MVC模式的前端JavaScript框架,用于前端頁面開發。
    可以從http://backbone.js上下載對應的版本。

    使用Backbone,需要依賴其他一些js庫。
    jQuery  http://jquery.com
    Underscore http://underscorejs.org

    頁面的head元素內容大體如下:
    1 <script src="lib/jquery-2.2.2.js"></script>
    2 <script src="lib/underscore-2.js"></script>
    3 <script src="lib/backbone.js"></script>

    Backbone是一個MVC框架,通過V來展示M的內容,C接受用戶的請求,更新模型,然后刷新V。

    下面以一個例子,來說明怎么建立一個簡單的Backbone應用。

    首先定義一個Model類Student, 需要繼承Backbone.Model,這個類有三個成員變量,id,name,age,套用java中的叫法,其實可能
    不應該這么稱呼。

    1     var Student = Backbone.Model.extend({
    2         //set default values.
    3         defaults: {
    4             id: 0,
    5             name: '',
    6             age: 0
    7         }
    8     });


    然后定義一個View類StudentView,需要繼承Backbone.View, 給這個類的成員變量el賦值 body,指明在頁面的body元素中渲染視圖,
    同時重寫了渲染方法render,指明如何渲染,以下代碼應用jQuery的語法,在el指定的元素內,顯示指定的內容。
    每個視圖綁定一個Model,在View的所有方法中可以直接調用this.model獲取當前View綁定的Model對象,如下例子
    this.model.get('id'),注意獲取model屬性值時,不能直接使用thi.model.id

     1     var StudnetView = Backbone.View.extend({
     2         
     3         el: 'body',
     4         
     5         render:function(){
     6             var html = '學號: ' + this.model.get('id') + '.' +
     7                        '姓名: ' + this.model.get('name') + '.' +
     8                        '年齡: ' + this.model.get('age');
     9     
    10             $(this.el).html(html);
    11         }
    12     });

    定義完模型和視圖類之類,接下來就是創建模型類和視圖類對象,創建方法類似于java中創建對象。
    新建一個model對象student,給對象屬性指定值。
    新建一個view對象,并且指定該view綁定的model對象。
    調用view的渲染方法。

     1     var student = new Student({
     2             id: 10000,
     3             name: '王小二',
     4             age: 30
     5      });
     6         
     7         
     8     var studnetView = new StudnetView({
     9             model: student
    10     });
    11 
    12     studnetView.render();

    至此Backbone的代碼就全部寫完了,只要把這些新建Model和View的代碼放到自定義的js文件中,
    在頁面加載時調用即可,這里自定義js文件名為main.js,內容如下:

     1 (function($){
     2     $(document).ready(function(){
     3         
     4         var student = new Student({
     5             id: 10000,
     6             name: '王小二',
     7             age: 30
     8         });
     9         
    10         
    11         var studnetView = new StudnetView({
    12             model: student
    13         });
    14 
    15         studnetView.render();
    16         
    17     });
    18     
    19     //set model
    20     var Student = Backbone.Model.extend({
    21         //set default values.
    22         defaults: {
    23             id: 0,
    24             name: '',
    25             age: 0
    26         }
    27     });
    28     
    29     //set view
    30     var StudnetView = Backbone.View.extend({
    31         
    32         el: 'body',
    33         
    34         render:function(){
    35             var html = '學號: ' + this.model.id + '.'
    36                        '姓名: ' + this.model.name + '.'
    37                        '年齡: ' + this.model.age;
    38     
    39             $(this.el).html(html);
    40         }
    41     });
    42     
    43 })(jQuery);

    然后再新建一個index.html,內容如下:

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8">
     5         <title>Backbone.js 1</title>
     6         <script src="lib/jquery-2.2.2.js"></script>
     7         <script src="lib/underscore-2.js"></script>
     8         <script src="lib/backbone.js"></script>
     9         <script src="js/main.js"></script>
    10     </head>
    11     <body>
    12         
    13     </body>
    14 </html>

    最后,在瀏覽器中打開這個文件,就可以看到效果了。

    posted @ 2016-04-02 10:06 笑看人生 閱讀(2552) | 評論 (0)編輯 收藏

    2016年3月8日

    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

    參照以下網址,在CentOS上安裝Nginx
    http://www.tkk7.com/jacky9881/archive/2016/02/19/429375.html

    1.首先新建以下兩個目錄,用于存放緩存文件;
       [root@localhost nginx]# mkdir -p /data/nginx/proxy_temp_path
       [root@localhost nginx]# mkdir -p /data/nginx/proxy_cache_path

    2.編輯nginx.conf文件
      在http模塊增加如下內容,指定緩存文件的存放路徑:
      proxy_temp_path /data/nginx/proxy_temp_path;
      proxy_cache_path /data/nginx/proxy_cache_path levels=1:2 keys_zone=cache_one:20m inactive=1d max_size=3g ;  

    注:通過keys_zone來指定緩存區的名字,在接下來的location模塊配置中需要用到;
          20m是指定用于緩存的內存大小(由于本人虛擬機內存原因,設置了20M,生產環境中可以設置大一些,比如1G);
          inactive=1d,代表緩存的數據如果超過一天沒有被訪問的話,則自動清除;
          max_size=3g是指定用于緩存的硬盤大小(由于本人虛擬機內存原因,設置了3g,生產環境中可以設置大一些,比如50G);
          levels=1:2 指定該緩存目錄中有兩層hash目錄,第一層目錄為1個字母,第二層為2個字母,其中第一層目錄名為緩存數據MD5編碼的倒數第一個
         字母,第二層目錄名為緩存數據MD5編碼的倒數2,3兩個字母;

     upstream local_tomcats {
           server 192.168.8.132:8080;
           server 192.168.8.130:8080;
    }

     修改location模塊
      location ~ \.(jsp|do)$ {
                proxy_pass http://local_tomcats;
     }        
            
      location / {

                proxy_cache cache_one;
                #定義http返回值為200和304,緩存時間12小時,如果12小時后,沒有被訪問,則自動被刪除;
                #200表示 服務器已成功處理了請求,304表示 自從上次請求后,請求的網頁未修改過
                proxy_cache_valid 200 304 12h ;
                proxy_cache_valid 301 302 1m ;
                proxy_cache_valid any 10m ;
                proxy_cache_key $host$uri$is_args$args;

                proxy_ignore_headers X-Accel-Expires Expires  Set-Cookie Cache-Control;
                proxy_hide_header Cache-Control;
                proxy_hide_header Set-Cookie;               
                proxy_pass http://local_tomcats; #這個要設定,否則好像生成不了緩存文件

        }
    #用于清除緩存
     location ~ /purge(/.*) {
                allow 127.0.0.1;
                allow 192.168.8.132;
                deny all ;
                proxy_cache_purge cache_one $host$1$is_args$args ;
       }  

    在瀏覽器地址欄輸入:http://www.hw.com/tomcat.png
    查看緩存目錄
    [root@localhost nginx]# ls /data/nginx/proxy_cache_path/7/8a
    b12ee1366ed4307aa6408a16286658a7

    可以看到,緩存文件已經生成,注意緩存文件名最后三位和緩存文件夾的關系。

    在瀏覽器地址欄輸入:http://www.hw.com/purge/tomcat.png
    頁面顯示如下信息,提示緩存文件已經被清除。

    Successful purge

    Key : www.hw.com/tomcat.png
    Path: /data/nginx/proxy_cache_path/7/8a/b12ee1366ed4307aa6408a16286658a7 

    注意這里的Key,就是配置文件中定義 proxy_cache_key 

    查看緩存命中率
    location / 模塊,增加如下代碼
    add_header  Nginx-Cache "$upstream_cache_status"

    同時在http模塊打開ngnix的日志功能,默認是關閉狀態。

        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"'
                           '"$upstream_cache_status"';
        access_log  logs/access.log  main;
     

    [root@localhost nginx]# ./sbin/nginx -s reload

    在瀏覽器地址欄輸入:http://www.hw.com/tomcat.png
    重復刷新幾次,打開日志文件 logs/access.log,可以看到HIT的字樣,意味著緩存命中。

    192.168.8.132 - - [08/Mar/2016:20:48:38 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"
    192.168.8.132 - - [08/Mar/2016:20:48:40 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"
    192.168.8.132 - - [08/Mar/2016:20:48:42 +0800] "GET /tomcat.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "-""HIT"


    posted @ 2016-03-08 20:29 笑看人生 閱讀(2919) | 評論 (1)編輯 收藏

    2016年2月27日

         摘要: 不講原理,直接上步驟: 1.下載MyCat,Mycat-server-1.4-release-20151019230038-linux.tar 2. 解壓到/usr/mycat目錄下:     [root@localhost mycat]# tar -xvf  Mycat-server-1.4-release-20151019230038-linux.t...  閱讀全文

    posted @ 2016-02-27 15:28 笑看人生 閱讀(3964) | 評論 (1)編輯 收藏

    2016年2月23日

    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
     主服務器  OS:CentOS   IP:192.168.8.130
     從服務器  OS:CentOS   IP:192.168.8.131

    在主,從服務器上安裝MySQL,安裝方法如下:
    [root@localhost Desktop]$ rpm -qa | grep mysql
       mysql-libs-5.1.73-5.el6_6.x86_64
    [root@localhost Desktop]# rpm -e mysql-libs-5.1.73-5.el6_6.x86_64 --nodeps
    [root@localhost Desktop]# yum -y install mysql-server mysql mysql-devel

    啟動MySQL
    [root@localhost Desktop]# service mysqld start

    #可以設置MySQL開機啟動,運行命令chkconfig mysqld on

    #給root賬號設置密碼
    [root@localhost Desktop]# mysqladmin -u root password 'root'
    [root@localhost Desktopps]# mysql -u root -p
    給從服務器(192.168.8.131)授權,并且給從服務器創建訪問主服務器的賬號和密碼 admin
    mysql> grant replication slave on *.* to 'admin'@'192.168.8.131' identified by 'admin';
    創建數據庫contract
    mysql> create database contract;
    mysql>quit;

    復制MySQL數據庫配置模版覆蓋/etc/my.cnf
    [root@localhost Desktopps]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf   
    [root@localhost Desktopps]#vi /etc/my.cnf
    設置以下三個值

    log-bin=mysql-bin   #指定從服務器讀取的日志文件
    server-id = 1        #主服務器必須設定為1,從服務器的值>1
    binlog-do-db=contract #對contract數據庫的操作日志會記錄到mysql-bin

    #原理:MySQL主從復制的原理是主服務器把對指定數據庫操作的日志寫到指定的日志文件中,從服務器
                讀取這個日志文件,寫到從服務器的指定日志文件中,然后在從服務器重新執行日志文件。

    配置完之后,重啟MySQL
    [root@localhost Desktopps]#service mysqld restart
    Stopping mysqld:                                          [  OK  ]
    Starting mysqld:                                           [  OK  ]

    [root@localhost Desktopps]# mysql -u root -p
    查看主服務器的狀態
    mysql> show master status\G;
    *************************** 1. row ***************************
                        File: mysql-bin.000005
                  Position: 106
         Binlog_Do_DB: contract
    Binlog_Ignore_DB: 
    1 row in set (0.00 sec)

    這里記好File和Position的值,配置從服務器的時候需要用到。File就是從服務器需要讀取的日志文件,Position表示從日志文件的什么位置開始讀起。

     下面開始配置從服務器
    [root@localhost Desktop]# mysqladmin -u root password 'root'
    [root@localhost Desktopps]# mysql -u root -p
    創建數據庫contract
    mysql> create database contract;
    mysql>quit;
    [root@localhost Desktopps]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf   
    [root@localhost Desktopps]#vi /etc/my.cnf
    設置以下兩個值

    log-bin=mysql-bin   #指定主服務器讀取的日志文件
    server-id = 2       #主服務器必須設定為1,從服務器的值>1

    [root@localhost Desktopps]# mysql -u root -p
    mysql> CHANGE MASTER TO MASTER_HOST='192.168.8.130', MASTER_PORT=3306,
                MASTER_USER='admin', MASTER_PASSWORD='admin',
                MASTER_LOG_FILE='mysql-bin.000005'MASTER_LOG_POS=106; 
    啟動從服務器同步
    mysql>start slave;
    mysql>show slave status\G;

    Slave_IO_Running: YES
    Slave_SQL_Running: YES

    如果輸出以上內容,則表示MySQL主從復制配置成功。

    驗證
    在主服務器上運行 
    [root@localhost Desktopps]# mysql -u root -p
    mysql> use contract;
    Database changed
    mysql> show tables;
    Empty set (0.04 sec)

    在從服務器上運行
    [root@localhost Desktopps]# mysql -u root -p
    mysql> use contract;
    Database changed
    mysql> show tables;
    Empty set (0.04 sec)

    確定主從服務器的數據庫contract的下面都沒有表。
    在主服務器上運行建表命令,并往表里插入一條記錄:
     mysql> create table `user` (`id` int not null auto_increment,`name` varchar (60),`password` varchar (20),`role` int not null,`email` varchar (30),`alertday` int,primary key (`id`));
    Query OK, 0 rows affected (0.36 sec)
     mysql> insert into `user` (`name`,`password`,`role`,`email`,`alertday`) values('admin','admin',0,'xxxx@xxx.com',30);
    Query OK, 1 row affected (0.08 sec)

    在從服務器上運行查詢語句。
    mysql> select * from user;
    +----+-------+----------+------+--------------+----------+
    | id | name  | password | role | email        | alertday |
    +----+-------+----------+------+--------------+----------+
    |  1 | admin | admin    | 0    | xxxx@xxx.com |       30 |
    +----+-------+----------+------+--------------+----------+
    1 row in set (0.01 sec)

    從輸出結果可以看出,主服務器上的數據被同步到從服務器上了。

    通過搭建MySQL主從復制結構,可以提高數據的安全性,同時可以實現讀寫分離,讓寫操作在主服務器上進行,
    讀操作在從服務器上進行,可以分擔主服務器的負擔。但是如果當主服務器宕機之后,數據庫就只能提供
    讀操作了,不能做到故障轉移,這時候,主主復制就應運而生了,有時間整理一下主主復制的配置。




    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

    posted @ 2016-02-23 20:41 笑看人生 閱讀(365) | 評論 (0)編輯 收藏

    2016年2月19日

    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
    在CentOS上安裝JDK7,Tomcat7和Nginx1.9手順

    1.下載 jdk-7u79-linux-x64.rpm,下載地址如下:
      http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html

      [root@localhost java]#rpm -qa | grep jdk
      [root@localhost java]#cp /home/huangwei/Downloads/jdk-7u79-linux-x64.rpm .
      [root@localhost java]# chmod 755 jdk-7u79-linux-x64.rpm 
      [root@localhost java]# rpm -ivh jdk-7u79-linux-x64.rpm 
      [root@localhost java]# vi /etc/profile

           #set java enviromet
           JAVA_HOME=/usr/java/jdk1.7.0_79
           PATH=$PATH:$JAVA_HOME/bin
           CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
           export JAVA_HOME PATH CLASSPATH
      [root@localhost java]# source /etc/profile
      [root@localhost java]# java -version
           java version "1.7.0_79"
           Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
           Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
      [root@localhost lib]# rpm -qa | grep jdk
           jdk-1.7.0_79-fcs.x86_64



    2.下載 apache-tomcat-7.0.68.zip,下載地址如下:
      http://tomcat.apache.org/download-70.cgi
      unzip apache-tomcat-7.0.68.zip to /usr/
      [root@localhost bin]# cd /usr/apache-tomcat-7.0.68/bin
      [root@localhost bin]# chmod +x *.sh
      [root@localhost bin]# ./startup.sh 
    Using CATALINA_BASE:   /usr/apache-tomcat-7.0.68
    Using CATALINA_HOME:   /usr/apache-tomcat-7.0.68
    Using CATALINA_TMPDIR: /usr/apache-tomcat-7.0.68/temp
    Using JRE_HOME:        /usr/java/jdk1.7.0_79
    Using CLASSPATH:       /usr/apache-tomcat-7.0.68/bin/bootstrap.jar:/usr/apache-tomcat-7.0.68/bin/tomcat-juli.jar
    Tomcat started.

      在瀏覽器中輸入http://localhost:8080/ ,如果能正常打開Tomcat的主頁,說明Tomcat安裝成功。

    3.下載 nginx-1.9.11.tar.gz,下載地址如下:
      http://nginx.org/en/download.html
      [root@localhost usr]# rpm -qa | grep gcc
    gcc-4.4.7-16.el6.x86_64
    libgcc-4.4.7-16.el6.x86_64
      [root@localhost usr]# rpm -qa | grep openssl
    openssl-1.0.1e-42.el6.x86_64
      [root@localhost usr]# rpm -qa | grep zlib
    zlib-1.2.3-29.el6.x86_64
      [root@localhost usr]# rpm -qa | grep pcre
    pcre-7.8-7.el6.x86_64
      [root@localhost usr]# tar -zxvf nginx-1.9.11.tar.gz 
      [root@localhost usr]# cd nginx-1.9.11/
      [root@localhost nginx-1.9.11]# yum -y install pcre-devel
      [root@localhost nginx-1.9.11]# yum -y install zlib-devel
      [root@localhost nginx-1.9.11]# ./configure --prefix=/usr/nginx
      [root@localhost nginx-1.9.11]# make && make install
      [root@localhost nginx-1.9.11]# cd /usr/nginx/sbin/
      [root@localhost sbin]# ./nginx -t
    nginx: the configuration file /usr/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/nginx/conf/nginx.conf test is successful
      [root@localhost sbin]# ./nginx

      
    在瀏覽器中輸入http://localhost/ ,如果能正常打開Nginx的主頁,說明Nginx安裝成功。
    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

    posted @ 2016-02-19 19:43 笑看人生 閱讀(298) | 評論 (0)編輯 收藏

    2016年1月31日

         摘要: @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); Normal 0 10 pt 0 2 false ...  閱讀全文

    posted @ 2016-01-31 13:10 笑看人生 閱讀(4598) | 評論 (0)編輯 收藏

    2016年1月28日

         摘要: @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 參照一下地址,搭建nginx tomcat的負載均衡環境 Nor...  閱讀全文

    posted @ 2016-01-28 20:13 笑看人生 閱讀(3283) | 評論 (0)編輯 收藏

         摘要: 搭建nginx和 tomcat環境,實現負載均衡  閱讀全文

    posted @ 2016-01-28 19:45 笑看人生 閱讀(3272) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 一级特黄a大片免费| 成人无码区免费视频观看| 亚洲美女aⅴ久久久91| 毛片免费观看网址| jizz18免费视频| 亚洲最大黄色网址| 亚洲精品色婷婷在线影院| 亚洲a一级免费视频| 久久精品无码免费不卡| 亚洲黄色免费网站| 免费一看一级毛片人| 日韩电影免费在线观看| 亚洲AV日韩AV一区二区三曲| 亚洲AV无码一区二区二三区软件 | 久久er国产精品免费观看2| 亚洲精品美女久久久久9999| 国产一级一片免费播放| 无码专区AAAAAA免费视频| 国产精品亚洲一区二区三区| 久久久亚洲AV波多野结衣| 亚洲午夜av影院| 黄瓜视频影院在线观看免费| 成人免费区一区二区三区| MM1313亚洲精品无码久久| 亚洲男女性高爱潮网站| 亚洲毛片αv无线播放一区| 成人免费无码精品国产电影| 在免费jizzjizz在线播| 成人免费无码H在线观看不卡| 亚洲国产精品18久久久久久| 亚洲欧洲视频在线观看| 亚洲午夜无码久久久久| 国产一级淫片免费播放| 免费中文熟妇在线影片 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 日本不卡在线观看免费v| 四虎在线成人免费网站| 免费h视频在线观看| 久久久免费观成人影院| 免费视频成人国产精品网站| 亚洲国产精品网站在线播放|