<s id="qx03x"></s>
  • <tt id="qx03x"><noscript id="qx03x"></noscript></tt><rt id="qx03x"><nav id="qx03x"></nav></rt>

    <strong id="qx03x"><li id="qx03x"></li></strong>
    <tt id="qx03x"></tt>

        1. 分頁: 5/31 第一頁 上頁 1 2 3 4 5 6 7 8 9 10 下頁 最后頁 [ 顯示模式: 摘要 | 列表 ]
            今天是節前最后一天上班。今年春節回老婆的老家過年,沒有電腦和網絡,如果服務器有什么問題,就希望借助 Google Android 手機上的一些小工具來處理了。

            我的G1手機裝了HiAPK 的 Android 1.6 Rom,自帶了PPTP/L2TP/IPSec VPN的支持,可以先通過它撥入服務器的VPN內網。

            點擊在新窗口中瀏覽此圖片 點擊在新窗口中瀏覽此圖片



            SSH工具:connectbot
            下載地址:http://code.google.com/p/connectbot/

            用它可以登錄Linux/Unix服務器,進行相關操作。

            點擊在新窗口中瀏覽此圖片
            [文章作者:張宴 本文版本:v1.0 最后修改:2010.02.05 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/sphinx_search/]

            前言:

            2008年7月,我寫過一篇文章《基于Sphinx+MySQL的千萬級數據全文檢索(搜索引擎)架構設計》。有不少網友希望閱讀全文,我將該文檔整理了一下,分享出來。文檔解壓后大小為7.33M,共19頁。

            本站下載地址: http://blog.www.lukangtou.cn/book/sphinx/sphinx_mysql.zip

            新浪下載分流: http://ishare.iask.sina.com.cn/f/6728201.html

            上述文檔架構存在的局限,我在2008年12月的文章《億級數據的高并發通用搜索引擎架構設計》中已經指出:一是MySQL本身的并發能力有限,在200~300個并發連接下,查詢和更新就比較慢了;二是由于MySQL表的主鍵與Sphinx索引的ID一一對應,從而無法跨多表建立整站查詢,而且新增加類別還得修改配置文件,比較麻煩;三是因為和MySQL集成,無法發揮出Sphinx的優勢。雖然如此,但對于一些寫入量不大的搜索應用,已經足夠了,或許對很多人會有幫助。



            正文:

            在這之后,本人基于《億級數據的高并發通用搜索引擎架構設計》開發的Sphinx分布式通用站內搜索引擎平臺,已經在生產環境運行9個月以上,經過運營中的不斷完善與改進,目前已形成了一套可擴展的分布式通用站內搜索引擎框架。CMS、視頻、論壇等產品發生的增、刪、改操作,文本內容實時寫入自行開發的 HTTPSQS 高性能簡單消息隊列服務,通過隊列控制器更新索引和存儲。提供支持XML、JSON的API查詢接口,支持億級數據的索引、分布式、中文分詞、高亮顯示、自動摘要、準實時(1分鐘內)增量索引更新。

            點擊在新窗口中瀏覽此圖片

            下面是Sphinx新的搜索架構中技術關鍵點實現方式的一些介紹,與大家分享、交流一下:

            1、一元分詞和中文分詞的結合:

           ?、?、一元分詞位于索引更新模塊。Sphinx索引引擎對于CJK(中日韓)語言(必須是UTF-8編碼)支持一元切分,假設【反恐行動是國產主視角射擊網絡游戲】這段文字,Sphinx會將其切成【反 恐 行 動 是 國 產 主 視 角 射 擊 網 絡 游 戲】,然后對每個字建立反向索引。如果用這句話中包含的字組成一個不存在的詞語,例如【恐動】,也會被搜索到,所以搜索時,需要加引號,例如搜索【"反恐行動"】,就能完全匹配連在一起的四個字,不連續的【"恐動"】就不會被搜索到。但是,這樣還有一個問題,搜索【"反恐行動游戲"】或【"國產網絡游戲"】就會搜索不到。對于這個問題,采用位于搜索查詢模塊的中文分詞來處理。

            sphinx.conf配置文件中關于UTF-8中文一元分詞的配置如下:
          ...省略...
          index t_source_main
          {
                  source                  = t_source_main
                  path                    = /data0/search/sphinx/data/t_source_main
                  docinfo                 = extern
                  mlock                   = 0
                  morphology              = none
                  min_word_len            = 1
                  charset_type            = utf-8
                  min_prefix_len          = 0
                  html_strip              = 1
                  charset_table           = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F
                  ngram_len               = 1
                  ngram_chars             = U+3000..U+2FA1F
          }
          ...省略...


           ?、?、中文分詞位于搜索查詢模塊。搜索“反恐行動游戲”、“國產網絡游戲”,先調用獨立的中文分詞系統,分別切分為“反恐行動 游戲”、“國產 網絡游戲”,這時候,再給以空格分隔的詞語加上引號,去Sphinx搜索【"反恐行動" "游戲"】或【"國產" "網絡游戲"】,就能搜索到這條記錄了。中文分詞詞庫發生增、刪、改,無需重建整個Sphinx搜索索引。



            2、使用自行開發的HTTPSQS(http://code.google.com/p/httpsqs)開源簡單隊列服務程序,來緩沖高并發數據寫入

            新聞、論壇帖子、客服公告、SNS社區等發生的增、刪、改操作,文本內容通過更新接口實時寫入HTTPSQS隊列,再通過隊列控制器更新到Sphinx搜索引擎索引中。



            3、Sphinx不能嚴格按照字段排序的小問題

            如果不想使用權重,只希望嚴格按照時間、主鍵等排序,而匹配模式(Matching modes)又為非SPH_MATCH_BOOLEAN時(比較常用的是SPH_MATCH_ALL、SPH_MATCH_EXTENDED),Sphinx搜索結果在某一頁中的排序會不太準確。例如:按照UNIX時間戳倒序排序,0,20為第一頁,20,40為第二頁,第一頁的最小時間戳一定會大于第二頁的最大時間戳,但是,第一頁中的0,20條記錄卻不會嚴格按照時間戳排序,第二頁亦是如此。因此,如果需要精確排序,用戶翻到搜索結果的某一頁,就需要對Sphinx在某一搜索結果頁中的記錄另行再排序,在我的這套搜索架構中,這一再排序操作由search.php查詢接口使用array_multisort()函數處理。一般情況下,一頁只會顯示5~30條記錄,因此,只對幾十條記錄采用PHP再排序,速度也是非??斓?。



            4、隊列控制器中“時間控制”與“數量控制”相結合,實現搜索索引的1分鐘內準實時更新:

           ?、?、Sphinx 0.9.9生產環境的建索引速度大約在5.5 Mbytes/秒、6400文檔/秒。隊列控制器可以設置10秒鐘更新一次增量索引,只要Sphinx增量索引數據源的文檔數在38萬以內,就能保證增量索引在1~60秒內得到更新,這是從“時間”上進行控制。

           ?、?、為了避免增量索引數據源的文檔數增長到38萬,隊列控制器在增量索引數據源的文檔數超過1萬時,還將激活增量索引合并入主索引的操作,合并完成的文檔將從增量索引數據源中刪除,這是從“數量”上進行控制。
          Tags: , ,
            從2010年1月16日向新網代理商索要域名轉移密碼,到2010年1月27日13:55分Whois信息中的域名注冊商變更為Godaddy,歷時11天,我的域名 www.lukangtou.cn 成功轉移到國外。

            一、為什么要把域名注冊商從國內轉移到國外:

            1、域名完全控制權:國內大多數的頂級域名注冊商拿著本該屬于域名所有者的“域名轉移密碼”,設置各種條件(例如:收費、續費一年才給密碼、郵寄證明材料等)提高域名所有者取得“域名轉移密碼”的難度,甚至以種種借口阻止您獲知轉移密碼。國內的域名注冊商只能設置兩個DNS服務器地址,而國外域名注冊商可以設置多個DNS地址。在國外域名注冊商,你擁有域名的完全控制權與轉移權,域名轉移、域名過戶完全可以由你在線操作,免費進行。

            2、價格與安全性:國內的域名注冊商域名注冊、續費價格昂貴(.com域名100元以上),在代理商處雖然便宜一些(大約60元/年),但域名控制權更少,遇到黑心代理,說不定你辛苦經營的域名,某一天就成別人的了。在國外注冊、續費域名(例如在Godaddy用優惠碼只需7美元/年,不到50元人民幣/年)。

            3、最主要的原因:向“clientHold”說“No”。最近,有關部門發現了比去機房拔網線更便捷的方法,那就是通知國內的域名注冊商對域名進行“clientHold(域名暫停解析)”,clientHold是注冊商用來禁用一個域名最簡單的手段。今年以來,發生了多起國內知名網站被域名注冊商“clientHold”的事件:

            [2010-01-05] 新網暫停解析51.com及IT168.com等網站域名:http://tech.163.com/10/0105/17/5S9GP09A000915BF.html
            [2010-01-05] 網站域名被屏蔽 百萬用戶上不了"博客大巴":http://it.people.com.cn/GB/42891/42894/10729530.html
            [2010-01-21] TechWeb.com.cn域名停止解析:http://it.sohu.com/20100121/n269753011.shtml
            [2010-01-25] 籬笆網遭新網停止域名解析服務:http://tech.163.com/10/0126/10/5TUR6JP8000915BF.html
            [2010-01-27] 濟南日報報業集團主辦的“舜網”被萬網暫停域名解析:http://china.huanqiu.com/roll/2010-01/704184.html

            由公司、專業團隊運營的網站尚且難逃域名被暫停解析的命運,那么微弱的個人網站域名有如“兵在其頸”,一旦被“clientHold”,也許就是永久。防止域名被Hold的方法是將域名轉移到國外的域名注冊商,域名解析采用國外域名注冊商的DNS服務器、自建DNS服務器或者第三方DNS服務器(例如:dnspod.com)均可。

            4、.com、.net、.org等國際域名或其他國家域名,才能轉移到國外域名注冊商,擁有“.cn”域名的朋友,聽天由命吧。



            二、轉移到國外哪家域名注冊商呢?

            1、企業的選擇: NETWORK SOLUTIONS, LLC (http://www.networksolutions.com

            通過“http://who.is/”查詢一下,可以發現,新浪sina.com、網易163.com、網易郵箱126.com、搜狐sohu.com、搜狗sogou.com、騰訊搜搜soso.com、金山kingsoft.com、金山逍遙xoyo.com、中華網china.com,就連國字號的中央電視臺cctv.com、新華網xinhuanet.com,域名都是在國外域名注冊商處注冊的,而且注冊商都是同一家:“NETWORK SOLUTIONS, LLC”。

            Network Solutions 成立于1979年,有著30年的歷史,是全世界最早提供域名注冊的公司。1993年與美國國家科學基金會簽定協議,承擔InterNIC的域名注冊服務和信息服務工作并且開展網絡技術服務、咨詢等其它業務,現有超過700萬域名是在其注冊的。

            因此,域名轉移到Network Solutions,相對來說是最安全的。但是,它的價格較貴,例如.com域名差不多要30美元/年,因此適合企業。當然,如果你有錢,也不妨選擇Network Solutions。

            2、個人的選擇: Godaddy.com、Name.com、Enom.com

            Godaddy 是全球最大的 ICANN 域名注冊機構,占據了18%的市場份額。Godaddy 注冊、轉入、續費域名可以搜尋各種優惠碼,.com域名使用優惠碼只需7美元/年。最重要的是,它支持使用“支付寶”以人民幣購匯方式付款。

            eNom 于1997年在美國華盛頓成立,是全球第二大 ICANN 域名注冊機構,全球最大的域名搶注機構之一。

            Name.com 也是一家價格較低的不錯域名注冊商。



            三、轉移前工作:索取域名轉移密碼
            [文章作者:張宴 本文版本:v1.2 最后修改:2009.01.12 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/nginx_cache/]

            Nginx從0.7.48版本開始,支持了類似Squid的緩存功能。這個緩存是把URL及相關組合當作Key,用md5編碼哈希后保存在硬盤上,所以它可以支持任意URL鏈接,同時也支持404/301/302這樣的非200狀態碼。雖然目前官方的Nginx Web緩存服務只能為指定URL或狀態碼設置過期時間,不支持類似Squid的PURGE指令,手動清除指定緩存頁面,但是,通過一個第三方的Nginx模塊,可以清除指定URL的緩存。

            Nginx的Web緩存服務主要由proxy_cache相關指令集和fastcgi_cache相關指令集構成,前者用于反向代理時,對后端內容源服務器進行緩存,后者主要用于對FastCGI的動態程序進行緩存。兩者的功能基本上一樣。

            最新的Nginx 0.8.32版本,proxy_cache和fastcgi_cache已經比較完善,加上第三方的ngx_cache_purge模塊(用于清除指定URL的緩存),已經可以完全取代Squid。我們已經在生產環境使用了 Nginx 的 proxy_cache 緩存功能超過兩個月,十分穩定,速度不遜于 Squid。

            在功能上,Nginx已經具備Squid所擁有的Web緩存加速功能、清除指定URL緩存的功能。而在性能上,Nginx對多核CPU的利用,勝過Squid不少。另外,在反向代理、負載均衡、健康檢查、后端服務器故障轉移、Rewrite重寫、易用性上,Nginx也比Squid強大得多。這使得一臺Nginx可以同時作為“負載均衡服務器”與“Web緩存服務器”來使用。
            


            1、Nginx 負載均衡與緩存服務器在 Linux 下的編譯安裝:
          ulimit -SHn 65535
          wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.00.tar.gz
          tar zxvf pcre-8.00.tar.gz
          cd pcre-8.00/
          ./configure
          make && make install
          cd ../

          wget http://labs.frickle.com/files/ngx_cache_purge-1.0.tar.gz
          tar zxvf ngx_cache_purge-1.0.tar.gz

          wget http://nginx.org/download/nginx-0.8.32.tar.gz
          tar zxvf nginx-0.8.32.tar.gz
          cd nginx-0.8.32/
          ./configure --user=www --group=www --add-module=../ngx_cache_purge-1.0 --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
          make && make install
          cd ../



            2、/usr/local/webserver/nginx/conf/nginx.conf 配置文件內容如下:
          user  www www;

          worker_processes 8;

          error_log  /usr/local/webserver/nginx/logs/nginx_error.log  crit;

          pid        /usr/local/webserver/nginx/nginx.pid;

          #Specifies the value for maximum file descriptors that can be opened by this process.
          worker_rlimit_nofile 65535;

          events
          {
            use epoll;
            worker_connections 65535;
          }

          http
          {
            include       mime.types;
            default_type  application/octet-stream;

            charset  utf-8;
                
            server_names_hash_bucket_size 128;
            client_header_buffer_size 32k;
            large_client_header_buffers 4 32k;
            client_max_body_size 300m;
                
            sendfile on;
            tcp_nopush     on;

            keepalive_timeout 60;

            tcp_nodelay on;

            client_body_buffer_size  512k;
            proxy_connect_timeout    5;
            proxy_read_timeout       60;
            proxy_send_timeout       5;
            proxy_buffer_size        16k;
            proxy_buffers            4 64k;
            proxy_busy_buffers_size 128k;
            proxy_temp_file_write_size 128k;

            gzip on;
            gzip_min_length  1k;
            gzip_buffers     4 16k;
            gzip_http_version 1.1;
            gzip_comp_level 2;
            gzip_types       text/plain application/x-javascript text/css application/xml;
            gzip_vary on;

            #注:proxy_temp_path和proxy_cache_path指定的路徑必須在同一分區
            proxy_temp_path   /data0/proxy_temp_dir;
            #設置Web緩存區名稱為cache_one,內存緩存空間大小為200MB,1天沒有被訪問的內容自動清除,硬盤緩存空間大小為30GB。
            proxy_cache_path  /data0/proxy_cache_dir  levels=1:2   keys_zone=cache_one:200m inactive=1d max_size=30g;
            
            upstream backend_server {
              server   192.168.8.43:80 weight=1 max_fails=2 fail_timeout=30s;
              server   192.168.8.44:80 weight=1 max_fails=2 fail_timeout=30s;
              server   192.168.8.45:80 weight=1 max_fails=2 fail_timeout=30s;
            }

            server
            {
              listen       80;
              server_name  www.yourdomain.com 192.168.8.42;
              index index.html index.htm;
              root  /data0/htdocs/www;  

              location /
              {
                   #如果后端的服務器返回502、504、執行超時等錯誤,自動將請求轉發到upstream負載均衡池中的另一臺服務器,實現故障轉移。
                   proxy_next_upstream http_502 http_504 error timeout invalid_header;
                   proxy_cache cache_one;
                   #對不同的HTTP狀態碼設置不同的緩存時間
                   proxy_cache_valid  200 304 12h;
                   #以域名、URI、參數組合成Web緩存的Key值,Nginx根據Key值哈希,存儲緩存內容到二級緩存目錄內
                   proxy_cache_key $host$uri$is_args$args;
                   proxy_set_header Host  $host;
                   proxy_set_header X-Forwarded-For  $remote_addr;
                   proxy_pass http://backend_server;
                   expires      1d;
              }
              
              #用于清除緩存,假設一個URL為http://192.168.8.42/test.txt,通過訪問http://192.168.8.42/purge/test.txt就可以清除該URL的緩存。
              location ~ /purge(/.*)
              {
               #設置只允許指定的IP或IP段才可以清除URL緩存。
               allow            127.0.0.1;
               allow            192.168.0.0/16;
               deny            all;
               proxy_cache_purge    cache_one   $host$1$is_args$args;
              }    

              #擴展名以.php、.jsp、.cgi結尾的動態應用程序不緩存。
              location ~ .*\.(php|jsp|cgi)?$
              {
                   proxy_set_header Host  $host;
                   proxy_set_header X-Forwarded-For  $remote_addr;
                   proxy_pass http://backend_server;
              }

              access_log  off;
            }
          }



            3、啟動 Nginx:
          /usr/local/webserver/nginx/sbin/nginx




            4、清除指定的URL緩存示例:

            點擊在新窗口中瀏覽此圖片
            [文章作者:張宴 本文版本:v1.7.1 最后修改:2011.11.04 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/httpsqs/]

            HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 協議的輕量級開源簡單消息隊列服務,使用 Tokyo Cabinet 的 B+Tree Key/Value 數據庫來做數據的持久化存儲。

            項目網址http://code.google.com/p/httpsqs/
            使用文檔http://blog.www.lukangtou.cn/httpsqs/
            使用環境:Linux(同時支持32位、64位操作系統,推薦使用64位操作系統)
            軟件作者:張宴

            隊列(Queue)又稱先進先出表(First In First Out),即先進入隊列的元素,先從隊列中取出。加入元素的一頭叫“隊頭”,取出元素的一頭叫“隊尾”。利用消息隊列可以很好地異步處理數據傳送和存儲,當你頻繁地向數據庫中插入數據、頻繁地向搜索引擎提交數據,就可采取消息隊列來異步插入。另外,還可以將較慢的處理邏輯、有并發數量限制的處理邏輯,通過消息隊列放在后臺處理,例如FLV視頻轉換、發送手機短信、發送電子郵件等。

            HTTPSQS 具有以下特征:

            ● 非常簡單,基于 HTTP GET/POST 協議。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP協議的編程語言均可調用。
            ● 非??焖?,入隊列、出隊列速度超過10000次/秒。
            ● 高并發,支持上萬的并發連接,C10K不成問題。
            ● 支持多隊列。
            ● 單個隊列支持的最大隊列數量高達10億條。
            ● 低內存消耗,海量數據存儲,存儲幾十GB的數據只需不到100MB的物理內存緩沖區。
            ● 可以在不停止服務的情況下便捷地修改單個隊列的最大隊列數量。
            ● 可以實時查看隊列狀態(入隊列位置、出隊列位置、未讀隊列數量、最大隊列數量)。
            ● 可以查看指定隊列ID(隊列點)的內容,包括未出、已出的隊列內容。
            ● 查看隊列內容時,支持多字符集編碼。
            ● 源代碼不超過800行,適合二次開發。

            點擊在新窗口中瀏覽此圖片



            1、HTTPSQS 1.7 壓力測試:

            采用Apache ab命令進行壓力測試,開啟10個線程,放入10萬條文本數據(每條512字節)到隊列中:
            使用HTTP Keep-Alive時:23018 requests/sec
            關閉HTTP Keep-Alive時:11840 requests/sec

            采用Apache ab命令進行壓力測試,開啟10個線程,從隊列中取出10萬條文本數據(每條512字節):
            使用HTTP Keep-Alive時:25982 requests/sec
            關閉HTTP Keep-Alive時:13294 requests/sec

            詳細測試內容:http://code.google.com/p/httpsqs/wiki/BenchmarkTest

            生產環境應用:在金山游戲官網中,新聞、論壇帖子、客服公告、SNS社區等發生的增、刪、改操作,文本內容實時寫入HTTPSQS隊列,全站搜索引擎增量索引準實時(1分鐘內)更新的數據源取自HTTPSQS。HTTPSQS 2009年12月18日上線至今,運行穩定,既有來自Web服務器的入隊列操作,也有來自命令行腳本的批量入、出隊列操作。



            2、HTTPSQS 的生產環境應用:

            ●金山通行證(https://my.xoyo.com
            隊列應用類型:手機短信上行、手機短信下發、郵件下發
            隊列應用要求:穩定性高,存儲數據量大
            隊列部署結構:一主、一備兩臺 HTTPSQS 熱備模式

            ●金山用戶行為分析系統(http://kbi.xoyo.com
            隊列應用類型:用戶鼠標點擊、訪問URL原始數據采集
            隊列應用要求:并發性能高,存儲數據量大
            隊列部署結構:多臺 HTTPSQS 應用層哈希分布式模式

            ●金山網絡游戲運營平臺 KingEyes
            隊列應用類型:用戶操作日志記錄

            ●金山逍遙網站內搜索
            隊列應用類型:索引準實時更新。在金山游戲官網中,新聞、論壇帖子、客服公告、SNS社區等發生的增、刪、改操作,文本內容實時寫入HTTPSQS隊列,全站搜索引擎增量索引準實時(1分鐘內)更新的數據源取自HTTPSQS。

            ●金山逍遙網全站通用評論系統
            隊列應用類型:評論發表

            ●金山《劍俠情緣》電視連續劇四大角色人物選秀活動(http://zt.xoyo.com/haixuan/
            隊列應用類型:用戶上傳的照片異步裁剪、縮放處理

            ●新浪郵箱(http://mail.sina.com.cn
            隊列應用類型:用戶登陸日志記錄



            3、HTTPSQS 編譯安裝:

          Google 公共 DNS 解析服務器

          [不指定 2009-12-7 07:09 | by 張宴 ]
            Google 推出了公共的 DNS 解析服務器(Google Public DNS),可以用來代替 OpenDNS。Google承諾將嚴格遵循DNS協議,即不阻擋、不劫持和不過濾用戶查詢。Google Public DNS服務器IP非常好記,過目難忘:

          引用
          8.8.8.8        google-public-dns-a.google.com
          8.8.4.4        google-public-dns-b.google.com


            點擊在新窗口中瀏覽此圖片

            點擊在新窗口中瀏覽此圖片

            當然,短IP的DNS服務器還有以下這些:
          引用
          4.3.2.1
          4.2.2.1
          4.2.2.2
          4.2.2.3
          4.2.2.4
          4.2.2.5
          4.2.2.6

          Tags: , ,
            [文章作者:張宴 本文版本:v1.1 最后修改:2009.12.01 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/bo-blog_nginx_rewrite/]

            Bo-Blog是一款采用PHP開發的單用戶博客程序,本人的博客也采用的是Bo-Blog,個人覺得bo-blog的排版、易用性要比WordPress好得多,但擴展性不如WordPress。

            很多朋友向我詢問過,Bo-Blog的Nginx Rewrite規則如何寫。由于Bo-Blog官網只提供了Apache的Rewrite規則,這里,我將自己從 Bo-Blog 的 Apache Rewrite 規則轉換而來的 Bo-Blog 2.1.1 的 Nginx Rewrite 重寫規則貼在此處,供需要的朋友使用:
          引用
             if (!-e $request_filename)
             {
                rewrite ^/post/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /read.php?entryid=$1&page=$2&part=$3 last;
                rewrite ^/page/([0-9]+)/([0-9]+)/?$ /index.php?mode=$1&page=$2 last;
                rewrite ^/starred/([0-9]+)/?([0-9]+)?/?$ /star.php?mode=$1&page=$2 last;
                rewrite ^/category/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=category_$1&mode=$2&page=$3 last;
                rewrite ^/archiver/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=archive&cm=$1&cy=$2&mode=$3&page=$4 last;
                rewrite ^/date/([0-9]+)/([0-9]+)/([0-9]+)/?([0-9]+)?/?([0-9]+)?/?$ /index.php?go=showday_$1-$2-$3&mode=$4&page=$5 last;
                rewrite ^/user/([0-9]+)/?$ /view.php?go=user_$1 last;
                rewrite ^/tags/([^/]+)/?([0-9]+)?/?([0-9]+)?/?$ /tag.php?tag=$1&mode=$2&page=$3 last;
                rewrite ^/component/id/([0-9]+)/?$ /page.php?pageid=$1 last;
                rewrite ^/component/([^/]+)/?$ /page.php?pagealias=$1 last;

                #Force redirection for old rules
                rewrite ^/read\.php/([0-9]+)\.htm$ http://$host/post/$1/ permanent;
                rewrite ^/post/([0-9]+)\.htm$ http://$host/post/$1/ permanent;
                rewrite ^/post/([0-9]+)\_([0-9]+)\.htm$ http://$host/post/$1/$2/ permanent;
                rewrite ^/post/([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/post/$1/$2/$3/ permanent;
                rewrite ^/index\_([0-9]+)\_([0-9]+)\.htm$ http://$host/page/$1/$2/ permanent;
                rewrite ^/star\_([0-9]+)\_([0-9]+)\.htm$ http://$host/starred/$1/$2/ permanent;
                rewrite ^/category\_([0-9]+)\.htm$ http://$host/category/$1/ permanent;
                rewrite ^/category\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/category/$1/$2/$3/ permanent;
                rewrite ^/archive\_([0-9]+)\_([0-9]+)\.htm$ http://$host/archiver/$1/$2/ permanent;
                rewrite ^/archive\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/archiver/$1/$2/$3/$4/ permanent;
                rewrite ^/showday\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/date/$1/$2/$3/ permanent;
                rewrite ^/showday\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\_([0-9]+)\.htm$ http://$host/date/$1/$2/$3/$4/$5/ permanent;

                #Filename alias
                rewrite ^/([a-zA-Z0-9_-]+)/?([0-9]+)?/?([0-9]+)?/?$ /read.php?blogalias=$1&page=$2&part=$3 last;
             }


            PS:2009-12-01修正一處錯誤,之前文章中的if (!-x更換為if (!-e
            [文章作者:張宴 本文版本:v1.0 最后修改:2009.11.14 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/startssl/]

            HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容請看SSL。

            它是一個URI scheme(抽象標識符體系),句法類同http:體系。用于安全的HTTP數據傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,現在它被廣泛用于萬維網上安全敏感的通訊,例如交易支付方面。



            1、自行頒發不受瀏覽器信任的SSL證書:
            HTTPS的SSL證書可以自行頒發,Linux下的頒發步驟如下:
          openssl genrsa -des3 -out api.bz.key 1024
          openssl req -new -key api.bz.key -out api.bz.csr
          openssl rsa -in api.bz.key -out api.bz_nopass.key

            點擊在新窗口中瀏覽此圖片

            Nginx.conf的SSL證書配置,使用api.bz_nopass.key,在啟動Nginx是無需輸入SSL證書密碼,而使用api.bz.key則需要輸入密碼:
          引用
          server
          {
             server_name sms.api.bz;
             listen  443;
             index index.html index.htm index.php;

             root  /data0/htdocs/api.bz;

             ssl on;
             ssl_certificate api.bz.crt;
             ssl_certificate_key api.bz_nopass.key;
             ......
          }


            自行頒發的SSL證書雖然能夠實現加密傳輸功能,但得不到瀏覽器的信任,會出現以下提示:
            點擊在新窗口中瀏覽此圖片



            2、受瀏覽器信任的StartSSL免費SSL證書:
            點擊在新窗口中瀏覽此圖片

            http://campus.kingsoft.com/

            2009年11月8日14:10,將和其他同事一道,乘坐東方航空MU2120航班飛往西安,參加金山軟件2010校園招聘西安站的大招會。

            點擊在新窗口中瀏覽此圖片

            金山逍遙網校園招聘的研發類崗位如下,我們張開雙臂歡迎各位青年才俊的加盟:

            北京金山網絡游戲KSG

            北京逍遙網研發

            逍遙網系統工程師
            工作職責:
            1、服務器安裝、配置、調優;
            2、常用環境搭建,如:apache、php、mysql、nginx、memcache等;
            3、系統腳本編寫,數據統計。
            任職資格:
            1、熟悉網絡理論(如OSI七層模型,TCP狀態機),網絡協議(TCP/IP)等;
            2、了解各種網絡設備的配置調試及故障分析;
            3、熟練linux上c++/c網絡編程,了解cgi,berkly bd編程、熟練多線程開發;
            3、熟悉UNIX系統,具備一定的腳本開發能力(Perl,PHP,C,shell script等);
            4、愿意積極主動的思考如何把工作做好;
            5、有團隊合作精神,能夠承受較大的工作壓力。
            注:請附以往能證明個人專業能力的資料如代碼。

            逍遙網FLEX工程師
            工作職責:
            1、配合業務需要開發前端應用;
            2、根據社區業務開發前端應用。
            任職資格:
            1、熟練使用Action Script 3.0在FlexBuilder環境下開發;
            2、熟練使用Flex與AIR的標準組件;
            3、熟悉Flash小游戲開發;
            4、品行良好,性格開朗,具備良好的溝通能力;
            5、熟悉社區應用。
            注:請附以往能證明個人專業能力的資料如代碼。

            逍遙網PHP工程師
            工作職責:
            1、熟悉apache+php5 + mysql 開發;
            2、了解PHP主流框架,且有一定的使用經驗;
            3、了解各種設計模式,并能應用在開發當中;
            4、了解json、AJAX技術和模板技術,了解css+div和JavaScript;
            5、具有文檔編寫能力,面向對象的編程思想,優良的編程風格和習慣;
            6、了解LAMP構架,有一定的環境配置及維護經驗;
            7、較強的團隊協作能力、溝通能力和學習能力。
            任職資格:
            1、熟練PHP開發;
            2、熟練使用CSS,HTML,javascript;
            3、扎實的SQL知識,熟練使用MySQL;
            4、良好的SQL,PL/SQL編程技巧,有在Mysql下的編程經驗;
            5、具有獨立解決問題的能力及團隊合作精神。
            注:請附以往能證明個人專業能力的資料如代碼。

            逍遙網JAVA工程師
            工作職責:
            1、根據業務需要進行底層應用開發;
            2、根據社區業務需要進行OPENAPI相關開發。
            任職資格:
            1、對Java面向對象軟件結構有深入理解以及很強的應用能力;
            2、能夠熟練應用JSP/Servlet/JavaScript等WEB開發技術,熟悉Spring,Struts和Hibernate等主流的開發框架;
            3、了解數據庫的基本理論和內部實現機制,有大數據量的數據庫設計能力;
            4、了解TCP/IP、HTTP等協議,有網絡編程及多線程開發經驗;
            5、熟悉社區應用、了解OPENAPI相關技術;
            6、較強的自學能力,思維清晰;
            7、有較好的溝通交流能力。
            注:請附以往能證明個人專業能力的資料如代碼。

            此外,還有逍遙網測試、編輯、運營等其他崗位,以及金山軟件其他部門的招聘崗位,詳見:

            金山軟件2010全國校園招聘會--招聘職位



            [文章作者:張宴 本文版本:v1.0 最后修改:2009.11.01 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/dips/]

            2009年10月28日,在金山逍遙技術支持部內部分享會上,介紹了Gearman分布式計算框架與金山逍遙DIPS分布式圖片處理平臺,以下是PPT圖片:

            點擊在新窗口中瀏覽此圖片
            點擊在新窗口中瀏覽此圖片
            點擊在新窗口中瀏覽此圖片

            CSDN SD2.0大會官網:http://sd2china.csdn.net/

            新浪科技SD2.0大會專題:http://tech.sina.com.cn/focus/CSDN_2009/

            24日Web分場:http://sd2china.csdn.net/schedule#schedule3

            《高性能Web服務器Nginx及相關新技術的應用實踐》PPT下載:


            FLash版本在線瀏覽:


          Tags: , , ,
            VPN的英文全稱是“Virtual Private Network”,翻譯過來就是“虛擬專用網絡”。顧名思義,虛擬專用網絡我們可以把它理解成是虛擬出來的企業內部專線。它可以通過特殊的加密的通訊協議在連接在Internet上的位于不同地方的兩個或多個企業內部網之間建立一條專有的通訊線路,就好比是架設了一條專線一樣,但是它并不需要真正的去鋪設光纜之類的物理線路。這就好比去電信局申請專線,但是不用給鋪設線路的費用,也不用購買路由器等硬件設備。VPN技術原是路由器具有的重要技術之一,目前在交換機,防火墻設備或Windows等軟件里也都支持VPN功能,一句話,VPN的核心就是在利用公共網絡建立虛擬私有網。

            虛擬專用網(VPN)被定義為通過一個公用網絡(通常是因特網)建立一個臨時的、安全的連接,是一條穿過混亂的公用網絡的安全、穩定的隧道。虛擬專用網是對企業內部網的擴展。虛擬專用網可以幫助遠程用戶、公司分支機構、商業伙伴及供應商同公司的內部網建立可信的安全連接,并保證數據的安全傳輸。虛擬專用網可用于不斷增長的移動用戶的全球因特網接入,以實現安全連接;可用于實現企業網站之間安全通信的虛擬專用線路,用于經濟有效地連接到商業伙伴和用戶的安全外聯網虛擬專用網。

            PPTP 全稱為 Point to Point Tunneling Protocol -- 點到點隧道協議,是VPN協議中的一種。

            一、CentOS 5.3 下 PPTP VPN 服務器安裝

            1、安裝相關軟件
            32位版:
          yum install -y ppp iptables
          wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm
          rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm

            64位版:
          yum install -y ppp iptables
          wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm
          rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm


            2、配置文件編寫
            ①、配置文件/etc/ppp/options.pptpd
          mv /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
          vi /etc/ppp/options.pptpd

            輸入以下內容:
          name pptpd
          refuse-pap
          refuse-chap
          refuse-mschap
          require-mschap-v2
          require-mppe-128
          proxyarp
          lock
          nobsdcomp
          novj
          novjccomp
          nologfd
          idle 2592000
          ms-dns 8.8.8.8
          ms-dns 8.8.4.4



            ②、配置文件/etc/ppp/chap-secrets
          mv /etc/ppp/chap-secrets /etc/ppp/chap-secrets.bak
          vi /etc/ppp/chap-secrets

            輸入以下內容
          # Secrets for authentication using CHAP
          # client        server  secret                  IP addresses
          myusername pptpd mypassword *

            注:這里的myusername和mypassword即為PPTP VPN的登錄用戶名和密碼



            ③、配置文件/etc/pptpd.conf
          mv /etc/pptpd.conf /etc/pptpd.conf.bak
          vi /etc/pptpd.conf

            輸入以下內容:
          option /etc/ppp/options.pptpd
          logwtmp
          localip 192.168.9.1
          remoteip 192.168.9.11-30

            注:為撥入VPN的用戶動態分配192.168.9.11~192.168.9.30之間的IP
          Tags: , , ,
            今天上午,參觀了1938年黃河花園口決堤處。

            花園口位于鄭州市區北郊17公里處的黃河南岸??谷諔馉庨_始后,侵華日軍沿平漢、津浦兩路南下。1938年5月19日,徐州失守,日軍沿隴海路西犯,于6月初攻陷開封,接著跟蹤西進,抵達距離鄭州不足百里的地方。鄭州是隴海、平漢鐵路的交匯處,北扼黃河天險,鄭州一失,不但阻斷各個戰區間的鐵路交通,而且將會導致西安、武漢無險可守的嚴重局面。而此時在河南境內的國民黨主力部隊多為徐州戰場撤下的疲兵,尚未得到休整,已無力再戰。為了阻止日軍侵犯中原,1938年6月9日,蔣介石采取“以水代兵”的辦法,下令扒開花園口黃河大堤,黃河水洶涌而出,一瀉千里。它在一定程度上實現了阻截日軍西進南下的目的,日軍第14、第16師團陷入困境,但同時也給豫、皖、蘇的中國百姓帶來了深重的災難,淹沒耕地1200余萬畝,造成黃泛區,共計有1200萬人受災,390萬人流離失所,89萬人死亡,震驚全世界。

            花園口的決堤主要責任是由于國民政府國民革命軍中的中央軍的主要將領桂永清和黃杰不聽調遣,貪生怕死,擅自逃跑,導致原來制定的蘭封作戰計劃全盤崩潰。最后才出此下策。

            花園口決堤給日軍造成重大傷亡,據日本防衛廳防衛研究所戰史室編寫的《中國事變陸軍作戰史》記載,洪水之后日軍于6月17日以航空兵團全力援助困于河水的第十六師團方面的補給。用運輸機、輕重轟炸機,在6月16至24日之間給兩個師團投下補給糧秣、衛生材料不計其數。6月29日,日軍在徐州舉行聯合追悼大會。僅第二軍死于洪水人數便達到7452名之多。

            決堤后,由于形成黃泛區這一巨大地障,迫使敵人于平漢路以東停止前進,從而消除了唐、白河流域及漢水中游面臨的威脅。并守住了軍事重地鄭州。

            戰后蔣中正(字介石)調撥了大量資金修復黃河大堤,史稱“黃河歸故”,即恢復故道。

            點擊在新窗口中瀏覽此圖片
            [文章作者:張宴 本文版本:v1.1 最后修改:2010.09.03 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/tcsql/]

            曾經有人提出,一般數據庫緩存分為四種。第一種:單個對象的緩存(一個對象就是數據庫一條記錄),對于單個對象的臨時緩存或永久緩存,用HashMap就可以了,Key-Value方式的Memcached、Memcachedb、Tokyo Tyrant都可以,或者直接對查詢數據庫的網頁采用Squid做緩存,沒什么太難的;第二種:列表緩存,就像論壇里帖子的列表;第三種:記錄條數的緩存,比如一個論壇板塊里有多少個帖子,這樣才方便實現分頁。第四種:復雜一點的group,sum,count查詢,比如一個論壇里按點擊數排名的最HOT的帖子列表。第一種比較好實現,后面三種比較困難,雖然可以通過各種方法來解決,但截至目前,似乎還沒有使用即簡單、并發處理能力又強、實時性又高的解決辦法。



            TCSQL為列表頁的實時緩存而生,是金山逍遙網技術支持部平臺組以Tokyo Cabinet DBM為底層存儲與索引,結合類似Memcached的Key-Value內存對象緩存,借鑒SQL語句的SELECT、INSERT、UPDATE、DELETE思想與功能開發的實時列表緩存數據庫,能夠較好地解決上述前三種類別,特別是第二種、第三種類別的高并發讀寫問題。

            TCSQL采用HTTP GET/POST協議+JSON數據交換格式在客戶端、服務器端之間進行數據交互,支持HTTP協議的任何客戶端或語言(例如JavaScript、PHP、JSP、Perl、Python等),都能夠連接TCSQL服務器進行操作。這就意味著,一些查詢量非常大的應用,甚至可以直接使用運行在用戶瀏覽器端的JavaScript代碼訪問TCSQL數據庫,當然,為了安全起見,你可以在中間用Nginx配以rewrite規則,對TCSQL做個反向代理,限制一下查詢權限。

            利用開源的MySQL UDF自定義函數擴展lib_mysqludf_urlencode、lib_mysqludf_urlencode,以及我們平臺組周洋同學編寫的lib_mysqludf_http_post擴展,配以MySQL觸發器,我們可以在MySQL的某張表發生插入、更新、刪除操作時,自動將數據同步到TCSQL數據庫,使得TCSQL可以當MySQL從庫一樣使用。

            TCSQL實時列表緩存數據庫單機能夠支撐1萬以上的并發連接,QPS(每秒查詢率)能夠達到5000~15000次。

          點擊在新窗口中瀏覽此圖片

            以下是TCSQL在10000并發連接情況下的查詢速度(服務器為浪潮NF190服務器,兩顆雙核Xeon(TM) CPU 2.80GHz、4GB內存、1萬轉SCSI硬盤。):

            1、第一種類型A:主鍵查詢并取出倒序第1條記錄(“=”運算):12155次請求/秒

            查詢內容:http://192.168.8.34:3888/?command=select&type=*&where=pkey:NUMEQ:隨機數值&order_by=pkey&order_sort=NUMDESC&limit_skip=0&limit_max=1

            測試結果:
          引用
          Benchmarking: 10000 clients, running 60 sec.

          Speed=729324 pages/min, 8031913 bytes/sec.
          Requests: 60777 susceed, 0 failed.


            2、第一種類型B:其他索引鍵查詢并取出倒序第1條記錄(“=”運算):11897次請求/秒

            查詢內容:http://192.168.8.34:3888/?command=select&type=*&where=uid:NUMEQ:隨機數值&order_by=pkey&order_sort=NUMDESC&limit_skip=0&limit_max=1

            測試結果:
          引用
          Benchmarking: 10000 clients, running 60 sec.

          Speed=713856 pages/min, 7865884 bytes/sec.
          Requests: 59488 susceed, 0 failed.


            3、第二種類型:根據復合條件查詢并取出倒序前10條記錄:8778次請求/秒(相當于SELECT * FROM table WHERE dateline >= 隨機時間戳 AND idtype = '變換的文本' ORDER BY pkey DESC LIMIT 0,10)

            查詢內容:http://192.168.8.34:3888/?command=select&type=*&where=dateline:NUMGE:隨機時間戳|idtype:STREQ:變換的文本&order_by=pkey&order_sort=NUMDESC&limit_skip=0&limit_max=10

            測試結果:
          引用
          Benchmarking: 10000 clients, running 60 sec.

          Speed=526680 pages/min, 8971878 bytes/sec.
          Requests: 43890 susceed, 0 failed.


            4、第三種類型:統計符合查詢條件的記錄數量:9160次請求/秒(相當于SELECT count(*) FROM table WHERE dateline >= 隨機時間戳 AND idtype = '變換的文本')

            查詢內容:http://192.168.8.34:3888/?command=select&type=count&where=dateline:NUMGE:隨機時間戳|idtype:STREQ:變換的文本

            測試結果:
          引用
          Benchmarking: 10000 clients, running 5 sec.

          Speed=549648 pages/min, 714542 bytes/sec.
          Requests: 45804 susceed, 0 failed.


            六載霜華,礪成一劍!

          點擊在新窗口中瀏覽此圖片  今日,超期待國產武俠網游巨作《劍俠情緣網絡版叁》(以下簡稱《劍網3》)正式開放公測客戶端下載,這預示著公測的腳步越來越近了!而就在此時,央視品牌節目《新聞聯播》在重要位置對《劍網3》做出報道,充分肯定這款國產大作在傳承中華優秀文化方面的巨大貢獻,也從側面反映出《劍網3》的影響力之光、玩家期待之高!

            《劍網3》是經典武俠品牌“劍俠情緣”系列首款3D作品,由國內老牌游戲工作室──金山軟件公司西山居歷時六年、投入過億巨資研發而成。作為國產武俠網游的領袖之作,《劍網3》一經面市就引起業界轟動,其精美的游戲畫面和純正的武俠風韻更是讓人嘆為觀止,一舉奪得各大游戲期待榜榜首位置。時至今日,《劍網3》已經過三輪測試,各方面品質臻于完善,有望于8月末進入公測。

            8月15日,央視《新聞聯播》在大約第4分鐘報道了國產網絡游戲近幾年來取得的巨大進步,其中《劍網3》作為代表產品備受推崇。央視報道,《劍網3》薈萃了中華傳統文化中琴棋書畫等各種藝術,給玩家帶來耳目一新的感覺。此外,金山網游良好的客服和出口海外的優異戰績也受到央視稱贊。

            據悉,近段時間,網絡游戲成為央視等主流媒體關注的焦點,但大多是網癮、侵權等負面話題,此次《劍網3》受到央視推崇,有助于樹立網絡游戲的正面形象。



            CCTV 8月15日新聞聯播關于金山游戲《劍網3》的報道視頻:


            《劍網3》公測客戶端下載地址:http://jx3.xoyo.com/download

            《劍網3》官網:http://jx3.xoyo.com/

            點擊在新窗口中瀏覽此圖片

          分頁: 5/31 第一頁 上頁 1 2 3 4 5 6 7 8 9 10 下頁 最后頁 [ 顯示模式: 摘要 | 列表 ]
          在线精品国产在线视频