Django 구성(wsgi 배포)
1.settings.py 구성
전역 settings 복사.py 프로필, MyBlog/pro 라는 사본을 만듭니다.settings.py, 수정 DEBUG는 False입니다.
DEBUG = False
# ip
ALLOWED_HOSTS = ["www.youkou.site", "39.108.191.165", "localhost", "127.0.0.1"]
# IP ,*
2.wsgi.py 구성
# MyBlog/wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'MyBlog.pro_settings') # settings
application = get_wsgi_application()
3. 마이그레이션 파일 생성
1、배치할 해석기에 들어가서 pip freeze > test를 실행합니다.txt는 해석기 라이브러리의 이동 파일을 생성한 다음 pip install -r test를 통과합니다.txt 설치 라이브러리
참고: fdfsclient.zip에 이 가방이 있는 것은 폴더에서 삭제해야 합니다. 수동으로 설치해야 합니다. 직접 pip에 설치된 것은python2의 3입니다. 사용할 수 없습니다.
4.python3 및 가상 환경 설치
가상 환경 만들기
# ,
mkvirtualenv dj_pro
프로젝트 관련 패키지 설치
#
workon dj_pro
#
# requirements.txt fdfs-client-py
pip install -r requirements.txt
# fdfs_client.zip
pip install fdfs_client.zip
5. 배포된 업로드 서버
프로젝트 로컬 디렉터리를 서버에 업로드 (아리운 ECS 서버일 수 있음)
방법1:
xshell로 아리운 서버에 연결할 수 있으며 rz 명령을 통해 로컬 프로젝트 디렉터리를 zip으로 압축한 후 서버에 업로드아리운 서버에서 unzip으로 압축 파일 풀기
unzip .zip
방법2:
ssh 연결을 제공하는 도구를 사용하여 프로젝트 디렉터리를 서버 홈 디렉터리에 보낼 수 있습니다
scp -r @ IP:~/ -p ssh
#
scp -r /home/Conner/MyBlog root@ IP:~/ -p 22
6.uwsgi 설치 테스트
#
workon dj_pro
# uwsgi
pip install uwsgi
uwsgi가 성공적으로 설치되었는지 테스트하려면:
# py
# test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"] # python3
#return ["Hello World"] # python2
테스트py 파일 디렉토리에서 서버에서 uwsgi를 실행합니다.
uwsgi --http :8000 --wsgi-file test.py
uwsgi의 작동 여부를 테스트합니다.
127.0.0.1:8000 # url
7.uwsgi 구성
프로젝트 루트 디렉터리에 deploy 디렉터리를 만들고 새 uwsgiconf.ini 파일
[uwsgi]
# nginx ,Django
# IP
socket=172.18.168.123:8000
#
chdir=/home/Conner/MyBlog
# wsgi.py
wsgi-file=MyBlog/wsgi.py
#
processes=2
#
threads=2
# uwsgi
master=True
#
pidfile=uwsgi.pid
# , uwsgi , 。 runserver
daemonize=logs/uwsgi.log
# ,
virtualenv=/home/Conner/.virtualenvs/dj_pro
8. uwsgi 시작
deploy 디렉터리로 전환하여 로그 파일을 저장할 logs 폴더를 만듭니다
# uwsgi
uwsgi --ini uwsgi_conf.ini &
# uwsgi
uwsgi --stop uwsgi.pid
2. Ubuntu 18.04에 구성 Nginx 설치
(주로 정적 파일 서비스용)
1. Installing Nginx 설치
# nginx
sudo apt update -y
sudo apt install nginx -y
# nginx, , active,
sudo systemctl start nginx && sudo systemctl status nginx
#기본적으로 80포트를 켜서 웹 서비스를 제공하는지 확인
curl -I 127.0.0.1
2.nginx 관리 명령
웹 서버 중지
sudo systemctl stop nginx
To start the web server when it is stopped, type:
sudo systemctl start nginx
To stop and then start the service again, type:
sudo systemctl restart nginx
If you are simply making configuration changes, Nginx can often reload without dropping connections. To do this, type:
sudo systemctl reload nginx
By default, Nginx is configured to start automatically when the server boots. If this is not what you want, you can disable this behavior by typing:
sudo systemctl disable nginx
To re-enable the service to start up at boot, you can type:
sudo systemctl enable nginx
3.nginx 구성
/etc/nginx/conf.d/nginx 만들기dj_pro.conf 파일:
upstream MyBlog {
# uwsgi ip
server 172.18.168.123:8000;
}
server {
#
listen 80;
# ip
server_name 39.108.191.165 .youkou.site;
#
charset utf-8;
#
client_max_body_size 75M;
#
location /media {
alias /home/Conner/MyBlog/media;
}
#
location /static {
alias /home/Conner/MyBlog/static;
}
#
location / {
uwsgi_pass MyBlog;
include /etc/nginx/uwsgi_params;
}
}
# sudo vim /etc/nginx/nginx.conf
# , www-data
user pyvip;
# nginx ,
sudo nginx -t -c /etc/nginx/nginx.conf
# ,
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
#
sudo nginx -c /etc/nginx/nginx.conf
sudo nginx -s reload
전재 대상:https://www.cnblogs.com/jun-1024/p/10964681.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.