Django Nginx Gunicorn Centos 7 환경 배치, 프로젝트 출시
5201 단어 백 엔 드 개발
가상 환경 만 들 기
# cd /home/
# mkdir djangoproject
# cd ./djangoproject/
# python -m venv djangoprojectenv
그 중에서 python - m venv xxx 는 python 3 자체 가 가지 고 있 는 xxx 가상 환경 을 만 드 는 방식 입 니 다. 여기 서 저 는 djangoprocject env 가상 환경 을 만 들 었 습 니 다.
가상 환경 에 진입 하 다
# source djangoprojectenv/bin/activate
가상 환경 에 들 어 갔 음 을 발견 할 수 있 습 니 다. 명령 줄 앞 에 (djangoprocject env) 표지 가 있 습 니 다. 예 를 들 어:
# (djangoprojectenv) [root@iz2zeb45dolegxb5nfuexez djangoproject]#
설치 도 구 는 pip 를 사용 할 때 두 판 원 을 사용 하 는 것 을 추천 합 니 다. 설치 속도 가 빠 릅 니 다. 예 를 들 어:
# pip install -i https://pypi.douban.com/simple django
제 가 사용 하 는 것 은 아 리 클 라 우 드 서버 이기 때문에 pip 로 응용 프로그램 을 설치 할 때 자동 으로 가속 화 되 기 때문에 기본 적 인 방식 을 사용 합 니 다. 여러분 이 다운로드 속도 가 느리다 고 생각 되면 두 판 원 을 사용 할 수 있 습 니 다.
# pip install django
# yum install mysql-devel
# pip install mysqlclient
# pip install gunicorn
django 프로젝트 만 들 기
# django-admin.py startproject djangoproject .
# ls
디 렉 터 리 구 조 를 볼 수 있 습 니 다.
# djangoproject djangoprojectenv manage.py
메모: djangoproject 를 만 듭 니 다. 뒤에 있 는... 절대 없 애 지 마 세 요.
항목 의 settings 수정
# vim djangoproject/settings.py
settings. py 의 데이터베이스 매개 변 수 를 수정 합 니 다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangoproject',
'USER': 'root',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"
}
}
}
데이터베이스 이름, 계 정, 비밀번호 수정 에 주의 하 세 요.
settings. py 에 정적 파일 경로 파 라미 터 를 추가 합 니 다
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
settings. py 에서 ip 권한 을 수정 하여 모든 ip 접근 을 허용 합 니 다.
ALLOWED_HOSTS = ["*"]
그리고 파일 을 저장 하고 esc: wq 를 누 르 십시오.
데이터베이스 에 데이터 시트 생 성
# ./manage.py makemigrations
# ./manage.py migrate
슈퍼 유저 만 들 기
# ./manage.py createsuperuser
정적 파일 수집
# ./manage.py collectstatic
이 단 계 는 매우 중요 합 니 다. 그렇지 않 으 면 페이지 가 Django 프로젝트 를 함부로 열 수 있 습 니 다.
# ./manage.py runserver 0.0.0.0:8000
브 라 우 저 에서 서버 를 방문 하여 ip 와 port 를 입력 할 수 있 습 니 다. 형식 은 다음 과 같 습 니 다.
http://server_domain_or_IP:8000
데이터베이스 에 도 접근 할 수 있 습 니 다.
http://server_domain_or_IP:8000/admin
자신 이 설정 한 슈퍼 유저 에 로그 인하 여 데이터 베 이 스 를 봅 니 다.
Gunicorn 이 프로젝트 서 비 스 를 시작 할 수 있 는 지 테스트 합 니 다.
# gunicorn --bind 0.0.0.0:8000 djangoproject.wsgi:application
IP 주 소 를 방문 하여 브 라 우 저가 정상적으로 내용 을 볼 수 있 는 지 확인 합 니 다 (이 때 가상 환경 을 종료 하지 않 았 음). 테스트 를 마 친 후 CTRL - C 를 누 르 면 Gunicorn 실행 을 중지 합 니 다.
가상 환경 종료
# deactivate
Gunicon Systemd Service 파일 만 들 기
# vim /etc/systemd/system/gunicorn.service
수정 내용 은 다음 과 같 습 니 다.
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=root
Group=nginx
WorkingDirectory=/home/djangoproject
ExecStart=/home/djangoproject/djangoprojectenv/bin/gunicorn --workers 3 --bind unix:/home/djangoproject/djangoproject.sock djangoproject.wsgi:application
[Install]
WantedBy=multi-user.target
반드시 자신의 프로젝트 경로 와 가상 환경 경 로 를 사용 해 야 합 니 다. WorkingDirectory 와 ExecStart 는 자신의 경로 로 수정 해 야 합 니 다.
Gunicorn 서 비 스 를 시작 하고 자동 으로 켜 기
# systemctl start gunicorn
# systemctl enable gunicorn
Gunicorn 을 통한 nginx 에이전트 설정
# vim /etc/nginx/nginx.conf
추가 내용 은 다음 과 같 습 니 다.
server {
listen 80;
server_name server_domain_or_IP;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/djangoproject;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://unix:/home/djangoproject/djangoproject.sock;
}
}
자신의 IP 주소 나 도 메 인 이름 을 수정 하고 파일 경로 serverdomain_or_IP 는 IP 주소 나 도 메 인 이름 을 대표 합 니 다.
nginx 권한 수정
# usermod -a -G root nginx
# chmod 710 /home/
# nginx -t
만약 잘못 보고 하지 않 았 다 면 다음 조작 을 할 수 있 었 을 것 이다.
nginx 서 비 스 를 시작 하고 자동 으로 시작 합 니 다.
# systemctl start nginx
# systemctl enable nginx
이제 ip 에 접근 할 수 있 습 니 다.
주의: 본문 은 루트 사용자 가 로그 인 한 것 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nginx 소결위 에서 알 수 있 듯 이 Linux 시스템 의 프로필 은 보통 / etc 에 놓 여 있 고 로 그 는 보통 / var / log 에 놓 여 있 으 며 실행 하 는 프로그램 은 보통 / usr / sbin 또는 / ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.