python項目如何上線_django項目部署上線(示例代碼)

前言

完善的django項目上線,有很多種上線的方法,比如apache, uwsgi, nginx等。這里只介紹2種,一種是django自帶的,另外一種則是nginx + uwsgi完成介紹。這里的系統環境采用的是ubantu系統, python環境采用的是python3, django環境采用1.11

一、自帶的部署功能

數據庫遷移:

如果django項目中的數據是在本地的mysql中,需要將它的數據遷移到遠程連接的數據庫中。使用navicat操作, 在工具下拉列表中有一個數據傳輸按鈕

image.png

進入后,配置好,點擊下一步就好

image.png

1. 環境配置

更新安裝包: sudo apt update

下載mysql : apt install mysql-server mysql-client

2. 設置遠程訪問mysql:

(1) 查找 mysql.conf, 一般在/etc/mysql/mysql.conf.d目錄下

find / -name mysql.cnf

(2)注釋掉mysql.cnf文件中bind.conf.d,使外網也可以訪問數據庫

vim /etc/mysql/mysql.conf.d/mysqld.cnf

QQ圖片20180512085640.png

(3)設置mysql數據庫的用戶密碼

設置: GRANT ALL PRIVILEGES ON . TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ WITH GRANT OPTION;

刷新操作:flush privileges;

3. 修改django中的配置文件

修改settings.py

(1) 設置DEBUG=FALSE, ALLOWED_HOST = [‘‘]

image.png

如果上線的時候出現500,502錯誤等,可以將DEBUG=False設置為DEBUG=True,這時候你就可以在瀏覽器中看到具體的錯誤,然后進行調試

(2)

靜態文件的STARC的路徑配置

STATIC_ROOT = os.path.join(BASE_DIR, ‘static‘)

![image.png](https://upload-images.jianshu.io/upload_images/10914545-f44323417d3ce602.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

(3)修改工程urls.py配置

導入serve包:

from django.views.static import serve

在路由中加入static的路由地址:

url(r‘^static/(?P.)$‘, serve, {"document_root": settings.STATIC_ROOT})

image.png

4.修改首頁的訪問地址

在工程urls.py里部署首頁訪問的地址: views.home是自己設置的一個方法,是路由指向的地址

url(r‘^$‘, views.home)

5. 安裝pip3, 使用pip3來安裝必備的數據庫

安裝pip3 :up主在這里遇到過一個bug,安裝不上庫文件,這時候你需要將pip3更新到最新的版本

apt install python3-pip

安裝必備庫:

pip3 install django

pip3 install pymysql

pip3 install pillow

6. 查看進程:

看看端口啥的, 如果80端口被占用了,下面可以更換到其他端口,也可以直接kill -9 掉占用端口的程序

netstat -lntp

7. 啟動項目

進入manage.py文件目錄下:

python3 manage.py runserver 0.0.0.0:8000

二、使用nginx+uwsgi部署

1.nagin和uwsgi介紹

關于nginx和uwsgi與django的聯系,有一篇博文講得簡單明了

https://blog.csdn.net/u014761344/article/details/40146597

(1)nginx:

nginx概念:

Nginx是一款高性能的http 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。

nginx應用場景:

1、 http服務器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態服務器。

2、 虛擬主機。可以實現在一臺服務器虛擬出多個網站。例如個人網站使用的虛擬主機。

基于端口的,不同的端口

基于域名的,不同域名

3、 反向代理,負載均衡。當網站的訪問量達到一定程度后,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集群可以使用nginx做反向代理。并且多臺服務器可以平均分擔負載,不會因為某臺服務器負載高宕機而某臺服務器閑置的情況。

(2)uwsgi

uwsgi概念:

uWSGI實現了WSGI的所有接口,是一個快速、自我修復、開發人員和系統管理員友好的服務器

2.安裝nginx

nginx啟動后,可以在公網的ip地址上看到welcome to nginx

sudo apt-get install nginx

3.查看nginx的狀態

systemctl status nginx 查看nginx的狀態

system start/stop/enable/disable nginx 啟動/關閉/設置開機啟動/禁止開機啟動

service nginx status/stop/restart/start 查看狀態/停止/重啟/開啟 ngnix

安裝完成后,如果不能啟動nginx,可以使用 ps -ef | grep nginx 查看進程,殺掉全部的nginx進程,再重新啟動nginx

4.安裝uwsgi

pip install uwsgi

5.在nginx的配置文件中加載自定義的nginx的配置文件

up主這里使用自己的.conf文件放在 /home/app/conf/的,這里建議大家建立一個統一的文件夾來管理conf文件

進入nginx的配置文件:

vim /etc/nginx/nginx.conf

修改文件:增加 include /home/app/conf/.conf;

QQ圖片20180512095927.png

6. 配置自定的nginx文件:

up主建議每一個項目都單獨建立一個conf文件

找到自己創建的conf文件:

vim /home/app/conf/axfnginx.conf

配置:

server {

listen 80;

server_name 47.92.164.198 localhost;

access_log /home/app/log/access.log;

error_log /home/app/log/error.log;

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:8890;

}

location /static/ {

alias /home/app/day11axf0/static/;

expires 30d;

}

}

