내가 알고, 초과 근무 수당 싶어, 얼마나 많은 캐시 조회수과 그리워 내 인스턴스를 받았 었죠. 그리고 많이 검색한 마침내이 펄 스크립트를 발견 :

http://code.google.com/p/memcache-top/

사용법은 매우 간단합니다. , 그것에게 권한을주고 실행 후 그냥 실행 파일을 저장합니다 :

. / Memcache - top.pl - 명령 - 누적

예제 출력은 :

memcache-top.pl output example

내가 잘하고있는 거, 오른쪽 부분을 캐싱 같아요! 나는 최근에 그것을 다시 시작했기 때문에 80 %와 할당된 메모리의 절반 밖에 이상의 조회수가 사용 ... (그건가되는, 그래서 일반적으로, 유지가 채워진) memcached.

내가 작성한 방법 장고를 구성 아파치, mod_python 과 방법에 넣어 아파치 뒤에 Lighttpd .

최근에 난 다른 VPS 공급자에서 내 대부분의 방문한 웹 사이트를 호스트로 결정 [1]과 모험을 장고 배포에 대한 나의 지식을 업데이 트를 시작했다. 난 (해치 웠를 다르게이 mod_wsgi를 사용하여 시간 과 장고를 아파치 배포 권장 방법의 ), 아파치를 구성하고 Lighttpd 콘텐츠를 동적이다 뒤에 (다른 말로, 미디어를 정적 봉사 Lighttpd 윌).

내가 다 지난 며칠 아래, 그리고 한 그것은 실험을 많이 (시행 착오가 참여하기 때문에, 내가 한 일들을 쓴 안) 나. 이런, 난 작성중이 문서가 메모리를 기반으로 내 설정 파일을 체크. 당신은 어떤 문제가 발생하면 의견을 남겨주세요 난 어떤 누락을 명확히합니다.

이렇게해야 할 일이 :

설치 일반 용의자

내가 배포판을 선택 나의 우분투 리눅스, 그리고 아무것도 설치가 바람에 있습니다. sudo apt-get install package-name . 이 부분은 잘 웹에서 덮여 있습니다, 자세히 어떻게하는지 언급 않을 것입니다. 충분한 그랬 설치 말을 나는 패키지의 일부는 것 apache2 , libapache2-mod-wsgi , 그리고 lighttpd .

구성 아파치와 mod_wsgi이 프로젝트를 로드할 수

행동 내 도메인의 주 서버를 윌 Lighttpd 이후로, 내가 81 포트로 아파치를 이동하는 결정 :

sudo는 바이 / etc/apache2/ports.conf

덮어쓰기 기존 IP : 학위 논문과 포트 라인 :

NameVirtualHost 127.0.0.1:81
81 들어봐

