Django項目部署詳細步驟


1.創建python環境

python –V 查看python版本

which python 查看當前路徑

進入當前路徑/usr/bin

apt update 更新apt

apt-get install python3-pip 更新pip

ln –s python3 python 創建軟連接

2.安裝虛擬模塊

pip install virtualenv 安裝虛擬模塊

pip install virtualenv virtualenvwrappr 提供簡單的命令

apt-get install python-virtualenv

3.配置虛擬環境

cd 進入主目錄

修改系統配置文件(.bashrc)

在末尾增加:

export WORKON_HOME=$HOME/.virtualenvs

source /usr/local/bin/virtualevnwrapper.sh

source .bashrc   執行命令修改生效

mkdir .virtualenv  在主目錄創建文件

4.創建虛擬環境

mkvirtualenv fresh(虛擬名字)

workon 查看虛擬環境

deactivate 退出虛擬環境

rmvirtualenv fresh(虛擬名字)  刪除虛擬環境

5.安裝uwsginginx

進入虛擬環境安裝uwsgi和nginx

pip install uwsgi

apt-get install nginx

6.測試nginx

測試nginx(80端口):

         啟動:nginx

         停止:nginx –s stop

                   nginx –s quit

         重新加載:nginx –s reload

                            nginx –s reopen

         查看:ps –ef |grep nginx       

安裝links,在雲服務器上測試是否成功:

apt install links

命令窗口測試:links http://localhost

網頁測試輸入:http://47.95.198.0/(在管理平台網絡和安全中開放80端口才可以測試,否則超時)

7.收集環境

收集環境(在Windows中cmd中輸入一下命令)

pip freeze > libs.txt

8.安裝FTP服務器

安裝FTP

apt-get install vsftpd

ps -ef|grep vsftpd  查看是否啟動

FTP服務端配置

進入cd /etc/ àvi vsftpd.conf

打開文件操作權限 local_umask=022

打開用戶可以上傳文件 anon_upload_enable=YES

打開用戶可以創建文件夾 anon_mkdir_write_enable=YES

FTP客戶端操作

界面操作或者命令行操作

命令行操作:

ftp ip 登錄ftp服務器

put file 上傳一個文件

mput file 上傳多個文件

get file 下載一個文件

mget file 下載多個文件

bye 退出命令行

上傳文件(在cmd進行上傳文件)

進入項目所在目錄

scp –r E:\fresh root@47.95.198.0:/www/  (如果沒有scp命令,直接使用winscp軟件上傳)

如果報錯沒有scp命令,則安裝winscp圖形化軟件

9.測試

上傳結束后,在服務端進入虛擬環境,進入到項目,安裝項目所用到的環境

pip install -r libs.txt

若出現OSError: mysql_config not found錯誤

安裝apt-get install libmysqlclient-dev python3-dev這個命令

然后啟動項目python manage.py runserver

若出現django.db.utils.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")錯誤

添加數據庫解決mysql -u root –p

若出現

Command 'mysql' not found, but can be installed with:

apt install mysql-client-core-5.7  

apt install mariadb-client-core-10.1

安裝數據庫(安裝過程中設置數據庫密碼)

sudo apt-get install mysql-server

apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

進入數據庫mysql -u root -p

創建數據庫create database fresh default charset 'utf8';

查看數據庫show databases;

創建好之后進行數據同步

python manage.py migrate

python manage.py runserver 0.0.0.0:80 若80端口被占用則暫停nginx

10.配置uwsgi.ini

在項目路徑下vi uwsgi.ini

[uwsgi]

http=:80

chdir=/root/www/fresh

wsgi-file=fresh/wsgi.py

master=true

processes=2

threads=2

daemonize=uwsgi.log

pidfile=uwsgi.pid

uid=root

gid=root

static-map=/static=static_file

運行uwsgi命令: uwsgi --ini uwsgi.ini

停止uwsgi命令:uwsgi --stop uwsgi.pid

查看進程ps -ef|grep uwsgi.ini

查看日志 more uwsgi.log

收集靜態文件

在項目下創建static_file文件夾,編輯setting.py,添加:

STATIC_ROOT = os.path.join(BASE_DIR,'static_file')

執行命令進行收集靜態文件:python manage.py collectstatic

47.95.198.0進行訪問

11.配置nginx.conf

配置nginx.conf文件/etc/nginx/

        server{

                listen 80;

 

                location /static {

                        alias /www/fresh/static_file;

                }

 

                location / {

                        include uwsgi_params;

                        uwsgi_pass 127.0.0.1:8000;

                }

        }

重啟nginx命令:nginx –s reload

12.分布式建立

添加多個分布式

mkdir fresh1  mkdir fresh2….

把項目拷貝到分布式中

cp -rf fresh/ fresh1/   cp -rf fresh/ fresh2/….

 

注意:本篇文章是個人總結,僅供參考。若出現其他問題,與寫者無關,切勿用於商業獲取福利!

   如果總結有勿,或者交流與學習,請與寫着聯系!qq:1349176744


免責聲明!

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



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