1. 程式人生 > >Django (Ubuntu: uwsgi+nginx專案部署)

Django (Ubuntu: uwsgi+nginx專案部署)

1安裝 uwsgi

pip install uwsgi

2.在專案目錄下新建uwsgi.ini檔案 並且配置

chdir 是專案的根路徑

wsgi-file 專案目錄下的wsgi.py檔案  相對根目錄


3.在安裝好uwsgi的虛擬環境或非虛擬環境下啟動uwsgi :(我在虛擬環境裡安的 沒進虛擬環境就啟動 找不到命令 哈哈)

啟動:uwsgi --ini uwsgi.ini

停止:uwsgi --stop uwsgi.pid

重啟:uwsgi --reload uwsgi.pid

使用http協議檢視網站執行情況,執行正常,但是靜態檔案無法載入


安裝nginx  sudo apt-get install nginx

預設安裝到/usr/local/nginx目錄,進入此目錄執行命令

檢視版本:sudo sbin/nginx -v

啟動:sudo sbin/nginx

停止:sudo sbin/nginx -s stop

重啟:sudo sbin/nginx -s reload

通過瀏覽器檢視nginx執行結果

指向uwsgi專案:編輯conf/nginx.conf檔案



預設監聽埠是80 在/etc/nginx/sites-enabled 下default下可以修改預設埠 先不做修改


配置nginx

nginx預設會讀取/etc/nginx/sites-enabled/default檔案中的配置,修改其配置如下:

通過nginx訪問需要在uwsgi中用soket訪問修改  uwsgi.ini檔案 注意 uwsgi_pass 的地址與 uwsgi.ini檔案中的地址一致


啟動 uwsgi    uwsgi --ini uwsgi.ini

重啟 nginx  

啟動  sudo nginx

停止:sudo nginx -s stop

重啟:sudo nginx -s reload

在瀏覽器中輸入 127.0.0.1:80 通過nginx訪問


配置 靜態檔案目錄

location /static {

        alias /home/ubuntu/blog/static; # your Django project's static files - amend as required

}

# Django media

location /media {

alias /home/ubuntu/blog/media;

# your Django project's media files - amend as required

}

收集Django靜態檔案

把Django自帶的靜態檔案收集到同一個static中,不然訪問Django的admin頁面會找不到靜態檔案。在django的setting檔案中,新增下面一行內容:

STATIC_ROOT = os.path.join(BASE_DIR, "自己的靜態檔案目錄")在django主目錄的urls裡配置在專案urls裡配置static路徑
from django.views.static import serve
from blog.settings import MEDIA_ROOT, STATIC_ROOT
url(r'static/(?P<path>.*)$', serve, {'document_root': STATIC_ROOT}),
也可以新建存放靜態檔案目錄 進行配置 給目錄新增許可權 sudo chmod 777 ‘新建的目錄’保證和nginx配置的目錄相同即可

然後到專案目錄下執行:

python manage.py collectstatic # 採集靜態檔案到存放目錄  nginx會自動載入此目錄的靜態檔案並返回

修改配置檔案

DEBUG = False
ALLOWED_HOSTS = ['*']


相關推薦

Django (Ubuntu: uwsgi+nginx專案部署)

