django項目部署上線

前言

完善的django項目上線,有很多種上線的方法,比如apache, uwsgi, nginx等丈莺。這里只介紹2種,一種是django自帶的送丰,另外一種則是nginx + uwsgi完成介紹缔俄。這里的系統(tǒng)環(huán)境采用的是ubantu系統(tǒng), python環(huán)境采用的是python3, django環(huán)境采用1.11

一器躏、自帶的部署功能

數(shù)據(jù)從pycharm轉(zhuǎn)移到ubantu中俐载。使用xshell軟件


QQ圖片20180512193224.png

數(shù)據(jù)庫遷移:
如果django項目中的數(shù)據(jù)是在本地的mysql中,需要將它的數(shù)據(jù)遷移到遠(yuǎn)程連接的數(shù)據(jù)庫中登失。使用navicat操作遏佣, 在工具下拉列表中有一個數(shù)據(jù)傳輸按鈕


image.png

進(jìn)入后,配置好揽浙,點擊下一步就好
image.png

1. 環(huán)境配置

  • 更新安裝包: sudo apt update
  • 下載mysql : apt install mysql-server mysql-client

2. 設(shè)置遠(yuǎn)程訪問mysql:

(1) 查找 mysql.conf状婶, 一般在/etc/mysql/mysql.conf.d目錄下
find / -name mysql.cnf
(2)注釋掉mysql.cnf文件中bind.conf.d,使外網(wǎng)也可以訪問數(shù)據(jù)庫
vim /etc/mysql/mysql.conf.d/mysqld.cnf

QQ圖片20180512085640.png

(3)設(shè)置mysql數(shù)據(jù)庫的用戶密碼
設(shè)置: GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
刷新操作:flush privileges;

3. 修改django中的配置文件

  • 修改settings.py
    (1) 設(shè)置DEBUG=FALSE, ALLOWED_HOST = ['']
    image.png

    如果上線的時候出現(xiàn)500,502錯誤等馅巷,可以將DEBUG=False設(shè)置為DEBUG=True,這時候你就可以在瀏覽器中看到具體的錯誤膛虫,然后進(jìn)行調(diào)試
    (2)
    靜態(tài)文件的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配置
    導(dǎo)入serve包:
    from django.views.static import serve
    在路由中加入static的路由地址:
    url(r'^static/(?P<path>.
    )$', serve, {"document_root": settings.STATIC_ROOT})
    image.png

4.修改首頁的訪問地址

在工程urls.py里部署首頁訪問的地址: views.home是自己設(shè)置的一個方法,是路由指向的地址
url(r'^$', views.home)

5. 安裝pip3钓猬, 使用pip3來安裝必備的數(shù)據(jù)庫

安裝pip3 :up主在這里遇到過一個bug稍刀,安裝不上庫文件,這時候你需要將pip3更新到最新的版本
apt install python3-pip
安裝必備庫:
pip3 install django
pip3 install pymysql
pip3 install pillow

6. 查看進(jìn)程:

看看端口啥的敞曹, 如果80端口被占用了账月,下面可以更換到其他端口综膀,也可以直接kill -9 掉占用端口的程序
netstat -lntp

7. 啟動項目

進(jìn)入manage.py文件目錄下:
python3 manage.py runserver 0.0.0.0:8000

二、使用nginx+uwsgi部署

1.nagin和uwsgi介紹

關(guān)于nginx和uwsgi與django的聯(lián)系捶障,有一篇博文講得簡單明了
https://blog.csdn.net/u014761344/article/details/40146597
(1)nginx:
nginx概念:
Nginx是一款高性能的http 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器僧须。
nginx應(yīng)用場景:
1纲刀、 http服務(wù)器项炼。Nginx是一個http服務(wù)可以獨立提供http服務(wù)∈景恚可以做網(wǎng)頁靜態(tài)服務(wù)器锭部。
2、 虛擬主機(jī)面褐“韬蹋可以實現(xiàn)在一臺服務(wù)器虛擬出多個網(wǎng)站。例如個人網(wǎng)站使用的虛擬主機(jī)展哭。
基于端口的湃窍,不同的端口
基于域名的,不同域名
3匪傍、 反向代理您市,負(fù)載均衡。當(dāng)網(wǎng)站的訪問量達(dá)到一定程度后炼鞠,單臺服務(wù)器不能滿足用戶的請求時甩牺,需要用多臺服務(wù)器集群可以使用nginx做反向代理躏碳。并且多臺服務(wù)器可以平均分擔(dān)負(fù)載,不會因為某臺服務(wù)器負(fù)載高宕機(jī)而某臺服務(wù)器閑置的情況榕莺。
(2)uwsgi
uwsgi概念:
uWSGI實現(xiàn)了WSGI的所有接口,是一個快速棵介、自我修復(fù)钉鸯、開發(fā)人員和系統(tǒng)管理員友好的服務(wù)器