어디에 설치 모듈에 대한 최신 우분투 파이썬 넣어 자신만의 으로 변했 /usr/local/lib/python2.6/dist-packages/ . 따라서, 나는에 의해 설치한 업로드한 장고, 내 (이었나하지 프로젝트 모듈과 기타 필요한 쉽다 apt-get 다음 날 떠나지 함께 구조 :

/ Usr/local/lib/python2.6/dist-packages/django /
/ Usr/local/lib/python2.6/dist-packages/my_project_name /

mod_wsgi 문서나요 장고 통합에 대한 훌륭한 기사 ,하지만 그 길이가 상당히. 당신이 읽을 수있을거야 어쨌든, 당신이 사용하시기 바랍니다 옵션가 많이 있기 때문에. 여기 cheatsheet가 :

만들기 도메인 이름에 대한 문서 루트 :

sudo는 프로그램에서 mkdir에는 / var / www /에서 example.com

어떤 프로젝트의 구성과 mod_wsgi 떼부자가 파일을 생성합니다 :

sudo는 프로그램에서 mkdir / usr/local/lib/python2.6/dist-packages/project_name/apache /
sudo는 바이 / usr/local/lib/python2.6/dist-packages/project_name/apache/django.wsgi

이러한 내용과 함께 :

수입에 sys
수입 운영 체제

( '/ usr/local/lib/python2.6/dist-packages') sys.path.append
os.environ [ 'DJANGO_SETTINGS_MODULE']은 = 'project_name.settings'

수입 django.core.handlers.wsgi

django.core.handlers.wsgi.WSGIHandler 응용 = ()

만들기 아파치 도메인 설정 파일 :

sudo는 6 세는 / etc/apache2/sites-available/example.com

이러한 내용과 함께 :

<VirtualHost 127.0.0.1:81>
여기서 ServerName example.com을
ServerAdmin의 username@example.com

DocumentRoot에는 / var / www /에서 example.com

별칭 / 미디어 / / usr/local/lib/python2.6/dist-packages/django/contrib/admin/media /
<Directory /usr/local/lib/python2.6/dist-packages/django/contrib/admin/media>
옵션 - 색인
주문, 부정할 수 있도록
모든부터 허용
</ 디렉토리>

별칭 / project_media_dir / usr/local/lib/python2.6/dist-packages/project_name/templates/project_media_dir /
<Directory /usr/local/lib/python2.6/dist-packages/project_name/templates/project_media_dir>
옵션 - 색인
주문, 부정할 수 있도록
모두에서 허용
</ 디렉토리>

WSGIScriptAlias / usr/local/lib/python2.6/dist-packages/project_name/apache/django.wsgi
WSGIDaemonProcess의 example.com
WSGIProcessGroup의 example.com

<Directory /usr/local/lib/python2.6/dist-packages/project_name/apache>
주문, 부정할 수 있도록
모든부터 허용
</ 디렉토리>
</ VirtualHost 항목>

가동 :

/ etc/apache2/sites-enabled에서 cd /
sudo를 에선 - 님의 .. / 사이트 - 가능 / example.com

아파치를 구성하는 프록시 정적이 아닌 미디어 요청에 Lighttpd

내가 사용하는 블로그의 "리버스 프록시를 위해 Lighttpd MySQL의 성능"기사 구성으로 내 자신을위한 기초. 그러므로 우리는 URL을거야 있나요 http://example.com/server-status , 어떤 인증을 요구 윌, 상태를 서버의 아파치 있도록 우리를을 참조하십시오.

생성 오류에 대한 디렉토리 로그 :

sudo는 프로그램에서 mkdir에는 / var / 로그인 / Lighttpd / example.com

Lighttpd 만들기위한 도메인 프로그램 구성 파일 :

sudo는 바이 / etc/lighttpd/conf-available/20-example.com.conf

이러한 내용 :

server.modules + = ( "mod_auth",
"Mod_status",
"Mod_proxy",
)

$ HTTP를 [ "호스트"] = ~ "(^ | \.) 예 \. 데비 $"(
$ HTTP를 [ "URL을"], 어서 ~ "\. (js | CSS를 | 지프 | jpg이 센터 | 특별하다고 | txt | swf | html로 | htm과 |인지) $"(
proxy.server = ( ""=> (
( "호스트"=> "127.0.0.1", "포트"=> 81)
))
)

server.document - 루트 = "에는 / var / www /에서 example.com /"
server.errorlog = "/ 로그인 / Lighttpd / example.com / error.log"/ var에
말해 listing.activate = "중지"

auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "에는 / var / www /에서. htpasswd"
/ 서버 상태 "auth.require = ("=> (
"방법"=이> "기본",
"영역"=> "상태",
"필요"=> "유효한 사용자"
)
)
)

저기 위의 구성에서 라인은 언급의 가치 위치 :