1安裝 uwsgipip install uwsgi2.在專案目錄下新建uwsgi.ini檔案 並且配置chdir 是專案的根路徑wsgi-file 專案目錄下的wsgi.py檔案  相對根目錄3.在安裝好uwsgi的虛擬環境或非虛擬環境下啟動uwsgi :(我在虛擬環境裡安

Diango + uwsgi + nginx 專案部署(可外網訪問) Diango + uwsgi + nginx 專案部署(可外網訪問)

轉載文章----Copyright ©2018 不懂得小白---連結:不懂得小白   Diango + uwsgi + nginx 專案部署(可外網訪問)  

ubuntu上web專案部署,:uwsgi, uwsgi + nginx, uwsgi+nginx分散式部署

Ubuntu中pip和pip3區別: pip預設給python2用,pip3預設給Python3使用 django中有runserver可以執行專案為什麼還要部署: 因為runserver是一個單執行緒的伺服器,不支援多執行緒訪問 專案部署有三種方式: 1. uwsgi 2. uwsgi +

ubuntu上web專案部署,:uwsgi, uwsgi + nginx, uwsgi+nginx分散式部署

Ubuntu中pip和pip3區別: pip預設給python2用,pip3預設給Python3使用 django中有runserver可以執行專案為什麼還要部署: 因為runserver是一個單執行緒的伺服器,不支援多執行緒訪問 專案部署有三種方式: 1. uwsgi

django+uwsgi+nginx+sqlite3部署

cli ups proc .py nginx 配置 char 端口 true 進程 一:項目(github) ssh root@server ip        # 連接你的服務器 git clone -b https://mygithub.com

ubuntu+uwsgi+nginx+django 手記

nginx 安裝nginx apt-get install nginx 啟動與停止 #啟動nginx服務 service nginx start #檢視nginx執行狀態 ps -ef | grep nginx #停止nginx服務 servic

Centos6.8:Django+uWSGI+Nginx+supervisord部署web伺服器

幫團隊的公司建個官網,部署伺服器的時候採用了騰訊雲推薦的Django+uWSGI+Nginx+supervisord方案,也採用過幾個教程,最後發現這兩個比較好: 官方教程(無supervisord),英文,怕英文的話太吃虧了。 騰訊雲的教程很簡潔,推薦下載

django2+uwsgi+nginx上線部署到服務器Ubuntu16.04(最新最詳細版)

鏈接 家庭 部署 txt 分享圖片 服務狀態 wsgi 國內 輸入密碼 1.前期準備 1.打開Terminal終端,執行以下命令,將項目所需要的依賴包,都記錄到一個文件內備用。 pip freeze >requirements.txt 2.將項目文件夾→右鍵→添

nginx專案部署

1、概念    1、Django專案(Web應用)    2、web服務        1、nginx        2、Apac

DjangoUwsgi+Nginx+Django2.0+Python3.7實現高併發,多執行緒,高效能

一、系統以及環境 伺服器系統:Ubuntu 16.04 專案環境:python 3.7 框架:Django2.0 伺服器環境:Uwsgi、Nginx 效能監測工具:Uwsgitop 使用背景:因為Dj

小白教你如何用Django+uwsgi+Nginx+騰訊雲ubuntu伺服器部署專案

背景   本篇部落格內容如題目所示,背景是前幾天幫老師寫了一個非常小的專案,大概是讓學生的家長可以登陸網址查閱孩子們的成績,前因後果就不在囉嗦了。在寫完Django成績查詢小專案後,面臨著專案的部署問題。在反覆跳進各種坑、查閱了各種技術說明文件和很多大牛的部落

uwsgi+nginx+Ubuntu部署Django專案(阿里雲)

如果使用預設的python   首先安裝程式需要的包apt-get install python-devapt-get install python-pipapt-get install net-toolsapt-get install lsof安裝資料庫apt-get in

專案部署nginx+uwsgi+django

1.概念 Django專案(web應用) web服務 nginx:高併發處理的好 Apache:穩定 LAMP:Linux Apache MySQL Python/Php/Per1 LNMP:Linux Nginx    My

ubuntu使用uwsgi+nginx部署django

ls -lha export WORKON_HOME=~/venv source /usr/local/bin/vitualenvwrapper.sh VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 安裝python3 apt-get update sudo apt-

UbuntuDjango+uWSGI+nginx部署

本文采用uwsgi+nginx來部署django 這種方式是將nginx作為服務端前端,將接受web所有的請求,統一管理,Nginx把所有的靜態請求自己處理,然後把所有非靜態請求通過uwsgi傳遞給Django,由Django來處理,從而完成一次web請求。 uwsgi pip3 ins

Django專案部署nginx+uWSGI+django+virtualenv+supervisor釋出web伺服器 )

一、簡介 WSGI是Web伺服器閘道器介面。它是一個規範,描述了Web伺服器如何與Web應用程式通訊,以及Web應用程式如何連結在一起以處理一個請求,(接收請求,處理請求,響應請求) 基於wsgi執行的框架有bottle,DJango,Flask,用於解析動態HTTP請求 支援WSGI的伺服器

django+uwsgi+Nginx 部署web專案

centos7下部署Django(nginx+uwsgi+python3+django) 1. yum install wget openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel (安裝這些模

Django專案部署:Python3+Django2+Nginx+Uwsgi

一.版本說明 系統:Ubuntu16.04(阿里雲) Python:Python3.7 Django:Django2 Nginx:Nginx1.10.3 二.安裝軟體 該操作使用的是root賬號,如果不是root賬號,那麼需要在命令前面加sudo.示例:sud

ubuntu部署python專案(virtualenv + flask + uwsgi + nginx)(附:部署過程中遇到的問題及解決方法)

以下為我部署pthon flask + virtualenv + uwsgi + nginx的艱苦之路(我使用的是ubuntu 及python3.6) 安裝好python3.6後(上一編文章有講啦): 建立python虛擬環境:VirtualEnv(非常牛逼及非常重要,在這裡你可以d

Django專案部署:Nginx+uWSGI伺服器

         在Django專案的開發中,Django框架集成了開發者的伺服器,但是在實際生產環境中並不能作為網站的伺服器。專案開發完成,需要將它放到伺服器上,這個伺服器有固定的ip,通過域名繫結,瀏覽器在訪問域名時就可以通過DNS解析出對應的伺服器ip地址。伺服器分為