image.png

7.配置uwsgi

up主是將uwsgi.ini文件與conf文件放在一起的

pythonpath為工程文件目錄

scoket要與nginx中的完全相同

logto為保存日志文件的地方

image.png

nginx和uwsgi還可以配置更多的東西,這里配置的都是最簡單需要的內容

8.啟動項目

進入uwsgi.ini文件目錄中:

uwsgi --ini uwsgi.ini

9.部署完成

python學習交流群:125240963

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538871.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538871.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538871.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何檢查python的庫是否安裝成功_如何測試redis是否安裝成功

下載Redis 下載好后 復制所在位置 cd 跳到 D:\Java\64bit 圖中的目錄位置 這樣便啟動成功了。 設置redis密碼的話要 到redis.conf中找到 requirepass關鍵字 設置密碼為123456 redis-cli.exe 進入客戶端 然后 auth 123456 注釋: auth 密碼 set 對象名 [a] 值[123] ge…

第三方類庫的學習心態

我們需要牢牢的記住:所有的第三方庫能實現的功能,我們使用原生的API只要花時間和精力也能實現,但是可能會出現很多的bug而且會花費較多的時間和精力,而且性能也不一定很好,第三方的庫會幫我們封裝底層的一些代碼&#…

HTTP返回碼

響應碼由三位十進制數字組成,它們出現在由HTTP服務器發送的響應的第一行。響應碼分五種類型,由它們的第一位數字表示:1.1xx:信息,請求收到,繼續處理2.2xx:成功,行為被成功地接受、理…

oracle樹結構統計,ORACLE 遞歸樹型結構統計匯總

區域平臺統計報表,省--市--區 匯總,還有各級醫院,匯總與列表要在一個列表顯示。用到ORACLE 會話時臨時表 GLOBAL TEMPORARY TABLE ON COMMIT PRESERVE ROWS;遞歸樹: START WITH P.PARENTORG ‘ROOT‘CONNECT BY PRIOR P.ORG…

我們真的需要使用RxJava+Retrofit嗎?

原文:http://blog.csdn.net/TOYOTA11/article/details/53454925 點擊閱讀原文 RxJava詳解:http://gank.io/post/560e15be2dca930e00da1083 Retrofit詳解:http://www.tuicool.com/articles/AveimyQ --------------------------------------…

python ide如何運行_ide - 如何運行Python程序?

你問我很高興! 我正在努力在我們的wikibook中解釋這個問題(這顯然是不完整的)。 我們正在與Python新手合作,并且必須通過您正在詢問的內容幫助我們! Windows中的命令行Python: 使用編輯器中的“保存”或“另…

邏輯回歸算法_算法邏輯回歸

logistic回歸又稱logistic回歸分析,是一種廣義的線性回歸分析模型,常用于數據挖掘,疾病自動診斷,經濟預測等領域。例如,探討引發疾病的危險因素,并根據危險因素預測疾病發生的概率等。以胃癌病情分析為例&a…

使用docker搭建wordpress網站

概述 使用docker的好處就是盡量減少了環境部署,可靠性強,容易維護,我使用docker搭建wordpress的主要目標有下面幾個首先我重新生成數據庫容器可以保證數據庫數據不丟失,重新生成wordpress容器保證wordpress網站數據不丟失&#xf…

XUtils之注解機制詳解

