Ubuntu 시스템 구축django+nginx+uwsgi의 강좌 상세 설명

5722 단어 Ubuntu계통세우다

1. 개발기에서의 준비 작업


1. 항목에 버그가 없는지 확인합니다.
2. pip freeze > 요구 사항을 사용합니다.txt는 현재 환경의 패키지를requirements로 내보냅니다.txt 파일에서 배치할 때 설치하기 편리합니다.
3. 서버의/srv 디렉터리에 항목을 업로드합니다.여기서git의 형식을 예로 들면 터미널을 열고 다음 명령을 입력합니다 •git init
•git remote add origin xxx.git
•git add .
•git commit -m 'first commit'
•git pull origin master --allow-unrelated-histories
•git push origin master

2. 서버에서의 준비


1. 프로젝트에 사용할 Python을 설치합니다.
•sudo apt install python
•sudo apt install python-pip
•pip install --upgrade pip
2.virtualenv와virutalenvwrapper를 설치하고 가상 환경을 만듭니다.
•pip install virtualenv
•pip install virtualenvwrapper
•sudo apt install vim
•vim ~/.bashrc가 파일에 들어가서 다음 두 줄 코드를 입력합니다.

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
•source ~/.bashrc

3. git 설치:


sudo apt install git
4. XShell 또는 CRT 연결 서버의 편의를 위해 OpenSSH를 설치하는 것이 좋습니다.

sudo apt install openssh-server openssh-client
service ssh restart
5. MySQL 서버 및 클라이언트 설치:

sudo apt install mysql-server mysql-client
sudo apt-get install libmysqld-dev
6. 가상 환경에 들어가서 프로젝트가 있는 디렉터리에 들어가서 명령을 실행합니다: pip install -r requirements.txt. 해당하는 패키지를 설치합니다.
7. mysql 데이터베이스에서 해당하는 데이터베이스를 만듭니다.
8. python manage.py migrate 명령을 실행하여 파일을 데이터베이스에 비추고 해당하는 표를 만든다.
9. 실행python manage.py runserver 0.0.0.0:8000하고 자신의 컴퓨터에 브라우저에 http://서버의 IP 주소: 8000/를 입력하여 사이트의 모든 페이지를 방문하여 모든 페이지가 오류가 없음을 확인합니다.
10. ALLOW_ 설정HOST는 도메인 이름과 IP 주소입니다.
11. DEBUG=False를 설정하여 사이트에 오류가 발생하면 사용자에게 오류 정보를 누설하지 않도록 합니다.
12. 정적 파일 수집: python manage.py collectstatic。

3. uwsgi 설치


1.uwsgi는 응용 서버로 비정적 파일의 네트워크 요청은 반드시 그를 통해 이루어져야 한다. 그는 정적 파일 서버를 충당할 수 있지만 그의 강점은 아니다.uwsgi는python으로 작성되었기 때문에 pip를 통해 uwsgi를 설치하면 됩니다.(uwsgi는 가상 환경에 설치하지 말고 시스템 수준의 Python 환경에 설치해야 합니다.)
2. 명령uwsgi --http :8000 --module test.wsgi --vritualenv=/root/.virtualenvs/django-env-py36을 사용합니다.uwsgi로 프로젝트를 시작합니다. 브라우저에서 이 페이지에 접근할 수 있다면 uwsgi가 프로젝트를 불러올 수 있습니다.

4. uwsgi 프로필을 작성하고 프로필로 uwsgi를 시작합니다


프로젝트의 경로 아래에djangotest라는 파일을 만듭니다.ini의 파일에 다음 코드를 입력합니다.

[uwsgi]

# Django 
#  
#  
chdir=/srv/djangotest
# Django wsgi 
module=djangotest.wsgi
# Python 
home=/root/.virtualenvs/django-env-py36
#  
#  
master=true
#  
processes=10
# socket , 
socket=/srv/djangotest/djangotest.sock
#  socket 
chmod-socket=666
#  
vacuum=true
그리고 명령uwsgi --ini djangotest.ini을 사용하여 이 프로젝트를 시작할 수 있는지 확인하십시오.

