成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基于Django框架的網(wǎng)站部署

wanghui / 2257人閱讀

摘要:對(duì)于剛?cè)腴T的同學(xué),當(dāng)完成了項(xiàng)目代碼,在本地的調(diào)試沒(méi)問(wèn)題后,會(huì)遇到如何讓項(xiàng)目上線的問(wèn)題。域名的獲得很簡(jiǎn)單,隨便注冊(cè)購(gòu)買一個(gè)就好了。然后需要的是將域名解析到你的公網(wǎng)。例如執(zhí)行,就是自帶的用于調(diào)試的基于的服務(wù)程序。

對(duì)于剛?cè)腴T的同學(xué),當(dāng)完成了項(xiàng)目代碼,在本地localhost的調(diào)試沒(méi)問(wèn)題后,會(huì)遇到如何讓項(xiàng)目上線的問(wèn)題。
網(wǎng)上的資料過(guò)于繁雜,因此希望這篇能簡(jiǎn)單地為剛?cè)腴T的同學(xué)解惑。
1.域名

????首先,當(dāng)我們輸入一個(gè)網(wǎng)址http://www.example.com/時(shí),首先經(jīng)過(guò)DNS解析到對(duì)應(yīng)的IP地址,從而對(duì)該IP實(shí)現(xiàn)訪問(wèn)。所以,要讓別人訪問(wèn)我們項(xiàng)目的第一步,就是需要擁有兩樣?xùn)|西,域名和公網(wǎng)ip。
????域名的獲得很簡(jiǎn)單,隨便注冊(cè)購(gòu)買一個(gè)就好了。然后需要的是將域名解析到你的公網(wǎng)ip。而公網(wǎng)ip,一般在購(gòu)買云服務(wù)器的時(shí)候能獲得。
????經(jīng)過(guò)這一步,我們實(shí)現(xiàn)了:請(qǐng)求-->DNS-->服務(wù)器ip,而我們的最終目的就是:請(qǐng)求-->DNS-->服務(wù)器ip-->黑盒子-->項(xiàng)目wsgi應(yīng)用

2.使用gunicorn運(yùn)行項(xiàng)目

????在此,我們使用django搭建項(xiàng)目,當(dāng)你的項(xiàng)目完成后。我們需要運(yùn)行監(jiān)聽請(qǐng)求,接收請(qǐng)求并調(diào)用相應(yīng)的wsgi應(yīng)用的服務(wù)程序。例如執(zhí)行python manage.py runserver 0.0.0.0:8000,runserver 就是django 自帶的用于調(diào)試的基于wsgi的服務(wù)程序。

在云服務(wù)器上我們創(chuàng)建一個(gè)項(xiàng)目

django-admin.py startproject blog

其中wsgi.py

import os
import sys
# 當(dāng)使用virtualenv等隔離項(xiàng)目環(huán)境時(shí),需要將項(xiàng)目的路徑添加添加到查找路徑中
path = os.getcwd()
if path not in sys.path:
    sys.path.append(path)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

我們?cè)陧?xiàng)目下執(zhí)行以下命令

gunicorn wsgi:application

默認(rèn)綁定127.0.0.1:8000,具體gunicorn 的使用可以自行g(shù)oogle一下
此時(shí),我們能就能通過(guò)本地8000端口來(lái)訪問(wèn)我們的項(xiàng)目?jī)?nèi)容了。實(shí)現(xiàn)了:請(qǐng)求-->DNS-->服務(wù)器ip-->黑盒子-->127.0.0.1:8000-->項(xiàng)目wsgi應(yīng)用

3.nginx接收外部請(qǐng)求,內(nèi)部轉(zhuǎn)發(fā)

在/etc/nginx/sites-available/文件夾下,新建一個(gè)文件blog,并添加如下簡(jiǎn)單設(shè)置

server {
    listen 80;
    server_name  你的域名 你的公網(wǎng)ip(可選);
    access_log  /var/log/nginx/blog.log;
    location /static {
        #靜態(tài)文件如js,css的存放目錄
        root /project/blog;
    }
    location / {
        include proxy_params;
        # 從外部接收請(qǐng)求后轉(zhuǎn)發(fā)到本地的8000端口
        proxy_pass http://127.0.0.1:8000;
    }
}