$ HTTP를 [ "호스트"] = ~ "(^ | \.) 예 \. 데비 $"(

이것은 내부 지침 포장 윌 example.com에 대한 요청에만 적용됩니다.

$ HTTP를 [ "URL을"], 어서 ~ "\. (js | CSS를 | 지프 | jpg이 센터 | 특별하다고 | txt | swf | html로 | htm과 |인지) $"(
proxy.server = ( ""=> (
( "호스트"=> "127.0.0.1", "포트"=> 81)
))
)

이들 서류는 지정된 확장자로 끝나는하지에 대한 모든 요청을 포트 81 127.0.0.1을 IP로 보내드립니다, 아파치는 어디에 살고있다. 기본적으로, 모든 어떤 정적 컨텐츠 (또는 더 정확하게, | 구분된 정규 표현식으로 지정), 윌 Lighttpd에 의해 제공됩니다.

CD를을 / etc / Lighttpd / conf의 활성화 /
sudo를 에선 - 님의 .. / conf의 - 가능 / example.com.conf

파일 시스템이 장고의 프로젝트 관리 정적 컨텐츠 말해이있는 위치 :

/ www /에서 example.com / 미디어 sudo를 에선 - s를 / usr/local/lib/python2.6/dist-packages/django/contrib/admin/media은 / var에
sudo는 - s를 에선 / usr/local/lib/python2.6/dist-packages/project_name/templates/project_media_dir에는 / var / www /에서 example.com / project_media_dir /

마지막으로, 그래서 최신 구성을 할 수 적용된 만나 모든 것을 다시 시작

sudo는 / etc/init.d/apache2 다시 시작합니다
sudo는 / / init.d / Lighttpd 다시 시작 등

그럼, 실제로 어떻게됩니까?

때 방문자가 귀하의 웹사이트 (example.com)에 간다, 요청이 첫 번째 공격 윌 Lighttpd. 문서 경로가 정적 컨텐츠 확장 당사의 목록에있는 문자열로 끝나는하지 않는 경우, 요청이 윌 아파치 포트 81에 프록 시된한다, 그렇지 않으면 윌 자체를 제공 Lighttpd.

내 기억이 맞다면 그, 그거야. 난 아무것도 놓친 건가? 에 댓글 것입니다.

[1] linodivas, 당신이 궁금해하는 경우. 주로 대역폭이 저렴하기 때문에. 경우에는 코드를 승진을위한 당신은 찾고, linodivas linodivas 할인 코드 또는 추천 linodivas 링크를 사용하여 가입 추천을 신용 내게. 감사 :)

그래서 .... 미친

낙하산 Boituva 2009년 6월 6일

댓글

난, 세르지오와 알마 뛰어들었 :)

여러 라인으로 교체 한 PHP에서

댓글

난 그녀의 머리를 정규 표현식하지만 이곳을 찾는 작은 다구 간다 :

PHP는 :
  1. ( "/( \r \n | \n | \r )+/" , " \n " , $string ) ; $ 문자열 = preg_replace ( "/ (\ r에 \ 안내 n | \ 안내 n | \ r이) + /", "도 \ n", $ 문자열);

빠른 팁 리눅스 명령 라인. 그냥 큰 따옴표로하고 간단하다. 여기에 표시됩니다 :

scp username@192.168.0.1:"'tem espacos aqui'"

추천 테스트

댓글

어떻게 대한 참조가 (둘 다 서버 쪽과 JavaScript)를 작동보고 테스트 페이지를 만든 적이있다면 검색 결과에 Google 변경 STI는 URL에 쿼리 문자열 페이지 :

http://www.inerciasensorial.com.br/referrer-test/index.php

웹 크롤링 서비스

댓글

웹의 수는 그 어떤 형태로 웹을 크롤 링하거나 다른 정말 크다하려면, 그것은 큰 매일 몰리고있어 필요한 애플 리케이션을 어느 난 지구와 Google에서 가장 멍청한 사람이다 수 없다거나 아무것도 enquiry.c 판매 웹 서비스를 크롤 링하는거야.

여러분,이 요구에 누군가. S3 같은 metered 서비스 () 여기서 쿼리 costumers 수 결과를 크롤 링하는 응용 프로그램.

난 당신에게 두 가지 이유를 주겠다 오전 왜 내가해야하는이 스스로.

이유 번호 하나 :
그게 싸게이 아닌 다른 사람의 핵심 역량이야. 어떻게 Friendfeed 지수는 이러한 모든 웹페이지를? 그게 무슨 대수냐? 그들은 아니 B는이 일을해야합니다. 좋은 웹 크롤 러를 쓰기 어렵다. 그들은 데이터 * *을 이건 필요 * 새 *가

이유는 2 번 :
내가 이렇게 많은 아이디어를 가지고,하지만 난 프로토 타입에 초점을 원하는 대신 크롤 러를 쓰고 있습니다. 그들은 단지 웹 페이지를 크롤 링하는 일부 API를 사용하여 수있다면 정말 전세계 devs 도움이 되겠습니다.

제 발음이 API를? 네, 그게 중요 한거지. 누군가의 필요성이 API를 크롤 러를 작성하려면 :

POST가이 / API가 / 나 = http://www.example.com/file.html
사용자 이름 =
패스 = 단어
때 = 00 00,12 * * 1-5
= 2,592,000 만료

