django 2+uwsgi+nginx 서버 Ubuntu 16.04 에 온라인 배치

10367 단어 django2uwsginginx
1.사전 준비
1.Terminal 단말 기 를 열 고 다음 명령 을 실행 하 며 프로젝트 에 필요 한 의존 패 키 지 를 파일 에 기록 합 니 다.

pip freeze >requirements.txt

2.프로젝트 폴 더→오른쪽 단 추→압축 파일 추가,zip 패키지 로 압축


3.소프트웨어 준비
1.xshell(원 격 조작 서버 에 사용)2.FileZilla(클 라 이언 트 에서 프로젝트 패 키 지 를 서버 에 업로드 하 는 데 사용)3.Navicat 12(데이터베이스 동기 화 에 사용)
4.환경 구름
서버/클 라 우 드 호스트:경 동 운
(클 라 우 드 서 비 스 는 큰 공장 을 선택해 야 합 니 다.저도 비교적 작은 공장 의 클 라 우 드 서 비 스 를 해 봤 습 니 다.어느 곳 이 라 고 말 하지 않 았 습 니 다.와,정말 구덩이 입 니 다.각종 잘못 보고 가 있어 서 아무것도 설치 할 수 없습니다.우정 은 클 라 우 드 서 비 스 는 텐 센트 클 라 우 드,아 리 클 라 우 드,바 이 두 클 라 우 드,금 산 운,경 동 운,왕 이 운 등 중에서 선택해 야 한 다 는 것 을 일 깨 워 준다.외국 에 서 는 아마 존 과 같 습 니 다.클 라 우 드 컴 퓨 팅 기술 이 국내 클 라 우 드 보다 앞 설 수 있 고 가격 도 공정 할 수 있 지만 어떤 일 들 은 여러분 이 알 아야 할 것 이 있 습 니 다.그래서 비 싼 것 이 좀 비 싼 것 인지 국내 것 을 선택 하 세 요.)
시스템:Ubuntu 16.04 64 비트
2.기본 설정
1.xshell 링크 클 라 우 드 서버/클 라 우 드 호스트 시스템(클 라 우 드 서버 와 클 라 우 드 호스트 는 여기 서 개념 차이 가 많 지 않 습 니 다.뒤에 클 라 우 드 서버 라 고 합 니 다)1.xshell→[파일]→[새로 만 들 기]를 열 고 클 라 우 드 서버 의 네트워크 ip 을 입력 하 십시오.

2.방금 만 든 세 션 을 선택 하고[연결]을 누 르 십시오.

3.로그 인 사용자 이름 입력:root

4.로그 인 비밀번호 입력

5.연결 성공

2.새 사용자 ubuntu
1.명령 실행

adduser ubuntu
#    
#    
#   
#   
#    
#      
#      ,           
y+  
cd /home #       
ls #         ,    ubuntu       

2.사용자 ubuntu 전환

3.일반 사용자 ubuntu 에 권한 추가

#   root  
su root
#  root    
chmod u+w /etc/sudoers # sudoers     
vim /etc/sudoers#  sudoers,      root ALL=(ALL) ALL,      ubuntu   ALL=(ALL)   NOPASSWD: ALL
chmod u-w /etc/sudoers#  sudoers    
su ubuntu #   ubuntu  
3.동기 화 데이터베이스
1.mysql 데이터베이스 설치

sudo apt-get install mysql-server -y
#    :(   ,                   ,    )
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev -y
2.원 격 연결 권한 설정

su root #  root  
#root     
vim /etc/mysql/mysql.conf.d/mysqld.cnf 
#        ,  i  ,      
#         ,    bind-address = 127.0.0.1
#       , Esc ,  :wq     

mysql -u root -p
#    (   ),  mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

flush privileges;

quit

# Navicat        ,    :
fuser -k 3306/tcp
#             ,      
3.Navicat 12 동기 데이터베이스 사용
1.연결 만 들 기

2.로 컬 연결 만 들 기

3.서버 링크 만 들 기

4.전송 데이터베이스


그리고[시작]을 눌 러 서 100%전 달 될 때 까지 기다 리 세 요.

5.데이터베이스 업로드 성공 여부 확인