從上面我們就可以明白,nginx 接收到請(qǐng)求后,轉(zhuǎn)發(fā)給gunicorn正在監(jiān)聽的本地8000端口,gunicorn根據(jù)請(qǐng)求調(diào)用項(xiàng)目中相應(yīng)的應(yīng)用函數(shù)后返回結(jié)果。
自此我們就基本實(shí)現(xiàn)了請(qǐng)求-->DNS-->服務(wù)器ip-->nginx(80端口)-->127.0.0.1:8000-->項(xiàng)目wsgi應(yīng)用
而關(guān)于nginx和gunicorn的具體配置還有許多,不妨多google一下延伸學(xué)習(xí)

4.總結(jié)

gunicorn讓項(xiàng)目跑起來(lái)
nginx負(fù)責(zé)接收請(qǐng)求和轉(zhuǎn)發(fā)請(qǐng)求到運(yùn)行中項(xiàng)目監(jiān)聽請(qǐng)求的端口
部署到線上,主要需要域名,公網(wǎng)ip,二者均可以通過(guò)云服務(wù)器來(lái)解決,所以最好還是直接買個(gè)云服務(wù)器實(shí)踐一下,just do it

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38475.html

相關(guān)文章

  • 基于Django框架網(wǎng)站部署

    摘要:對(duì)于剛?cè)腴T的同學(xué),當(dāng)完成了項(xiàng)目代碼,在本地的調(diào)試沒(méi)問(wèn)題后,會(huì)遇到如何讓項(xiàng)目上線的問(wèn)題。域名的獲得很簡(jiǎn)單,隨便注冊(cè)購(gòu)買一個(gè)就好了。然后需要的是將域名解析到你的公網(wǎng)。例如執(zhí)行,就是自帶的用于調(diào)試的基于的服務(wù)程序。 對(duì)于剛?cè)腴T的同學(xué),當(dāng)完成了項(xiàng)目代碼,在本地localhost的調(diào)試沒(méi)問(wèn)題后,會(huì)遇到如何讓項(xiàng)目上線的問(wèn)題。 網(wǎng)上的資料過(guò)于繁雜,因此希望這篇能簡(jiǎn)單地為剛?cè)腴T的同學(xué)解惑。 1.域名...

    liaosilzu2007 評(píng)論0 收藏0
  • CentOS 5系統(tǒng)安裝Django、Apache 、mod_wsgi部署Python環(huán)境教程

    摘要:系統(tǒng)安裝部署環(huán)境教程第一安裝依賴環(huán)境在準(zhǔn)備安裝框架部署之前,我們需要先安裝依賴環(huán)境,因?yàn)榭赡苣J(rèn)的環(huán)境沒(méi)有完善的最新部署包。檢查最新版本的數(shù)據(jù)庫(kù),然后部署安裝。到目前為止,我們已經(jīng)成功的在環(huán)境中部署了應(yīng)用程序,以及。 Django,是一款針對(duì)Python環(huán)境的WEB開發(fā)框架,能夠幫助我們構(gòu)架快捷、簡(jiǎn)單的WEB框架設(shè)置,Django框架非常適合開發(fā)內(nèi)容應(yīng)用環(huán)境,所以在本文中,麥子將整理基...

    褰辯話 評(píng)論0 收藏0
  • django官方文檔1.11編翻:首頁(yè)

    摘要:源網(wǎng)頁(yè)說(shuō)明文檔所有關(guān)于你應(yīng)該且必須知道的。性能和優(yōu)化概述的兼容性旨在兼容多種不同版本的支持的兼容性地理框架打算成為世界級(jí)的地理框架。其目標(biāo)是盡可能簡(jiǎn)單地構(gòu)建應(yīng)用程序并利用空間使能數(shù)據(jù)的功能。 源網(wǎng)頁(yè):https://docs.djangoproject.co... django說(shuō)明文檔 所有關(guān)于django你應(yīng)該且必須知道的。 第一步 你是否django編程新手,那就從此開始!從零開始...

    Michael_Lin 評(píng)論0 收藏0
  • BMPlatform:一個(gè)在mac上部署nginx,tornado,django,php以及mysq

    摘要:項(xiàng)目地址部署的方案都在腳本里頭,說(shuō)明如下使用方法版本簡(jiǎn)單介紹是一個(gè)利用轉(zhuǎn)發(fā)操作系統(tǒng)中部署的基于框架和框架以及一個(gè)的服務(wù)。個(gè)服務(wù)是部署在環(huán)境中,通過(guò)和進(jìn)行發(fā)送和接收消息。在前臺(tái)以及整個(gè)主要利用去操作。 項(xiàng)目地址:https://github.com/yuyangit/BMProject 部署的方案都在腳本里頭,說(shuō)明如下: BMPlatform使用方法 版本 v0.2 1.簡(jiǎn)單介紹...

    ernest.wang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

wanghui

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<