最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

聊聊Django+uwsgi+nginx服務器部署問題

 更新時間:2022年03月02日 09:02:15   作者:Jason?20  
這篇文章主要介紹了Django+uwsgi+nginx服務器部署的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

準備工作

推薦使用anaconda進行python環(huán)境的管理,因python環(huán)境容易出現(xiàn)各種版本沖突問題

安裝anaconda:

wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
bash Anaconda3-2020.11-Linux-x86_64.sh

一路回車,有提示后“yes”再回車,這里安裝到的目錄在/root下

把conda添加到環(huán)境變量

vim /etc/profile

在文件末尾添加

PATH=$PATH:/root/anaconda3/bin		# 根據(jù)目錄情況
export PATH

啟用環(huán)境變量

source /etc/profile

新增合適的虛擬環(huán)境

conda env list			# 查看環(huán)境
conda create -n myDjango python=3.7.5
conda activate myDjango
# 啟動虛擬環(huán)境時可能需要先
source activate

安裝需要的組件

需要的有django,uwsgi,nginx

pip install django		# 版本為4以上
pip install uwsgi		
yum install nginx

使用查看版本語句查看是否安裝成功

python -m django --version
uwsgi --version
nginx -V

創(chuàng)建django程序(本地)

可在pycharm中一鍵創(chuàng)建,也可以使用命令行創(chuàng)建

django-admin startproject mysite

獲得目錄如下

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • manage.py 用于啟動項目 python manage.py runserver
  • 二級mysite可對項目進行整體配置
  • mysite/settings.py 項目配置文件,包含數(shù)據(jù)庫,debug,語言時區(qū)等
  • mysite/urls.py 配置項目路由
  • mysite/wsgi.py 使用uwsgi管理django程序時需要用到

創(chuàng)建應用

python manage.py startapp myApp

得到app目錄如下,可在此編寫視圖模塊等,然后在urls內(nèi)編寫路由以提供訪問,不再贅述

myApp/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

使用文件傳輸工具將django程序傳輸?shù)椒掌?/h3>

可使用xftp,filezilla或?qū)毸?/p>

部署工作

配置uwsgi

在以放到服務器上的django項目目錄下創(chuàng)建uwsgi.ini文件,即uwsgi配置

我的項目目錄為/home/mysite

[uwsgi]
chdir=/home/djangoProject	# 項目位置
#socket=:8000				# 通過nginx使用的配置
http=:8000					# 單獨啟動時使用的配置
wsgi-file=/home/djangoProject/djangoProject/wsgi.py		# 項目中wsgi文件位置
process=4
threads=2
pidfile=uwsgi.pid			# 生產(chǎn)pid,log文件,以查看日志和pid信息
daemonize=uwsgi.log
master=True

此時可以啟動uwsgi來啟動項目

uwsgi --ini uwsgi.ini	# 通過剛創(chuàng)立的ini配置來啟動,會生成pid和log文件
uwsgi --stop uwsgi.pid	# 必須使用pid文件來停止程序

此時可以使用端口查看語句查看程序是否已經(jīng)運行

netstat -tlnp|grep 8000	# django程序默認開啟端口為8000,也可在ini文件中自行修改

若已成功啟動,一句可以通過訪問域名/ip:8000訪問django程序

配置nginx

首先需要將uwsgi.ini配置進行更改,取消http,打開socket

[uwsgi]
chdir=/home/djangoProject	# 項目位置
socket=:8000				# 通過nginx使用的配置
#http=:8000					# 單獨啟動時使用的配置
wsgi-file=/home/djangoProject/djangoProject/wsgi.py		# 項目中wsgi文件位置
process=4
threads=2
pidfile=uwsgi.pid			# 生產(chǎn)pid,log文件,以查看日志和pid信息
daemonize=uwsgi.log
master=True

nginx配置文件默認在/etc/nginx/nginx.conf,需要編輯的是http下的server內(nèi)容
location中增加兩個內(nèi)容

uwsgi_pass 0.0.0.0:8000;			# 與uwsgi.ini文件配置的socket保持一致
include /etc/nginx/uwsgi_params;	# 引用nginx的uwsgi_params載入?yún)?shù)

server部分如下

server {
    listen       80;
    listen       [::]:80;
    server_name  _;
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;
    location / {
    		uwsgi_pass 0.0.0.0:8000;
    		include /etc/nginx/uwsgi_params;
    }
}

可以用nginx -t語句檢查是否合法
通過server語句啟動/停止/重啟 nginx

server nginx start/stop/restart

nginx默認開啟端口為80,也可通過查看端口情況觀察是否成功開啟

netstat -tlnp|grep 80

若啟動成功則nginx反向代理成功,已經(jīng)可以通過訪問80端口訪問django程序

配置ssl證書以提供https訪問