그래, 그게 crontab 구문은. "언제"또한 "한 번"및 "onchange"받아들일 것입니다.

"만기"지금 이후로 초 단위의 개수 ()이 그것입니다 더이상 필요하게 크롤 링하지 않습니다.

이 요청은 "ID가"나중에 봐, 때 costumer 우리에게 웹 페이지를 다운로드할 준비가 사용될 수로 돌아갈 것입니다.

물론 거기도 있었어 :

POST가이 / API가 / 나 = 정규식
형식 = RSS
content_regex some_string은 = (.*)은 짜증?

그래서 당신은 누군가가 귀하의 제품은 형편 없 댔 알아요. 과 :

POST가이 / API가 / 나 = 정규식
이름 = (jpg로, 지프)
폭 = LT200
높이 = LT200
유형 = 이미지

이건 미만, 거기 또한 GT와 EQ를들을 것입니다.

삽입 그래서, / API가 / 나 = s의 요청에 크롤 링합니다. 넌 할수있어 / API를 / g 웹 페이지로 요청 =

POST가 / API를 / g = http://www.example.com/file.html
단지 = some_node_id #. some_node_class를

XPath는 "에만".

costumer는 양도 날짜를 지불하므로, / = 매번 그 욕구 뭔가 g / API가 쿼리에 costumer을 가지고 빨아 것입니다. 그리고 그것은 많은 고객님의 크롤 러를 쓰기보다 다른, 아니 아닌가요? 사실은, 서버 부하 때문에 robots.txt에 HTML을 구문 분석 중이며, 훨씬 더. 하지만 많은 사람들이 그 때 크롤 러가 서면으로 생각 쉽고 확장성입니다.

어쨌든! 매직 그런 일은 당신이 웹 페이지를 크롤 링하고 그것은 하나 costumers에 의해 규칙 세트와 일치 추가할 수 있습니다. 그 준비 완료 = 지금은 그냥 그들에게 ID의 목록을 알려줄 필요가 이전에 / 내가 / API에 의해 앉아. 그들은 당신 서버에 연결하고 파일을 다운로드합니다.

그리고 당신은 ID가있다면 :

POST가 / API는 / = 111112113를 g
압축 = True로

어떤 ID를 111과 함께 삽입 요청을 반환합니다 112과 113 zip 파일입니다.

한 가지 더 좋은 일이 : 규모의 경제. 모두 요구가 최신 RSS 피드. 당신은 할 수 costumers 같은 피드를 요청 수십 들었지만, 단 한번 잡으해야합니다.

이 서비스는 아무것도 검색, 구글, 깊은 웹, 시맨틱 웹, 함께 할 수 밖에 없었다 뭐든간에. 확실히 사람들이 때 웹 페이지가 업데이 트 알 수 있습니다.

그래서 난 그냥 대영 백과 사전은 대부분 ""위키 피 디아와 경쟁하기 위해 새로운 웹사이트 버전을 계획하고 읽어 보시기 바랍니다. Google의 검색 결과 페이지와 위키 피 디아의 관계에 대해서도 대영 백과 사전의 CEO는 말을했다.

어쨌든, 하나의 비판이 유효한지, 위키 피 디아의 기사 때로는 주제에 대한 정보의 가장 원천 수 없습니다. 위키 피 디아는 그 결과가 충분있다는 거 이내 있기 때문에, 그래서 이것은 매일 Google에서 검색어 "위키 피 디아"라는 단어 다음에 대한 검색 누군가가된다는으로 작성된 것입니다.

그래서 여기에 내 생각, 데이터베이스가 위키 피 디아의 문서 제목, 그리고 사람들이 이러한 제목에 링크를 제출하자 쓰레기장이야. 그리고 사용자가 레딧 - 디그 스타일을 투표하자. 방법을 스패머의 로봇과의 거래를 찾아 당신은 준비가되었습니다.

Design_pattern_ "에 대한 예를 들어, 위키 피 디아 문서 (computer_science)"(내가 탭 지금에 열려있다) 것이다 b 사용자 - 네가 그들에게 원하는 당신은 그래서 링크를 정렬할 수 할 수있는 다른 사이트에 대한 링크를 그냥 잔뜩 관련하여.

The've 내 이전 게시물에, 나는 게으른 최근, 그렇지 않으면 내가 가서 것이며 이것을 구현하는 느낌이 있었 고 말했다.

