아 리 클 라 우 드, CentOS 에 Django 를 설치 하고 uwsgi 와 nginx 를 설정 합 니 다.

5170 단어
CentOS 설치 Django 환경
본 고 에서 사용 하 는 서버 는 아 리 클 라 우 드 경량급 응용 서버 이 고 사용 하 는 시스템 은 CentOS 7.3 이 며 구축 한 환경 은 python 3.7, Django 2.2 이다.
아 리 운 CentOS 시스템
  • 알 리 클 라 우 드 서버 를 CentOS 시스템 으로 리 셋 하여 알 리 클 라 우 드 백 엔 드 서버 에 로그 인하 고 리 셋 시스템 을 선택 하 며 CentOS 7.3 을 선택 하고 문자 인증 코드 리 셋 시스템 을 작성 한다.
  • yum 업그레이드
    sudo yum update
    
  • 방화벽 설정 은 개방 포트 가 CentOS 로 리 셋 되면 방화벽 이 22 포트 만 열 리 기 때문에 다른 포트 는 스스로 열 어야 하고 CentOS 7 이후 에는 iptables 가 아 닌 방화벽 을 사용 해 야 한다. 열 린 후 에는 아 리 클 라 우 드 서버 백 엔 드 가 다음 포트 를 열 었 는 지 확인 해 야 한다.
    #      
    sudo systemctl start firewalld.service 
    #   80  
    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    #      
    sudo systemctl restart firewalld.service
    #        
    sudo firewall-cmd --reload
    
  • 데이터베이스 mariadb 설치
    #   mariadb
    yum -y install mariadb mariadb-server
    #      
    sudo systemctl start mariadb
    #          
    sudo systemctl enable mariadb
    #         
    mysql_secure_installation
    
  • CentOS 설치 python 3.7
    현재 시스템 의 python 버 전 을 볼 수 있 습 니 다. 현재 python 버 전 은 2.7.5 입 니 다.
  • python 3.7
    #      ,   python3   
    cd ~
    mkdir python3
    cd python3
    #   python 3     
    sudo yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel zlib-devel libffi-devel MySQL-python mysql-devel
    #   python 3.7
    wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
    #   python
    tar -zxvf Python-3.7.3.tgz
    #   python3    
    cd /usr/local
    sudo mkdir python3
    cd ~/Python-3.7.3
    ./configure --prefix=/usr/local/python3/
    #   python,make          
    make
    #   
    sudo make install
    
    을 설치 하 였 습 니 다. 이로써 python 3.7 이 설치 되 었 습 니 다. python --version 디 렉 터 리 에서 설치 성공 여 부 를 볼 수 있 습 니 다. 그러나 이 때 콘 솔 에 python 3 를 입력 하 는 것 은 이 명령 이 없습니다. 다음 작업 을 해 야 합 니 다.
      sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3
      sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
    
    이때 python 3 과 pip 3 는 명령 에서 찾 을 수 있 습 니 다. 마지막 으로 my sqlclient
    sudo pip3 install mysqlclient
    
  • 를 설치 합 니 다.
    Django 설치
  • Django 설치 및 테스트
    #   django
    sudo pip3 install django
    sudo ln -s /usr/local/python3/bin/django-admin /usr/bin
    cd ~
    sudo mkdir Test
    cd Test
    #   Django    
    sudo django-admin startproject MyTest
    cd MyTest
    #   Django
    sudo python3 manage.py runserver 0.0.0.0:80
    
    이 때 Django 를 시작 하면 오류 가 발생 할 수 있 습 니 다. settings. py 의 일부 설정 을 수정 해 야 합 니 다. settings. py 는 데이터베이스 설정
    ALLOWED_HOSTS = []  ->> ALLOWED_HOSTS = ['*']
    #      
    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '        ',
        'USER': 'root',
        'PASSWORD': '         ',
        'HOST': 'localhost',
        'PORT': '3306',
        }
    }
    
    을 수정 하여 Django cd /usr/local/python3/ 를 다시 시작 합 니 다. 서버 주 소 를 방문 하면 Django 의 아이콘 등 을 볼 수 있 습 니 다. Django 의 환경 이 구축 되 었 음 을 나타 냅 니 다
  • uwsgi 와 nginx 설정
  • uwsgi 와 nginx
    sudo pip3 install uwsgi
    sudo yum -y install nginx
    sudo ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi3
    
    설치
  • uwsgi 와 nginx 수정 항목 의 settings. py 파일 을 설정 하고 DEBUG 모드 를 닫 으 며 정적 파일 링크 를 수정 합 니 다. settings. py 에서 STATICURL 에 정적 링크 파일 위 치 를 추가 하고 프로젝트 에 정적 폴 더 static
    #           ,             
    STATIC_ROOT = os.path.join(BASE_DIR, '../collected_static')
    STATICFILES_DIRS = (
        os.path.join(BASE_DIR, 'static'),
    )
    
    을 만 듭 니 다. 프로젝트 에 uwsgi 설정 파일 uwsgi. ini 를 새로 만 들 고 다음 내용 을 입력 합 니 다. 프로젝트 디 렉 터 리 에 새 uwsgi 폴 더
    [uwsgi]
    socket = 127.0.0.1:8000 # uwsgi    
    chdir = ***** #            
    module = *****.wsgi #      wsgi
    master = true 
    processes = 1 
    threads = 2  #    
    max-requests = 2000 #     
    chmod-socket = 664
    vacuum = true 
    # uwsgi      
    stats = %(chdir)/uwsgi/uwsgi.status
    pidfile = %(chdir)/uwsgi/uwsgi.pid 
    daemonize = %(chdir)/uwsgi/uwsgi.log
    
    를 만 들 고 서버 에 정적 파일 을 연결 합 니 다. 몇 개의 파일 링크 가 성공 적 으로 보 였 다 면 설정 에 성공 합 니 다
    sudo python3 manage.py collectstatic
    
    nginx 설정 수정, sudo python3 manage.py runserver 0.0.0.0:80, server 설정 수정
    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    
    server {
        listen 80;
        server_name localhost;
        charset utf-8;
    
        location / {
          #      uwsgi  
          uwsgi_pass 127.0.0.1:8000;
          include /etc/nginx/uwsgi_params;
        }
    
        location /static {
          #uwsgi          
          alias ******/collected_static/; 
        }
    
        error_page 404 /404.html;
            location = /40x.html {
        }
    
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
    
    위 에 설정 이 완료 되 었 습 니 다. 아래 시작 항목
    #       
    sudo uwsgi3 --ini uwsgi.ini
    #   nginx
    sudo systemctl start nginx 
    
    두 개 모두 표면 설정 이 잘못 되 지 않 았 다 면 로 컬 기기 에서 IP 접근 을 통 해 성공 여 부 를 볼 수 있 습 니 다. 코드 가 바 뀌 었 다 면 uwsgi 3
      #       
      cd uwsgi
      sudo uwsgi3 --reload uwsgi.pid 
    
  • 를 다시 시작 해 야 합 니 다.

    좋은 웹페이지 즐겨찾기