需要在服務器代理廠商處申請ssl證書并下載nginx版本,將得到包含域名在內(nèi)的證書文件.pem和證書密鑰.key,將兩個文件傳輸?shù)椒掌鱪ginx目錄下,最好建立一個證書專用目錄

更改nginx.conf配置文件server內(nèi)容

server {
    listen       443 ssl http2;
    listen       [::]:443 ssl http2;
    server_name  _;
    root         /usr/share/nginx/html;

    ssl_certificate "/etc/nginx/cert/證書名.pem";
    ssl_certificate_key "/etc/nginx/證書密鑰.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;
    location / {
            uwsgi_pass 0.0.0.0:8000;
            include /etc/nginx/uwsgi_params;
    }
    error_page 404 /404.html;
        location = /40x.html {
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
}

注:每次更改nginx配置都需要重啟nginx服務才能生效

到此這篇關(guān)于Django+uwsgi+nginx服務器部署的文章就介紹到這了,更多相關(guān)Django+uwsgi+nginx服務器部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實現(xiàn)示例

    使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實現(xiàn)示例

    本文主要介紹了使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 利用Nginx反向代理功能自建CDN加速頁面服務

    利用Nginx反向代理功能自建CDN加速頁面服務

    這篇文章主要介紹了利用Nginx反向代理功能自建CDN加速頁面服務方法,需要的朋友可以參考下
    2024-03-03
  • nginx關(guān)于add_header的坑及解決

    nginx關(guān)于add_header的坑及解決

    這篇文章主要介紹了nginx關(guān)于add_header的坑及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 深入探究Nginx負載均衡原理及配置方法

    深入探究Nginx負載均衡原理及配置方法

    Nginx 作為一款卓越的 Web 服務器,不僅提供了強大的性能,還內(nèi)置了負載均衡功能,本文將深入研究 Nginx 負載均衡的原理、策略以及配置方法,助您構(gòu)建一個穩(wěn)定、高效的應用架構(gòu),需要的朋友可以參考下
    2023-08-08
  • nginx?搭建http-flv(rtmp)流媒體的方法步驟

    nginx?搭建http-flv(rtmp)流媒體的方法步驟

    本文主要介紹了nginx?搭建http-flv(rtmp)流媒體的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2023-06-06
  • Nginx安裝與使用教程詳解

    Nginx安裝與使用教程詳解

    這篇文章主要介紹了Nginx安裝與使用教程詳解的相關(guān)資料
    2016-09-09
  • ELK與Grafana聯(lián)合打造可視化監(jiān)控來分析nginx日志

    ELK與Grafana聯(lián)合打造可視化監(jiān)控來分析nginx日志

    這篇文章主要為大家介紹了ELK與Grafana的聯(lián)合打造可視化監(jiān)控來分析nginx日志,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • 文件上傳到服務器文件名中文亂碼問題

    文件上傳到服務器文件名中文亂碼問題

    上傳附件到部署服務器,但是上傳到服務器出現(xiàn)文件名中文亂碼,中文變成(?)問號,而且在本地測試是正常的,通過打印日志發(fā)現(xiàn),下面fileName亂碼,本文給大家講解文件上傳到服務器文件名中文亂碼問題解決方案,感興趣的朋友一起看看吧
    2024-02-02
  • 配置Nginx實現(xiàn)訪問本地靜態(tài)資源的完整指南

    配置Nginx實現(xiàn)訪問本地靜態(tài)資源的完整指南

    Nginx 是一個高性能的 HTTP 服務器和反向代理服務器,廣泛用于靜態(tài)資源的托管和負載均衡,在開發(fā)和生產(chǎn)環(huán)境中,我們常常需要使用 Nginx 來提供本地靜態(tài)資源的訪問,本文將詳細介紹如何配置 Nginx 以便訪問本地靜態(tài)資源,需要的朋友可以參考下
    2024-08-08
  • 通過nginx實現(xiàn)方向代理過程圖解

    通過nginx實現(xiàn)方向代理過程圖解

    這篇文章主要介紹了通過nginx實現(xiàn)方向代理過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02

最新評論

赤壁市| 雅安市| 余干县| 开原市| 南华县| 文成县| 兰州市| 哈尔滨市| 聊城市| 开鲁县| 宣恩县| 米易县| 古交市| 通河县| 邵阳市| 潍坊市| 万荣县| 河津市| 盱眙县| 凤城市| 新巴尔虎左旗| 怀远县| 新蔡县| 广安市| 修水县| 逊克县| 伊吾县| 永嘉县| 剑河县| 荆州市| 扎鲁特旗| 乌兰察布市| 天柱县| 苏州市| 苏尼特左旗| 肃北| 景洪市| 依兰县| 遂昌县| 阳信县| 基隆市|