1. 程式人生 > >將一個Django專案部署到伺服器

將一個Django專案部署到伺服器

環境:Ubuntu 16.04,Python3.5,此處資料庫使用sqlite
步驟:
1.安裝Python3

    sudo apt install python3.5 
    sudo apt update
    sudo  apt install python3-pip

2.安裝虛擬環境及虛擬環境管理
使用apt命令安裝虛擬環境和虛擬環境管理工具:

    sudo  apt install python3-virtualenv
    sudo  pip3 install virtualenvwrapper

配置虛擬環境的相關環境變數:
開啟配置檔案:vim .bashrc
新增:
(如果安裝了python2和python3,需要指定一下)

    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.5
    export WORKON_HOME=/root/.virtualenvs
    source /usr/local/bin/virtualenvwrapper.shh

退出vim,
重新整理環境變數:source .bashrc

3.在虛擬環境中安裝各種依賴

mkvirtualenv xx -p /usr/bin/python3  指定環境建立
mvvirtualenv xx 移除
workon xx  進入虛擬環境
pip freeze > virtualpackage.txt  將之前專案環境中所用到的所有依賴匯入到virtualpackage檔案中
pip install -r virtualpackage.txt   將virtualpackage檔案中所有的依賴安裝到建立好的虛擬環境中
deactivate 退出虛擬環境。

4.uwsgi安裝與配置
pip3 install uwsgi 安裝uwsgi
建立一個使用者組:

    groupadd uwsgi

在該使用者組下建立一個使用者:

    useradd uwsgi -g uwsgi -s /usr/sbin/nologin

將專案檔案放在自動生成的/home/uwsgi資料夾下。

vim uwsgi.ini 開啟(建立)配置檔案
配置檔案內容如下:

[uwsgi]
user=uwsgi
; 使用nginx連線時 使用
socket=127.0.0.1:8000
;直接作為web伺服器使用
;http=127.0.0.1:8000
;配置工程目錄
chdir=/home/uwsgi/blog ;配置專案的wsgi目錄。相對於工程目錄 wsgi-file=blog/wsgi.py ;wsgi-file = manage.py ;callable = app ;指定虛擬環境目錄 virtualenv = /root/.virtualenvs/djangoenv ;指定pythonpath pythonpath=/root/.virtualenvs/djangoenv/lib/python3.5/site-packages ;配置程序,執行緒資訊 processes=2 threads=2 ;啟用多執行緒 enable-threads=True ;允許主程序開子程序 master=True ;程序日誌 pidfile=uwsgi.pid ;業務日誌 daemonize=uwsgi.log

uwsgi –ini uwsgi.ini 啟動uwsgi
ps -ef|grep uwsgi 檢視程序

    (djangoenv) [email protected]: blog $ ps -ef|grep uwsgi
    root     29944     1  4 21:45 ?        00:00:00 uwsgi --ini uwsgi.ini
    root     29946 29944  0 21:45 ?        00:00:00 uwsgi --ini uwsgi.ini
    root     29948 29699  0 21:45 pts/0    00:00:00 grep --color=auto uwsgi

5.nginx安裝與配置

apt install nginx

安裝好之後進入nginx配置檔案進行修改

vim /etc/nginx/nginx.conf

這裡只將配置檔案中server部分拿了出來:

server {
    # 監聽在80埠
    listen 80;

    # 主機地址
    server_name 39.108.80.246;

    # 如果有域名,可以使用域名代替主機地址
    #server_name www.blog.com blog.com;

    # 訪問路由就是主機地址時,
    location / {

            # 反向代理監聽在127.0.0.1:8000位置的uwsgi伺服器
            # 前提是uwsgi已經執行並監聽在8000埠
            include uwsgi_params;
            uwsgi_pass 127.0.0.1:8000;
    }

    # 訪問靜態資源
    location /static {
        #root html/blog;

        # 靜態資源目錄
        alias /root/code/blog/static;
    }

}

配置好配置檔案後,測試配置檔案:

[email protected]: nginx $ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

啟動nginx

相關推薦

一個Django專案部署伺服器

環境:Ubuntu 16.04,Python3.5,此處資料庫使用sqlite 步驟: 1.安裝Python3 sudo apt install python3.5 sudo apt update sudo apt instal

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

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

django專案部署伺服器

如何在阿里雲上部署 Django 應用程式 概述與目的 此帖介紹瞭如何(利用 Ubuntu 作業系統)在阿里雲上啟動和部署 Django 應用程式。這兩個流程的詳細步驟說明如下所述:● 使用阿里雲管理控制檯啟動您的第一個 Linux 例項● 在此例項上安裝和部署 Django 應用程式 關

[學習筆記] Python 虛擬環境的安裝以及django專案部署到nginx伺服器

安裝Python虛擬環境 sudo apt install python3-pip python3-dev build-essential sudo pip3 install --upgrade pip sudo pip3 install virtualenv MySQL

