내가 알고, 초과 근무 수당 싶어, 얼마나 많은 캐시 조회수과 그리워 내 인스턴스를 받았 었죠. 그리고 많이 검색한 마침내이 펄 스크립트를 발견 :
http://code.google.com/p/memcache-top/
사용법은 매우 간단합니다. , 그것에게 권한을주고 실행 후 그냥 실행 파일을 저장합니다 :
. / Memcache - top.pl - 명령 - 누적
예제 출력은 :
내가 잘하고있는 거, 오른쪽 부분을 캐싱 같아요! 나는 최근에 그것을 다시 시작했기 때문에 80 %와 할당된 메모리의 절반 밖에 이상의 조회수가 사용 ... (그건가되는, 그래서 일반적으로, 유지가 채워진) memcached.
내가 작성한 방법 장고를 구성 아파치, mod_python 과 방법에 넣어 아파치 뒤에 Lighttpd .
최근에 난 다른 VPS 공급자에서 내 대부분의 방문한 웹 사이트를 호스트로 결정 [1]과 모험을 장고 배포에 대한 나의 지식을 업데이 트를 시작했다. 난 (해치 웠를 다르게이 mod_wsgi를 사용하여 시간 과 장고를 아파치 배포 권장 방법의 ), 아파치를 구성하고 Lighttpd 콘텐츠를 동적이다 뒤에 (다른 말로, 미디어를 정적 봉사 Lighttpd 윌).
내가 다 지난 며칠 아래, 그리고 한 그것은 실험을 많이 (시행 착오가 참여하기 때문에, 내가 한 일들을 쓴 안) 나. 이런, 난 작성중이 문서가 메모리를 기반으로 내 설정 파일을 체크. 당신은 어떤 문제가 발생하면 의견을 남겨주세요 난 어떤 누락을 명확히합니다.
이렇게해야 할 일이 :
내가 배포판을 선택 나의 우분투 리눅스, 그리고 아무것도 설치가 바람에 있습니다. sudo apt-get install package-name . 이 부분은 잘 웹에서 덮여 있습니다, 자세히 어떻게하는지 언급 않을 것입니다. 충분한 그랬 설치 말을 나는 패키지의 일부는 것 apache2 , libapache2-mod-wsgi , 그리고 lighttpd .
행동 내 도메인의 주 서버를 윌 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.comDocumentRoot에는 / 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 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 링크를 사용하여 가입 추천을 신용 내게. 감사 ![]()
그래서 .... 미친
난, 세르지오와 알마 뛰어들었 ![]()
난 그녀의 머리를 정규 표현식하지만 이곳을 찾는 작은 다구 간다 :
빠른 팁 리눅스 명령 라인. 그냥 큰 따옴표로하고 간단하다. 여기에 표시됩니다 :
scp username@192.168.0.1:"'tem espacos aqui'"
어떻게 대한 참조가 (둘 다 서버 쪽과 JavaScript)를 작동보고 테스트 페이지를 만든 적이있다면 검색 결과에 Google 변경 STI는 URL에 쿼리 문자열 페이지 :
웹의 수는 그 어떤 형태로 웹을 크롤 링하거나 다른 정말 크다하려면, 그것은 큰 매일 몰리고있어 필요한 애플 리케이션을 어느 난 지구와 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의 아기는, 사용자가 모든 콘텐츠를 제공, 우리 모두가 돈을 벌려고.
그리고 웹사이트 백엔드는 간단합니다. 프로그래밍 언어와 그 함수의 목록 및 / 메소드 함수 사이의 관계, 그리고 위키 물건을 하는건가 사람들이 구현을 제출할 수 있도록.
내가 요즘 너무 게으른 가서이 구현 당신이 원한다면 느낌이 있었어요. 유용한 도구 될 겁니다.