2.安裝nginx

nginx啟動后,可以在公網(wǎng)的ip地址上看到welcome to nginx
sudo apt-get install nginx

3.查看nginx的狀態(tài)

systemctl status nginx 查看nginx的狀態(tài)
system start/stop/enable/disable nginx 啟動/關(guān)閉/設(shè)置開機(jī)啟動/禁止開機(jī)啟動
service nginx status/stop/restart/start 查看狀態(tài)/停止/重啟/開啟 ngnix
安裝完成后邮辽,如果不能啟動nginx唠雕,可以使用 ps -ef | grep nginx 查看進(jìn)程,殺掉全部的nginx進(jìn)程逆巍,再重新啟動nginx

4.安裝uwsgi

pip install uwsgi

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

up主這里使用自己的.conf文件放在 /home/app/conf/的及塘,這里建議大家建立一個統(tǒng)一的文件夾來管理conf文件
進(jìn)入nginx的配置文件:
vim /etc/nginx/nginx.conf
修改文件:增加 include /home/app/conf/
.conf;

QQ圖片20180512095927.png

6. 配置自定的nginx文件:

up主建議每一個項目都單獨建立一個conf文件
找到自己創(chuàng)建的conf文件, 并進(jìn)入配置:
vim /home/app/conf/axfnginx.conf
配置:


image.png

7.配置uwsgi

up主是將uwsgi.ini文件與conf文件放在一起的
pythonpath為工程文件目錄
scoket要與nginx中的完全相同
logto為保存日志文件的地方


image.png

nginx和uwsgi還可以配置更多的東西锐极,這里配置的都是最簡單需要的內(nèi)容

8.啟動項目

進(jìn)入uwsgi.ini文件目錄中:
uwsgi --ini uwsgi.ini

9.部署完成

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笙僚,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子灵再,更是在濱河造成了極大的恐慌肋层,老刑警劉巖亿笤,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異栋猖,居然都是意外死亡净薛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進(jìn)店門蒲拉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肃拜,“玉大人,你說我怎么就攤上這事雌团∪剂欤” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵锦援,是天一觀的道長猛蔽。 經(jīng)常有香客問我,道長灵寺,這世上最難降的妖魔是什么曼库? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮略板,結(jié)果婚禮上毁枯,老公的妹妹穿的比我還像新娘。我一直安慰自己蚯根,他們只是感情好后众,可當(dāng)我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颅拦,像睡著了一般蒂誉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上距帅,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天右锨,我揣著相機(jī)與錄音,去河邊找鬼碌秸。 笑死绍移,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讥电。 我是一名探鬼主播蹂窖,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼恩敌!你這毒婦竟也來了瞬测?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎月趟,沒想到半個月后灯蝴,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡孝宗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年穷躁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片因妇。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡问潭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沙峻,到底是詐尸還是另有隱情睦授,我是刑警寧澤,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布摔寨,位于F島的核電站,受9級特大地震影響怖辆,放射性物質(zhì)發(fā)生泄漏是复。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一竖螃、第九天 我趴在偏房一處隱蔽的房頂上張望淑廊。 院中可真熱鬧,春花似錦特咆、人聲如沸季惩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽画拾。三九已至,卻和暖如春菜职,著一層夾襖步出監(jiān)牢的瞬間青抛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工酬核, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蜜另,地道東北人。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓嫡意,卻偏偏與公主長得像举瑰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蔬螟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容