PM2+nginx 를 사용 하여 python 프로젝트 를 배치 하 는 방법 예시

3257 단어 PM2nginxpython
앞에서 우 리 는 uwsgi 배치 프로젝트 를 사용 하 는 것 이 비교적 번 거 롭 습 니 다.본 장 에 서 는 pm2+nginx 원 키 로 django 프로젝트 를 배치 하 는 것 을 소개 합 니 다.
PM2 의 주요 특성:
  • 내장 부하 균형(Node cluster 군집 모듈 사용)
  • 백 스테이지 운행
  • 0 초 동안 정지 하고 다시 적재 합 니 다.제 가 이해 하 는 것 은 업그레이드 할 때 정지 할 필요 가 없다 는 뜻 입 니 다.
  • Ubuntu 와 CentOS 의 시작 스 크 립 트
  • 불안정한 프로 세 스 정지(무한 순환 피하 기)
  • 콘 솔 검사
  • HTTP API 제공
  • 원 격 제어 와 실시 간 인터페이스 API(Nodejs 모듈,PM2 프로 세 스 관리자 와 의 상호작용 허용)
  • PM2 설치
    1.nodejs 설치
    
    sudo apt-get install -y nodejs
    2.pm2 설치
    
    sudo npm install pm2 -g
    2.PM2 를 사용 하여 django 프로젝트 배치
    1.django 의 루트 디 렉 터 리 에 start.sh 파일 을 만 듭 니 다.
    
    python manage.py runserver 0.0.0.0:9000
    2.pm2 를 사용 하여 이 파일 을 시작 합 니 다.
    
    pm2 start start.sh
    3.서비스 시작 상황 보기 pm2 list
    
    (django_env) root@iZ941w016mwZ:/etc/nginx# pm2 list
    ┌───────┬────┬──────┬────────┬────────┬─────┬────────┬──────────┐
    │ Name │ id │ mode │ status │ ↺   │ cpu │ memory │
    ├───────┼────┼──────┼────────┼────────┼─────┼────────┼──────────┤
    │ start │ 0 │ N/A │ fork  │ online │ 690 │ 0%   │ 2.7 MB  │
    └───────┴────┴──────┴────────┴────────┴─────┴────────┴──────────┘
     Use `pm2 show <id|name>` to get more details about an app
    (django_env) root@iZ941w016mwZ:/etc/nginx#
    4.클 라 이언 트 연결 ip 주소:포트 번호(9000)
    3.nginx 와 결합 하여 9000 포트 까지 프 록 시 설정
    1.먼저 이전 방법 에 따라 nginx 를 설치 합 니 다.
    2.nginx 에 들 어간 패키지 파일(/etc/nginx)에서 nginx.conf 를 수정 합 니 다.
    
    ...
    server {
      listen 80;
      server_name www.yst168.cn yst168.cn http://www.yst168.cn; #        
      location / {
       proxy_pass http://localhost:9000; #          
      }
    }
    ...
    3.nginx 서버 재 부팅
    
    sudo service nginx restart
    4.pm2 에 대한 기본 명령 보충
  • pm2 start app.js\#app.js 프로그램 시작
  • pm2 start app.js-i 4\#cluster mode 모드 에서 4 개의 app.js 응용 인 스 턴 스 를 시작 합 니 다
  • pm2 start app.js--name="api"\#프로그램 을 시작 하고"api"
  • 라 고 명명 합 니 다.
  • pm2 start app.js--watch\#파일 이 변 할 때 자동 으로 다시 시작 합 니 다
  • pm2 start script.sh\#bash 스 크 립 트 시작
  • pm2 list\#목록 PM2 가 시작 하 는 모든 프로그램
  • pm2 show[app-name]\#프로그램의 모든 정 보 를 표시 합 니 다
  • pm2 logs\#모든 프로그램의 로 그 를 표시 합 니 다
  • pm2 logs[app-name]\#지정 한 프로그램의 로 그 를 표시 합 니 다
  • pm2 flush
  • pm2 stop all\#모든 프로그램 정지
  • pm2 stop 0\#id 가 0 인 지정 프로그램 정지
  • pm2 restart all\#모든 응용 프로그램 다시 시작
  • pm2 reload all\#cluster mode 의 모든 응용 프로그램 을 다시 시작 합 니 다
  • pm2 gracefulReload all # Graceful reload all apps in cluster mode
  • pm2 delete all\#모든 응용 프로그램 을 닫 고 삭제 합 니 다
  • pm2 delete 0\#지정 한 응용 id 0 삭제
  • pm2 scale api 10\#api 라 는 이름 의 응용 을 10 개의 인 스 턴 스
  • 로 확장 합 니 다.
  • pm2 reset[app-name]\#리 셋 재 부팅 수량
  • pm2 startup\#시작 명령 만 들 기
  • pm2 save\#현재 응용 목록 저장
  • pm2 resurrect\#저 장 된 응용 목록 을 다시 불 러 옵 니 다
  • pm2 update # Save processes, kill PM2 and restore processes
  • pm2 generate # Generate a sample json configuration file
  • pm2 start app.js --node-args="Cmax-old-space-size=1024"
  • 이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기