原文:http://blog.csdn.net/rain_butterfly/article/details/37931031 點擊閱讀原文 ------------------------------------------------------ 這篇文章說一下xUtils里面的注解原理。 先來看一下xUtils里面demo的代碼: [java] view plaincopy print?…

oracle ko16mswin949,mysql字符集 - osc_wq7ij8li的個人空間 - OSCHINA - 中文開源技術交流社區...

恰當的字符集,暢快的體驗!00、Oracle字符集Subsets and Supersets #子集與超集Table A-11 Subset-Superset PairsSubset(子集)Superset(超集)AR8ADOS710AR8ADOS710TAR8ADOS720AR8ADOS720TAR8ADOS720TAR8ADOS720AR8APTEC715AR8APTEC715TAR8ARABICMACTAR…

曼徹斯特編碼_兩種編碼方式以及兩種幀結構

一、不歸零制編碼(Non-Return to Zero)對于不歸零制編碼是最簡單的一種編碼方式,正電平代表1,負電平代表0。如下圖:其實在不歸零制編碼中有一個很明顯的缺陷,那就是它不是自同步碼。對于上圖,你知道它傳輸的數據是什么…

python用一行代碼編寫一個回聲程序_使用Python的多回聲測驗

我在寫一個程序來管理一個五問多的問題- 關于全球變暖的選擇測驗和計算數字 正確答案。 我首先創建了一本字典,比如:questions \ { "What is the global warming controversy about?": { "A": "the public debate over wheth…

iOS開發學習路線

iOS開發學習路線 前言 這里筑夢師,是一名正在努力學習的iOS開發工程師,目前致力于全棧方向的學習,希望可以和大家一起交流技術,共同進步,用簡書記錄下自己的學習歷程. 個人學習方法分享本文閱讀建議 1.一定要辯證的看待本文. 2.本文主要是本人對iOS開發經驗中總結的知識點 3.本…

Android快速開發框架XUtils

原文地址:http://blog.csdn.net/rain_butterfly/article/details/37812371 點擊閱讀原文 -------------------------------------------- https://github.com/wyouflf/xUtils https://github.com/wyouflf/xUtils3 XUtils是基于afinal開發的,比afina…

oracle查看序列數據語法,oracle查詢各種數據字典的語法

ORACLE的數據字典是數據庫的重要組成部分之一,它隨著數據庫的產生而產生, 隨著數據庫的變化而變化,體現為sys用戶下的一些表和視圖。數據字典名稱是大寫的英文字符。數據字典里存有用戶信息、用戶的權限信息、所有數據對象信息、表的約束條件、統計分析數…

如何安裝python3.8.1_python3.8.1 安裝

Loading...請注意,本文編寫于 217 天前,最后修改于 217 天前,其中某些信息可能已經過時。系統環境:centos 7 安裝依賴項 bash yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-d…

明年新iphone使用增強版5nm芯片_蘋果A15芯片或將采用臺積電5nm+工藝!性能提升極強...

今年蘋果的iPhone 12系列搭載的A14 仿生芯片是今年智能手機市場推出的第一款5nm工藝處理器,處理器的性能也是用戶有目共睹的,相較于之前的芯片性能提升了一大截,有眾多網友也表示:蘋果芯片最大的敵人就是上一代的自己。當然&#…

php中dump怎么使用,php – 如何正確使用print_r或var_dump?

我在調試時經常使用以下代碼段:echo "" . var_dump($var) . "";而且我發現我通常會得到一個很好的可讀輸出.但有時我卻不這樣做.這個例子我現在特別煩惱:$usernamexxxxxx;$passwordxxxxxx;$data_urlhttp://docs.tms.tribune.com/tec…

Spring Framework 5 中的新特性

https://www.ibm.com/developerworks/cn/java/j-whats-new-in-spring-framework-5-theedom/index.html Spring 5 于 2017 年 9 月發布了通用版本 (GA),它標志著自 2013 年 12 月以來第一個主要 Spring Framework 版本。它提供了一些人們期待已久的改進,還…

怎么計算一組數據的波動_稅控盤數據和小規模增值稅申報表計算結果不一致怎么辦...

a公司為小規模納稅人,于2020年1月申報2019年第四季度增值稅時,是按照金稅盤的數據實際銷售金額為562,563,13元,實際銷售稅額為16,876.87元填寫小規模納稅人增值稅申報表。申報成功后,稅務系統卻跳出比對異常,戶管員要求…