5. nginx 설치


1.nginx는 웹 서버입니다.정적 파일을 불러오고 http 요청을 받는 데 사용됩니다.명령 sudo apt installnginx를 통해 설치할 수 있습니다.
2.nginx 일반 명령:
• 시작nginx:service nginx start•nginx:서비스nginxstop 닫기
• 리셋nginx: 서비스nginx restart

6. 정적 파일 수집


정적 파일은nginx가 서비스하도록 해야지,django가 하지 않도록 해야 합니다.우선 당신의 설정을 확보하세요.py 파일에 STATIC_ROOT 설정, 이 설정은 정적 파일을 어느 디렉터리에 놓을지 지정해야 합니다.그러면 우리는 다음과 같은 명령을 실행할 수 있습니다:python 관리.pycollectstatic은 모든 정적 파일을 수집하여 지정한 디렉터리에 저장합니다.

7. nginx 프로필 작성:


/etc/nginx/conf.d 디렉터리에 djangotest라는 파일을 새로 만듭니다.conf, 다음 코드를 붙여넣습니다.

upstream djangotest {
 server unix:///srv/djangotest/djangotest.sock; 
}
#  
server {
 #  
 listen 80;
 #  
 server_name 192.168.0.101; 
 charset utf-8;
 #  
 client_max_body_size 75M; 
 #  url
 location /static {
 #  
 alias /srv/djangotest/static_dist; 
 }
 #  , django 
 location / {
 uwsgi_pass djangotest;
 # uwsgi_params 
 include /etc/nginx/uwsgi_params; 
 }
}
프로필을 작성한 후, 프로필 설정이 성공했는지 테스트하기 위해 명령을 실행합니다: 서비스nginxconfigtest, 오류를 보고하지 않으면 성공했습니다.프로필을 수정할 때마다 서비스nginxrestart를 실행하는 것을 기억해야 합니다.

8. supervisor 구성 사용


supervisor에서 uwsgi를 관리하면 uwsgi에서 의외의 상황이 발생하면 자동으로 다시 시작할 수 있습니다.
1.supervisor의 설치: 시스템 수준의python 환경에서pip install supervisor.
2. 프로젝트의 루트 디렉터리에 my_라는 파일을 만듭니다supervisor.conf.내용은 다음과 같습니다.

# supervisor 
[program:mysite]
# supervisor 
command=uwsgi --ini zlkt_uwsgi.ini
#  
directory = /srv/djangotest 
#  
startsecs=0
#  
stopwaitsecs=0 
#  
autostart=true
#  
autorestart=true
#  log 
stdout_logfile=/srv/djangotest/log/supervisord.log
#  
stderr_logfile=/srv/djangotest/log/supervisord.err
[supervisord]
# log 
loglevel=info
#  supervisorctl 
[supervisorctl]
#  supervisorctl 
serverurl = http://127.0.0.1:9001
#  supervisorctl 
username = admin
password = 123
[inet_http_server]
# supervisor 
port = :9001
#  
username = admin
password = 123
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
그리고 명령supervisord -c my_supervisor.conf을 사용하여 실행하면 됩니다.앞으로 uwsgi를 시작하려면 명령supervisorctl -c my_supervisor.conf을 통해 관리 컨트롤러에 들어가서 관련 명령을 실행하여 관리할 수 있습니다.

#  
status 
#  
start program_name
#  
restart program_name
#  
stop program_name
#  
reload
#  
quit 
총결산
위에서 말한 것은 편집자가 여러분께 소개한 Ubuntu시스템 구축django+nginx+uwsgi의 강좌에 대한 상세한 설명입니다. 여러분께 도움이 되었으면 합니다. 만약에 궁금한 점이 있으면 저에게 메시지를 남겨 주십시오. 편집자는 제때에 여러분에게 회답할 것입니다.여기에서도 저희 사이트에 대한 지지에 감사드립니다!
만약 당신이 본문이 당신에게 도움이 된다고 생각한다면, 전재를 환영합니다. 출처를 밝혀 주십시오. 감사합니다!

좋은 웹페이지 즐겨찾기