nginx+uwsgi部署Django項目

多一些不為什么的堅持

一、管理員權(quán)限

1)以下所有的服務(wù)器命令均可以在管理員權(quán)限下執(zhí)行
>: sudo 命令

二盏触、連接服務(wù)器

1)賬號
>: ssh root@公網(wǎng)ip

2)密碼
>: 買服務(wù)器時設(shè)置的密碼或者用ssh密鑰

三渗蟹、配置終端

1)編輯配置文件
>: vim ~/.bash_profile

2)將原來內(nèi)容全部刪除掉
>: ggdG

3)進(jìn)入編輯狀態(tài):填入下方兩行
>: i

export PATH=$PATH:$HOME/bin
PS1='Path:\w\n>??:'

4)退出編輯狀態(tài)
>: esc

5)保存修改并退出
>: :wq

6)生效配置
>: source ~/.bash_profile

四、更新系統(tǒng)軟件包

>: yum update -y

五赞辩、安裝軟件管理包和可能使用的依賴

>: yum -y groupinstall "Development tools"
>: yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

六雌芽、安裝git

>: yum install git

七、安裝Python3.6

1)前往local目錄
cd /usr/local

2)下載 或 上傳 Python3.6.6
>: wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
>: scp -r 本地Python-3.6.7.tar.xz ssh root@39.100.155.49:服務(wù)器路徑
比如>: scp -r C:\source\Python-3.6.7.tar.xz ssh root@公網(wǎng)ip:~

3)解壓安裝包
>:tar -zxvf Python-3.6.6.tgz
或者>: tar -xf Python-3.6.6.tar.xz

4)進(jìn)入目標(biāo)文件
cd Python-3.6.6

5)配置安裝路徑:/usr/local/python3
>: ./configure --prefix=/usr/local/python3

6)確保進(jìn)入cd Python-3.6.6
>: cd Python-3.6.6

7)編譯并安裝
make && sudo make install

8)建立軟連接:終端命令 python3辨嗽,pip3
>: ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
>: ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

9)查看一下python3和pip3是否已經(jīng)配置成功
>: python3
>: pip3 -V

八世落、配置pip源

1)創(chuàng)建pip配置路徑
>: mkdir ~/.pip

2)進(jìn)入目錄編輯配置文件:填入下方內(nèi)容
cd ~/.pip && vim pip.conf

[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com

九、安裝虛擬環(huán)境

1)安裝依賴
Path:/usr/local
>: pip3 install virtualenv
>: pip3 install virtualenvwrapper

2)建立虛擬環(huán)境軟連接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

3)配置虛擬環(huán)境:填入下方內(nèi)容
>: vim ~/.bash_profile

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/python3/bin/virtualenvwrapper.sh

4)退出編輯狀態(tài)糟需,保存修改并退出
>: esc  >: :wq

5)更新配置文件內(nèi)容
>: source ~/.bash_profile

十屉佳、虛擬環(huán)境創(chuàng)建項目工作目錄

1)安裝成功在根目錄下建立兩個文件夾,主要用于存放env和網(wǎng)站文件的
>:mkdir -p /data/env
>:mkdir -p /data/Wppmovie

2)切換到/data/env/下洲押,創(chuàng)建指定版本的虛擬環(huán)境
>:virtualenv --python=/usr/bin/python3 pyweb

3)進(jìn)入/data/env/pyweb/bin 啟動虛擬環(huán)境
>:source activate

4)虛擬環(huán)境里用pip3安django和uwsgi
>:pip3 install django (如果用于生產(chǎn)的話武花,則需要指定安裝和你項目相同的版本)
>:pip3 install uwsgi

5)建立軟連接
>: ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

十一、配置uwsgi

1)項目根目錄配置uwsgi:填入下方內(nèi)容
>:vim /data/Wppmovie/project/MyMovie/mymovie.xml