如何Java web專案部署伺服器

  學習Java 程式設計一年了, 下面就和大家一起分享一下如何將 java web 專案釋出到伺服器 使外網可以訪問          1.首先得有一臺伺服器, 可以購買也可以租          2.這裡拿租的伺服器為例:            下圖中的伺服器型別為wi

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

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

伺服器小白的我,是如何成功 node+mongodb 專案部署伺服器上並進行效能優化的

前言 本文講解的是:做為前端開發人員,對伺服器的瞭解還是小白的我,是如何一步步將 node+mongodb 專案部署在阿里雲 centos 7.3 的伺服器上,並進行效能優化,達到頁面 1 秒內看到 loading ,3 秒內看到首屏內容的。 搭建的專案是採用了主

解決django專案部署到nginx+uwsgi伺服器admin後臺樣式消失的問題

摘要: uwsgi為主要伺服器,nginx為反向代理伺服器 部署完成之後發現django後臺admin訪問時無樣式 解決方法如下: 1.先開啟django專案中settings.py檔案(/bl

伺服器小白的我,是如何 node+mongodb 專案部署伺服器上並進行效能優化的

前言 本文講解的是:做為前端開發人員,對伺服器的瞭解還是小白的我,是如何一步步將 node+mongodb 專案部署在阿里雲 centos 7.3 的伺服器上,並進行效能優化,達到頁面 1 秒內看到 loading ,3 秒內看到首屏內容的。 搭建的專案是採用了主流的前後端分離思想的,這裡只講 伺服器環境

如何python的專案部署到其他沒有安裝python環境的電腦

首先安裝pyinstaller 命令pip3 install pyinstaller 到專案要執行的程式碼的那個.py檔案(例如testPyinstaller.py),右鍵copy path, (例如我的是D:\workspaceForPy\testPyinstaller\.idea\t

Ubuntu下flask Django專案部署

Ubuntu下python框架 Django Flask 專案部署 使用nginx 一。下載安裝 nginx 方法1:https://blog.csdn.net/b_evan/article/details/72858149 方法2: 1.去nginx管網 2.選擇download

深入淺出maven系列(三)---maven構建ssh工程(父工程與子模組的拆分與耦合) 前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!!

        前一節我們初識了maven並且掌握了maven的常規使用,這一節就來講講它的一個重要的場景,也就是通過maven將一個ssh專案分隔為不同的幾個部門獨立開發,很重要,加油!!! 一、maven父工

Python - 第一個 Django 專案

開啟 PyCharm 選單欄 -> 檔案 -> 新建專案 選擇 Django,然後選擇專案路徑,最後點選“Create” 選擇第一個,另起視窗 settings.py 是跟設定相關的,urls.py 存放路徑和函式對應關係,wsgi.py 跟 socket 通訊相關的,mana

2018年9月26日Django的安裝以及建立第一個Django專案和子模組

python字串物件的find()和index()方法的區別? index()和find()函式都是用於查詢字串,但是index()在沒有找到子串的時候會有報錯丟擲異常,影響程式執行。find()在找不到目標子串時不會丟擲異常,而是會返回-1,因此不會影響程式的執行。   函式

flask 專案 部署伺服器,package安裝問題(無外網連結)

1.安裝所需的環境/包 1) 在一臺開發機器(有網路,編譯成功)安裝package: pipreqs 語法: pipreqs <專案路徑> 將會到處專案所使用的所有包目錄將會匯出至目錄:requirems.txt 2) 離線下載所有包 pip download -d c:/pack

Django專案部署 3

建立APP   在Django中,專案是網站的框架和容器,APP是一個具體的WEB應用程式,用來實現具體的功能和完成具體的事項,一個專案裡可以有多個APP,就像一個網站可以有文章系統,論壇系統,後臺系統,每一個APP也可以剝離出來作為獨立的模組元件。   python manage.py startapp

Django專案部署 2

修改manage.py檔案中的python為python3 設定模板目錄   建立一個與專案同級的目錄(templates)用來放置以後需要使用到的HTML檔案   在setting.py檔案中,將新建立的目錄設為模板引擎的路徑   即在空的 DIRS 列表裡新增以下命令   os.path.joi

超詳細講解Django打造大型企業官網之Django專案部署

326-在開發機上的準備工作 327-在伺服器上安裝vim、MySQL、memcached等 328-在伺服器上安裝Python環境、Git、虛擬環境等 329-生產環境Django專案部署 330-用uWSGI部署Django專案 331-用Nginx+uWS

使用virtualenv建立python虛擬環境和第一個Django專案

python虛擬環境--virtualenv virtualenv是一個建立隔絕的Python環境的工具。virtualenv建立一個包含所有必要的可執行檔案的資料夾,用來使用Python工程所需的包. window安裝 pip install virtualenv 或 pip3

Django專案部署(django+guncorn+virtualenv+nginx)

  一、說明     為了django專案部署到生產環境上,能夠穩定的執行,且能夠同時指出http和https的訪問,對django的部署進行了一些研究,決定採用django + gunicorn + virtualenv +nginx + mysql的方式進行部署,下面是本