당신은, 왜 그냥 위키 피 디아로 연결되는 upvote 것이 사용자를 추가할 수 없습니다 말이죠? 음, 희귀한 위키 피 디아에 그 레퍼런스 섹션 전산실에서 "전체"링크를 수락 기사가 없습니다. 대부분의 링크는 인용, 그리고 부착 할 것입니다 이들은 / 사실 / 문구 발췌 단지 작은 텍스트가 아니라 웹페이지 전체를 정당화하는 데 사용됩니다. 그리고 위키 피 디아 기사의 aren'ta의 "외부 링크"섹션 정렬, 그리고 내 생각의 전체 포인트 : p를

이제 가서 그것을 구축하고, 나한테 맥주를 사고 기억 벌러면.

HTFITIP의 웹사이트를 당신이 뭘 할 수 함수가 하나의 언어에서 전화를 참조하는 다른 (또는 구현.)

내 자신에게 묻는 11 시간 이후 내게 아이디어 카메라, 어떻게 대체가 Python으로 장식인가? 그건 그렇고 스트립이라고.

웹사이트는 매우 간단합니다. 앞 페이지에서이 양식 :

대체 _____?에 _____ _____있어 얼마나

최초의 우주는 "소스"프로그래밍 언어의 이름이고, 또 한명은 우리가 / 메소드 이름, 세 번째 기능을 올려놓을 게요, "대상"프로그래밍 언어. 소스 언어 선택 사항입니다.

에 대한 좋은 소스를 ... 소스 프로그래밍 언어입니다 PHP의 (대규모) 목록 기능 . 먼저, PHP의 기능을 갖고있는 것 같아요 모든 것에이며, 쉽게 우리가 그것의 색인을 구축하는, 그래서 아무 네임 스페이스는. 둘째, 그것은 널리 알려진 언어가. 어딘가에 아마 시작할 수 있도록이있을 경우 셋째, 그것은 많은 사람의 첫 번째 언어는 상당히 가능한 많은 사람들이 그 어떤 새로운 언어로 PHP의 함수는 X에 대한 그들이 학습하는 상응하는지 알고 싶어요 윌,, 그래서이에요 그럼 이런식으로 해.

사용자가 드롭, 아약스 호출에서 소스 프로그래밍 언어를 선택했을 때 자동으로 그렇게 두 번째 필드에 사용자 유형의 이름, 그것은 자동 완성의 모든 함수 이름을 가져옵니다. 그리고 나서, 그가 세 번째 필드에 "목표"언어 선택합니다.

대체 PHP의 Python으로 손질이 뭐죠? (클릭하시면 제출)

관계는 이미 데이터베이스에 stablished 살고, 우리는 사용자에 대한 답변을 제시 경우 :

트림 스트립은 다음 위치에 파이썬의 PHP를 부른다. 파이썬의 스트립 좋을 텐데에 관한 매뉴얼 페이지 (링크)

아니라면, 우리는 사용자가이 관계를합시다. 가능하면 지진 않았지, 그렇지, 말하자면이 없습니다 Python이 array_intersect_uassoc 모듈이 어떤 기능을, 우리는 스타일 구현, 위키 - 가자 사용자 유형을.

웹 2.0의 아기는, 사용자가 모든 콘텐츠를 제공, 우리 모두가 돈을 벌려고.

그리고 웹사이트 백엔드는 간단합니다. 프로그래밍 언어와 그 함수의 목록 및 / 메소드 함수 사이의 관계, 그리고 위키 물건을 하는건가 사람들이 구현을 제출할 수 있도록.

내가 요즘 너무 게으른 가서이 구현 당신이 원한다면 느낌이 있었어요. 유용한 도구 될 겁니다.


Portugus flagItaliano flagCoreano flagChins (simplificado) flagEnglish flagAlemo flagFrancs flagEspanhol flag
Japons flagrabe flagRusso flagHolands flagBlgaro flagTcheco flagCroata flagDinamarqus flag
Finlands flagHindu flagPolons flagRomeno flagSueco flagGrego flagNoruegus flag 
By N2H
Dolet 96 할인 DreamHost에서 호스팅!
사용하여 "PROMO 관성 코드". 램프 20GB의 공간과 전송 1TB의 중.