mysql -u root -p
show databases;#       
quit #     

4.원 격 연결 데이터베이스 권한 취소

vim /etc/mysql/mysql.conf.d/mysqld.cnf
#        ,  i  ,      
#         ,   bind-address = 127.0.0.1     
#       , Esc ,  :wq     
4.항목 업로드

su ubuntu #   ubuntu  
1.FileZilla 로 프로젝트 zip 패키지 업로드


2.압축 풀기 프로젝트 zip 패키지

sudo apt install unzip
unzip xueyiwang.zip 

5.Python 3.6 설치

sudo add-apt-repository ppa:fkrull/deadsnakes #           
#  
sudo apt-get install python-software-properties -y
sudo apt-get update
sudo apt-get install python3.6-dev python3.6-venv -y

sudo apt install python-pip -y
6.가상 환경 설정
1.의존 패키지 설치

python3.6 -m venv env36
#      ,    python3.6     ,   env36,            3.6.2

. env36/bin/activate
#      
#       deactivate


cd xueyiwang
pip3 install -r requirments.txt
#       ,  requirments.txt,      ,  pip freeze > requirments.txt  
#            ,  low          ,    ,bat ,     
#   pip   ,      ,          

2.settings.py 수정

cd xueyiwang
vim settings.py

#  settings.py   ,  i ,      
#           
ALLOWED_HOSTS = ['  ip']
#     
STATIC_ROOT=os.path.join(BASE_DIR,"static/")
#   Esc ,  :wq     


3.테스트 실행 항목

cd ..
python manage.py runserver 0.0.0.0:8000 
#     :  ip+8000 
#      !
#ctrl+c        


7.가상 환경 에 uwsgi 설치
1.설치

cd ~
pip3 install uwsgi

2.설치 성공 여부 확인

cd xueyiwang
uwsgi --http :8000 --module xueyiwang.wsgi

#  uwsgi    ,               
#ctrl+C         
#fuser -k 8000/tcp
#  8000    
#       ip+8000         ,  uwsgi    


8.설치 설정 nginx
1.nginx 설치

cd ..
sudo apt install nginx -y

2.uwsgi 와 nginx 연결 설정

cd xueyiwang
cp /etc/nginx/uwsgi_params .  #        ,            
#  ~   
cd ..

3.uwsgi.ini 설정

vim uwsgi.ini
#  uwsgi.ini,         i ,      ,         (   i              ,              )
#        ,Esc ,      wq+  ,    。

[uwsgi]
chdir=/home/ubuntu/xueyiwang
module=xueyiwang.wsgi:application
home=/home/ubuntu/env36
master=true
processes=10
socket=:8001
chmod-socket = 666
vacuum=true

4.nginx 설정

#cd       
vim xueyiwang_nginx.conf
#     nginx.conf  
#       , i ,       
#      

upstream django {
  # server unix:/root/xueyiwang/xueyiwang.sock; # for a file socket
  server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
 
# configuration of the server
server {
  # the port your site will be served on
  listen   8000;
  # the domain name it will serve for
  server_name .example.com; # substitute your machine's IP address or FQDN
  charset   utf-8;
 
  # max upload size
  client_max_body_size 75M;  # adjust to taste
 
  # Django media
  location /media {
    alias /home/ubuntu/xueyiwang/media; # your Django project's media files - amend as required
  }
 
  location /static {
    alias /home/ubuntu/xueyiwang/static; # your Django project's static files - amend as required
  }
 
  # Finally, send all non-media requests to the Django server.
  location / {
    uwsgi_pass django;
    include  /home/ubuntu/xueyiwang/uwsgi_params; # the uwsgi_params file you installed
  }
}

5.소프트 링크 만 들 기
 sudo ln -s /home/ubuntu/xueyiwang/xueyiwang_nginx.conf /etc/nginx/sites-enabled/

6.핸드폰 정적 파일

#cd         
python manage.py collectstatic
#yes

7.최종 테스트

#  settings.py 
DEBUG = False
cd ~
sudo service nginx restart
#  nginx
#  uwsgi
uwsgi --ini uwsgi.ini
#     http://  ip:8000

#       ip+:8000     ,      ,           ,  nginx    。

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기