Centos7部署Django項(xiàng)目

Centos7 部署Django項(xiàng)目

軟件版本:Centos7 | Python3.6 | Django1.11.6

步驟:(在root用戶操作下完成)

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

執(zhí)行命令: yum update -y
二、 安裝軟件管理包和可能使用的依賴

1. 執(zhí)行命令: yum -y groupinstall "Development tools"

2. 執(zhí)行命令:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

三、下載Pyhton3到 /usr/local 目錄

1. 切換到 /usr/local 目錄

2. 獲取python3.6的壓縮文件

執(zhí)行命令: wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

3. 解壓python3.6

執(zhí)行命令: tar -zxvf Python-3.6.6.tgz

4. 進(jìn)入 python-3.6.6 的路徑

執(zhí)行命令: ls 查看目錄 cd Python-3.6.6 進(jìn)入目錄

5. 編譯安裝python3到指定路徑

A) 執(zhí)行命令: ./configure --prefix=/usr/local/python3

注意:/usr/local/python3 路徑可以自己指定,自己記著就行,下邊要用到。
B)安裝python3

a) 執(zhí)行命令: make

b) 執(zhí)行命令: make install

C) 安裝完成之后,建立軟鏈接,添加變量,方便在終端中直接使用python3

a)python3 的軟連接

執(zhí)行命令: ln -s/usr/local/python3/bin/python3.6/usr/bin/python3

b)pip3 的軟連接

執(zhí)行命令: ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

c) 查看python和pip的版本

執(zhí)行命令: python3和pip3 –V

四、虛擬環(huán)境里安裝Django和uwsgi

1. 執(zhí)行命令: pip3 install django==1.11.6 注意:如果用于生產(chǎn)的話,則需要指定安裝和你項(xiàng)目相同的版本

執(zhí)行命令:

ln -s /usr/local/python3/bin/django-admin /usr/local/bin/django-admin

2. 執(zhí)行命令: pip3 install uwsgi

3. 給uwsgi建立軟鏈接

執(zhí)行命令: ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

五、切換到網(wǎng)站目錄/home/wwwroot,創(chuàng)建Django項(xiàng)目

1. 執(zhí)行命令: cd /home/wwwroot 切換目錄

2. 執(zhí)行命令: django-admin startproject mysite

3. 進(jìn)入mysite,新建一個(gè)app應(yīng)用,我這里取名叫blog

A) 執(zhí)行命令: cd mysite 進(jìn)入mysite目錄

B) 執(zhí)行命令: python3 manage.py startapp blog

4. 新建文件夾 static templates ,分別用于存放靜態(tài)文件和模板文件

A) 執(zhí)行命令: mkdir static

B) 執(zhí)行命令: mkdir templates

六、修改編輯Django項(xiàng)目文件

1. 編輯 mysite 里面的 settings.py 文件

A) 執(zhí)行命令: cd mysite

B) 執(zhí)行命令: vim settings.py

a) INSTALLED_APPS 列表里添加'blog'的APP

b) 修改 ALLOWED_HOSTS =['※'] 可以讓任何IP訪問(wèn)

c) ALLOWED_HOSTS 里添加模板路徑 os.path.join(BASE_DIR, 'templates')

d) 在文件末尾添加 STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)

e) 最后保存退出。按 Esc 鍵,輸入 :wq 保存退出

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

1. 執(zhí)行命令: cd /home/wwwroot/mysite 切換到mysite目錄

2. 執(zhí)行命令: python3 manage.py runserver 可見項(xiàng)目正常啟動(dòng)了

八、Django正常運(yùn)行之后,我們就開始配置一下uwsgi

在服務(wù)器上編寫一個(gè)Python文件app.py:

def application(env, start_response):

 start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])

 return [b"Hello World"]

在服務(wù)器上執(zhí)行命令啟動(dòng)Web服務(wù)器:

uwsgi --http :9001 --wsgi-file app.py

或者

uwsgi --http :9001 --wsgi-file foobar.py --master --processes 4

PS: flask需要再加 --callable app

c. django 程序使用uwsgi

將開發(fā)好的django程序拷貝到服務(wù)器目錄【同示例一】,即:/home/wwwroot ,執(zhí)行命令啟動(dòng):

uwsgi --http :9001 --chdir /home/wwwroot/ --wsgi-file mysite/wsgi.py --master --processes 4

九、安裝 nginx 和配置 nginx.conf 文件

1. 執(zhí)行命令: cd /home 進(jìn)入home目錄

2. 執(zhí)行命令: wget http://nginx.org/download/nginx-1.13.7.tar.gz 下載NGINX 壓縮包

3. 解壓NGINX ,執(zhí)行命令: tar -zxvf nginx-1.13.7.tar.gz

4. 依次執(zhí)行以下命令:

a) 執(zhí)行命令: cd nginx-1.13.7 進(jìn)入nginx-1.13.7****文件夾

b) 執(zhí)行命令: ./configure

c) 執(zhí)行命令: make

d) 執(zhí)行命令: make install
注意:nginx一般默認(rèn)安裝好的路徑為/usr/local/nginx

5. 進(jìn)入 /usr/local/nginx/conf 目錄,打開nginx.conf文件

a) 執(zhí)行命令: cd /usr/local/nginx/conf 進(jìn)入目錄

b) 執(zhí)行命令: vim nginx.conf server 里編輯以下內(nèi)容:

 charset utf-8;

 location / {

 include uwsgi_params;

 uwsgi_pass 127.0.0.1:8997;

 uwsgi_param UWSGI_SCRIPT mysite.wsgi;

 uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite;

 }

 location /static/ {

 alias /data/wwwroot/mysite/static/; #靜態(tài)文件目錄

 }

要記得保存!

6. 執(zhí)行命令: cd /usr/local/nginx/sbin 進(jìn)入 /usr/local/nginx/sbin/ 目錄

7. 執(zhí)行命令: ./nginx -t (千萬(wàn)不要忘了那個(gè) .

8. 如果成功了,就執(zhí)行命令: ./nginx

注意:終端沒(méi)有任何提示就證明nginx啟動(dòng)成功??梢允褂媚愕姆?wù)器地址查看,成功之后就會(huì)看到一個(gè)nginx歡迎頁(yè)面。

啟動(dòng)uwsgi和nginx

uwsgi --ini /home/wwwroot/mysite.ini &
/etc/init.d/nginx start

十、訪問(wèn)項(xiàng)目的頁(yè)面

1. 執(zhí)行命令: cd /data/wwwroot/mysite/ 進(jìn)入Django項(xiàng)目目錄

2. 執(zhí)行命令: uwsgi -x mysite.xml

3. 如果沒(méi)有報(bào)錯(cuò),那么:

A) 執(zhí)行命令: cd /usr/local/nginx/sbin/ 進(jìn)入目錄

B) 執(zhí)行命令: ./nginx -s reload 重啟nginx

4. 然后在瀏覽器里輸入IP就OK了!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容