<uwsgi>
   <socket>127.0.0.1:8808</socket> <!-- 內(nèi)部端口杈帐,自定義 -->
   <chdir>/data/Wppmovie/project/MyMovie/</chdir> <!-- 項目路徑 -->
   <module>MyMovie.wsgi</module>  <!-- test_site為wsgi.py所在目錄名-->
   <processes>4</processes> <!-- 進(jìn)程數(shù) -->
   <daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>

2)完成項目配置:修改下方幾行內(nèi)容
>:vim /data/Wppmovie/project/MyMovie/settings.py

DEBUG = False
ALLOWED_HOSTS = ['*']

十二体箕、安裝Mysql

1)前往用戶根目錄
>: cd ~

2)下載mysql57
>: wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

3)安裝mysql57
>: yum -y install mysql57-community-release-el7-10.noarch.rpm
>: yum -y install mysql-community-server

4)啟動mysql57并查看啟動狀態(tài)
>: systemctl start mysqld.service
>: systemctl status mysqld.service

5)查看默認(rèn)密碼并登錄
>: grep "password" /var/log/mysqld.log

6)修改密碼
>: ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

7)進(jìn)入mysql
>:mysql -uroot -p新密碼 

注意:如果給的隨機(jī)密碼中有特殊字符的話,加個''

十三挑童、數(shù)據(jù)庫操作

1)創(chuàng)建數(shù)據(jù)庫
    create database Mymovie charset utf8;
2)把本地的sql文件上傳到服務(wù)器
    scp -r /Users/wpr/Desktop/Mymovie.sql root@公網(wǎng)ip:~
3)進(jìn)入數(shù)據(jù)庫
    mysql -uroot -p密碼
4)使用數(shù)據(jù)庫
    use Mymovie
3)導(dǎo)入sql文件
    source ~/Mymovie.sql;

十四累铅、安裝Nginx【服務(wù)器上真實環(huán)境】

1)前往用戶根目錄
>: cd ~

2)下載nginx1.13.7
wget http://nginx.org/download/nginx-1.13.7.tar.gz

3)解壓安裝包
>: tar -xf nginx-1.13.7.tar.gz

4)進(jìn)入目標(biāo)文件
>: cd nginx-1.13.7

5)配置安裝路徑:/usr/local/nginx
>: ./configure --prefix=/usr/local/nginx

6)編譯并安裝
>: make && sudo make install

7)建立軟連接:終端命令 nginx
>: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

8)測試Nginx環(huán)境,服務(wù)器運(yùn)行nginx站叼,本地訪問服務(wù)器ip
>: nginx
>: 服務(wù)器綁定的域名 或 ip:80

十五娃兽、配置Nginx

去向Nginx配置目錄,備份配置大年,完全更新配置:填入下方內(nèi)容
>: cd /usr/local/nginx/conf
>: cp nginx.conf nginx.conf.bak
>: vim nginx.conf
>: ggdG
>: i

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen 80;
        server_name  127.0.0.1:80; # 改為自己的域名换薄,沒域名修改為127.0.0.1
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8808;  # 端口要和uwsgi里配置的一樣
           uwsgi_param UWSGI_SCRIPT MyMovie.wsgi;  #wsgi.py所在的目錄名+.wsgi
           uwsgi_param UWSGI_CHDIR /data/project/MyMovie/; # 項目路徑
        }
        location /static/ {
        alias /data/Wppmovie/project/MyMovie/static/; #靜態(tài)資源路徑
        }
    }
}

十六玉雾、Nginx命令

1)啟動
>: nginx

2)關(guān)閉nginx
>: nginx -s stop

3)重啟nginx
>: nginx -s reload

4)查看端口,強(qiáng)行關(guān)閉
>: ps -aux|grep nginx
>: kill <pid:進(jìn)程編號>

十七轻要、安裝Redis

1)前往用戶根目錄
>: cd ~

2)下載redis-5.0.5
>: wget http://download.redis.io/releases/redis-5.0.5.tar.gz

3)解壓安裝包
>: tar -xf redis-5.0.5.tar.gz

4)進(jìn)入目標(biāo)文件
>: cd redis-5.0.5

