工作中Django上線必須是每個人都要掌握的


需要的軟件

1.首先需要一個可以連接你服務器的軟件這里需要兩個:一個是傳文件的(FileZilla),另外一個是和服務器連接,給服務器安裝環境用(Xshell)和(putty)都可以

實現第一步拉取文件

1.首先連接FileZilla,連接后會出現下圖樣式(這里我使用的服務器是阿里雲的,系統是Ubuntu)。這里說明一下,連接好后你進入var目錄下,此時里面的文件里可能沒有一個叫www的文件,這時你可以先創建一個。創建完成后你把你的項目包放到www文件下。

2.你拉取的項目里不包含你做項目時的數據庫,所以你在這里也可以順便數據庫也打包拉進去。反正剛開始我也不會拉,所以這里我也演示一下,嘿嘿!順便把Xshell的連接也說了。

這里的用戶名是你在虛擬機(阿里雲服務器用戶名默認root,IP用的服務器給你的公有IP)設置的,密碼是你自己設置的密碼。

成功后是這樣的

進入你的終端執行

mysqldump -uroot -p blog(這里是你的數據庫名,blog是我的)> blog(這個名字你可以隨便起).sql

然后把你的數據庫導出的包放到下圖所示位置

開始第二步,配置環境

1.更新軟件列表(不更新可能裝不上東西)

apt update

2.安裝常用軟件

apt install nginx
  apt install mysql-server  #安裝過程會彈出一個輸入密碼的框,這是你進入數據庫的密碼
  apt install git
  apt install vim

3.安裝虛擬開發環境pyenv

curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

這個虛擬環境裝完后在最后會出來三句話,每個人的路徑都不同

然后輸入命令進入 .bashrc 進去后把剛復制的三句話放置到文件最后,wq保存退出后執行命令讓它生效,此時就可以生效

vim .bashrc
  source .bashrc

接着命令

cd .pyenv  #進入這個文件
  mkdir cache #創建cache文件
  cd cache/ #進入此目錄

這時需要安裝python

#在安裝python之前,我們必須要安裝python所需要的依賴包,這個必須要安裝,安裝會失敗的:
  sudo apt-get install libc6-dev gcc
  sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
  ​
  #安裝python包,版本可自選,這里我用3.6.6
  wget -c http://mirrors.sohu.com/python/3.6.6/Python-3.6.6.tar.xz -P  ~/.pyenv/cache/#做安裝
  pyenv install 3.6.6 -v
  ​
  #更新pyenv數據庫
  pyenv rehash
  ​
  #列出所安裝的python版本
   pyenv versions
  ​
  #切換python版本
  pyenv  global 3.6.6#6.驗證版本
  python

成功后進入你的項目里創建虛擬開發環境(如果你想切出虛擬環境,可執行pyenv deactivate env3.6.6)

cd /var/www
  cd blog #進入你自己項目
  接着創建一個自己的虛擬環境。用法如下:pyenv virtualenv python版本號 虛擬環境名
  pyenv virtualenv 3.6.6 env3.6.6   #注意版本號必須是已經安裝的,否則會報錯
  切換到你創建的虛擬環境
  pyenv activate env3.6.6
  pip freeze #利用pip安裝,但是版本需要升級,按照提示升級

繼續,利用pip進行安裝,安裝你需要的安裝包Django,pymysql,pillow,django-tinymce(這個是富文本)

pip install django==1.11.16
  pip install pymysql
  pip install pillow
  .....
  pip freeze #再次查看你安裝的包和版本號

最后在安裝一個

pip install uwsgi
  vim uwsgiconf.ini

進去后把下方的配置文件放到里面

[uwsgi]
  ​
  # 外部訪問地址,可以指定多種協議,現在用http便於調試,之后用socket  #
  socket = 0.0.0.0:8000 # uwsgi的監聽端口
# 指向項目根目錄
  chdir =  /var/www/blog
  # wsgi.py所在位置
  wsgi-file = blog(項目目錄)/wsgi.py
  module = blog(你的項目).wsgi
  # 虛擬開發環境位置(一定要改成你自己的虛擬環境目錄)
  virtualenv = /root/python/.pyenv/versions/env3.6.6
  #plugins = python
  ​
  master = true
  ​
  # 處理器數
  processes = 1# 線程數
  threads = 2

最后再配置一下nginx。最后的blog是自己創建的一個文件名

  vim /etc/nginx/sites-available/blog

進去后把配置也寫下,配置如下,轉換網址在這里http://www.cnkuai.cn/zhuanma.asp?act=save

server {
      listen 80;
      server_name www.bly.我愛你; #這里寫自己的域名,如果后面訪問不出效果,只出一個(歡迎來到nginx界面)。那可能與你的域名有關(反正我的域名是中文后綴,沒解析出來),所以這時你可以把你中文域名放置到網上轉換一下,再放到這里就可以了。
      location / {
          # 轉發端口必須和uwsgiconf.ini中socket端口一致
          uwsgi_pass      127.0.0.1:8000; 
          include uwsgi_params; 
          uwsgi_param UWSGI_SCRIPT blog.wsgi; 
          # 項目的根目錄
          uwsgi_param UWSGI_CHDIR  /var/www/blog;
      }
      # 靜態資源所在位置
      location /static {
          alias /var/www/blog/static/;
      }
  }

配置完成后,進入剛剛的位置配置一個軟連接(切記下面的blog,是一個軟件界名字,中間有個空格)

cd /etc/nginx/
  cd sites-enabled/
  ln -s ../sites-available/blog blog
  ll #查看結果里沒有報紅顏色,就成功

然后重啟服務,如果不報錯,就ok,如果報錯,可能是語法問題

service nginx restart

最后再到你的項目目錄下啟動uwsgi

cd /var/www/blog/
  ps -aux | grep uwsgi #查看uwsgi是否起來,如果起來了,把他禁掉
  uwsgi uwsgiconf.ini

如果是和下面的一樣,那你就成功了。

如果提示您的端口被占用

netstat -anp
  kill -9 PID(這里是進程)

然后,訪問你的域名。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM