django 生產(chǎn)環(huán)境配置

該配置是基于django + uwsgi + nginx的生產(chǎn)環(huán)境部署,從Python配置開始到最終啟動(dòng)項(xiàng)目,系統(tǒng)的介紹每一個(gè)環(huán)節(jié)

一.python篇

這里不包括下載python,筆者的版本是python3.6

1.安裝pip

1.下載pip
2.加上阿里源,修改 ~/.pip/pip.conf (沒有就創(chuàng)建一個(gè)文件夾及文件饰剥。文件夾要加“.”办桨,表示是隱藏文件夾)
內(nèi)容如下:

安裝
sudo apt-get install python3-pip
設(shè)置阿里源
mkdir ~/.pip
cd ~/.pip
sudo vim pip.conf
# 在里面添加下面配置
[global]
index-url =  https://mirrors.aliyun.com/pypi/simple/
trusted-host = mirrors.aliyun.com

至此安裝完畢
PS:這里要注意,首先要查看你python的當(dāng)前版本是python3,還是python2

2.安裝虛擬環(huán)境

1.安裝虛擬環(huán)境包
2.創(chuàng)建虛擬環(huán)境包

# 下載虛擬環(huán)境
pip install virtualenv
或者也可以用下面
sudo apt-get install python-virtualenv
# 創(chuàng)建一個(gè)虛擬環(huán)境存放的文件夾
mkdir ~/.virtualenvs
cd ~/.virtualenvs
# 創(chuàng)建虛擬環(huán)境,根據(jù)自己需要?jiǎng)?chuàng)建不同的python版本
virtualenv name --python=python3.6
啟動(dòng)虛擬環(huán)境
source ~/.virtualenvs/project/bin/activate
關(guān)閉虛擬環(huán)境
deactivate

二: MySQL篇

1.下載MySQL
2.創(chuàng)建庫
3.創(chuàng)建用戶,并授權(quán)

#我下載是用命令行下載
sudo apt-get update
#下載服務(wù)端 這里沒有叫我填寫root密碼,可以后面自己用命令自己修改
sudo apt-get install mysql-server
# 下載客戶端測(cè)試
sudo apt install mysql-client
#---至此下載完畢,可以登錄mysql測(cè)試是否安裝成功---
#創(chuàng)建數(shù)據(jù)庫,名稱為database_name
create database database_name default character set utf8mb4 collate utf8mb4_general_ci;
#創(chuàng)建用戶.首先要登錄root用戶,才能添加用戶
use mysql
# 創(chuàng)建name用戶,密碼為password,并且本地登錄
CREATE USER 'name'@'localhost' IDENTIFIED BY 'password';
# 授權(quán)該name用戶,密碼是password有database_name所有的操作權(quán)限
GRANT ALL PRIVILEGES ON database_name.* TO 'name'@'localhost'IDENTIFIED BY 'password' WITH GRANT OPTION

三:nginx篇

1.安裝nginx
2.配置自己的nginx
3.啟動(dòng)nginx

1.先確認(rèn)apt是最新的
sudo apt-get update
2.命令下載nginx
sudo apt-get install nginx
3.配置nginx,位置是在/etc/nginx/sites-enabled,或者/etc/nginx/conf.d/下面,具體可以看nginx.conf里面
upstream project_name {
    server unix:/path/to/uwsgi/project.sock; 
}
server {
        server_name  localhost;
        listen 80;
        client_max_body_size 2M;
        location / {
            include uwsgi_params;
            uwsgi_pass project_name;   # 這里指向upstream名稱
        }
    location /static/ {
            alias /path/to/project/static/;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}
4.配置完以后,測(cè)試配置是否正確
sudo nginx -t
5.啟動(dòng)nginx
sudo service nginx start
6.如果修改配置文件
sudo nginx -s reload

四:uwsgi篇

1.安裝uwsgi
2.寫入配置文件
3.啟動(dòng)配置文件

#1.安裝,這里可以通過apt,也可以通過pip安裝
sudo apt-get install uwsgi  # 會(huì)生成一個(gè)/etc/uwsgi的包,配置的話就在里面配置
# pip是我現(xiàn)在用的
pip install uwsgi
# PS: 安裝好后有些問題
#別人安裝好后,直接可以用uwsgi命令,并且命令路徑在/usr/local/bin/uwsgi,
#我安裝的路徑是在~/.local/bin/uwsgi(不知道是為什么),而我的不行,需要通過ln鏈接才可以
----多余命令----
sudo ln -s ~/.local/bin/uwsgi /usr/bin/uwsgi
# 2.更新uwsgi文件
uwsgi --reload /path/to/project.pid
#3.停止,啟動(dòng)
uwsgi --stop xxx.pid
uwsgi --ini xxx.pid
#4.由于我試pip安裝,需要自己創(chuàng)建文件夾集中管理,apt-get下載的,在/etc/uwsgi里面配置就可以
mkdir ~/uwsgi
#創(chuàng)建配置文件
sudo vim project_name
#寫入配置文件,根據(jù)自己的路徑來就行
[uwsgi]
project = project_name
uid = user
gid = user
path = project
base = /home/%(uid)
chdir = %(base)/%(path)/%(project) # 項(xiàng)目根目錄
module = %(project).wsgi:application
master = true
processes = 2
pidfile= /path/to/%(project).pid
socket = /path/to/%(project).sock
vacuum = true
die-on-term = true
daemonize = %(base)/%(path)/%(project)/uwsgi.log
logto = %(base)/%(path)/%(project)/uwsgi.log
venv = /path/to/project_venv

五:git篇

1.下載(https://git-scm.com/download/linux)
2.服務(wù)器生成ssh key
3.把服務(wù)器的key,添加到gitlab上
4.git拷貝項(xiàng)目

#1.官網(wǎng)下載,根據(jù)自己的服務(wù)器類型
#2.服務(wù)器生成key
ssh-keygen -t rsa
#3.把服務(wù)器的key,添加到gitlab上,分為幾部
settings-->SSH keys-->在key欄中添加服務(wù)器的id_rsa.pub-->添加名稱-->add key
#4.拷貝項(xiàng)目
git clone project_git_path

PS:在拷貝的時(shí)候可能會(huì)碰見一直clone不下來,有可能是權(quán)限有問題,可以找領(lǐng)導(dǎo)給你權(quán)限

六:zsh篇

1.安裝zsh
2.安裝 oh my zsh

安裝zsh
sudo apt-get install zsh
安裝oh my zsh(官網(wǎng)地址:https://ohmyz.sh)
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
使用zsh
$ zsh

七:項(xiàng)目啟動(dòng)篇

1.首先安裝項(xiàng)目包以及依賴
2.遷移數(shù)據(jù)庫

# 確定自己進(jìn)入虛擬環(huán)境,安裝需要的包
pip install -r requirements.txt
# 遷移數(shù)據(jù)庫
python manage.py migrate

如果碰見下面錯(cuò)誤,原因是安裝mysqlclient缺少依賴

OSError: mysql_config not found 報(bào)錯(cuò)

sudo apt-get install libmysqlclient-dev
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市假残,隨后出現(xiàn)的幾起案子孙援,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異尔邓,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)锉矢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門铃拇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沈撞,你說我怎么就攤上這事〉袷玻” “怎么了缠俺?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)贷岸。 經(jīng)常有香客問我壹士,道長(zhǎng),這世上最難降的妖魔是什么偿警? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任躏救,我火速辦了婚禮,結(jié)果婚禮上螟蒸,老公的妹妹穿的比我還像新娘盒使。我一直安慰自己,他們只是感情好七嫌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布少办。 她就那樣靜靜地躺著,像睡著了一般诵原。 火紅的嫁衣襯著肌膚如雪英妓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天绍赛,我揣著相機(jī)與錄音蔓纠,去河邊找鬼。 笑死吗蚌,一個(gè)胖子當(dāng)著我的面吹牛腿倚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播褪测,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼猴誊,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼潦刃!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起懈叹,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤乖杠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后澄成,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胧洒,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年墨状,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卫漫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肾砂,死狀恐怖列赎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情镐确,我是刑警寧澤包吝,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站源葫,受9級(jí)特大地震影響诗越,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜息堂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一嚷狞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧荣堰,春花似錦床未、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至屡拨,卻和暖如春只酥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背呀狼。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工裂允, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哥艇。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓绝编,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子十饥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

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