5)編譯環(huán)境
>: make

6)復(fù)制環(huán)境到指定路徑完成安裝
>: cp -r ~/redis-5.0.5 /usr/local/redis

7)配置redis可以后臺啟動:修改下方內(nèi)容
>: vim /usr/local/redis/redis.conf

daemonize yes ——》136行

8)完成配置修改
>: esc
>: :wq

9)建立軟連接
>: ln -s /usr/local/redis/src/redis-server /usr/bin/redis-server
>: ln -s /usr/local/redis/src/redis-cli /usr/bin/redis-cli

10)后臺運(yùn)行redis
>: redis-server 
ctrl + c

11)測試redis環(huán)境
>: redis-cli
ctrl + c

12)關(guān)閉redis服務(wù)
>: pkill -f redis -9

十八复旬、一些命令

pwd:查看當(dāng)前所在路徑

從本地上傳文件到服務(wù)器
    scp -r 本地文件路徑 服務(wù)器賬號名@服務(wù)器ip:想要保存的路徑 
    我的:scp -r /Users/wpr/Desktop/WppMovie/project root@39.100.108.61:/root/.virtualenvs/WppMovie/
    
從服務(wù)器下載文件到本地
    scp -r 服務(wù)器賬號名@服務(wù)器id:文件路徑 本地保存路徑

生成requirements.txt依賴庫文件
>:pip freeze > requirements.txt 
安裝requirements.txt依賴
>:pip install -r requirements.txt

生成數(shù)據(jù)庫遷移文件
>: python3 manage.py makemigrations
生成數(shù)據(jù)庫表
>:python manage.py migrate

如果數(shù)據(jù)庫遷移報錯需要刪除遷移文件
>: rm -rf 00*

把靜態(tài)路由整合到一起python manage.py collectstatic

查看端口,強(qiáng)行關(guān)閉
>: ps -aux|grep nginx/uwsgi
>: kill <pid:進(jìn)程編號>
>:pkill nginx 關(guān)閉所有進(jìn)程

十九冲泥、一些提示

1)在安裝模塊的時候如果報錯驹碍,則進(jìn)入requirement.txt文件中將其刪除,記錄一下凡恍,然后繼續(xù)安裝志秃,重復(fù)。
2)數(shù)據(jù)庫遷移報錯的話嚼酝,刪除遷移文件浮还。
3)如果端口不能訪問,看一下服務(wù)器是否開放了這個端口
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闽巩,一起剝皮案震驚了整個濱河市钧舌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌涎跨,老刑警劉巖洼冻,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異隅很,居然都是意外死亡撞牢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門叔营,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屋彪,“玉大人,你說我怎么就攤上這事审编『嘲啵” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵垒酬,是天一觀的道長砰嘁。 經(jīng)常有香客問我,道長勘究,這世上最難降的妖魔是什么矮湘? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮口糕,結(jié)果婚禮上缅阳,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好十办,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布秀撇。 她就那樣靜靜地躺著,像睡著了一般向族。 火紅的嫁衣襯著肌膚如雪呵燕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天件相,我揣著相機(jī)與錄音再扭,去河邊找鬼。 笑死夜矗,一個胖子當(dāng)著我的面吹牛泛范,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播紊撕,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼罢荡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了对扶?” 一聲冷哼從身側(cè)響起柠傍,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎辩稽,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體从媚,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逞泄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拜效。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喷众。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖紧憾,靈堂內(nèi)的尸體忽然破棺而出到千,到底是詐尸還是另有隱情,我是刑警寧澤赴穗,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布憔四,位于F島的核電站,受9級特大地震影響般眉,放射性物質(zhì)發(fā)生泄漏了赵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一甸赃、第九天 我趴在偏房一處隱蔽的房頂上張望柿汛。 院中可真熱鬧,春花似錦埠对、人聲如沸络断。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽貌笨。三九已至弱判,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間躁绸,已是汗流浹背裕循。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留净刮,地道東北人剥哑。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像淹父,于是被迫代替她去往敵國和親株婴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

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