欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

聊聊Django+uwsgi+nginx服務(wù)器部署問題

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

準(zhǔn)備工作

推薦使用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)建應(yī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ù)椒?wù)器

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

部署工作

配置uwsgi

在以放到服務(wù)器上的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程序默認(rèn)開啟端口為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配置文件默認(rèn)在/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默認(rèn)開啟端口為80,也可通過查看端口情況觀察是否成功開啟

netstat -tlnp|grep 80

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

配置ssl證書以提供https訪問

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

更改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服務(wù)才能生效

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

相關(guān)文章

  • 一次nginx崩潰事件的實戰(zhàn)記錄

    一次nginx崩潰事件的實戰(zhàn)記錄

    nginx是一個被廣泛使用的集群架構(gòu)組件,我們有必要對它有足夠的了解,下面這篇文章主要給大家介紹了一次nginx崩潰事件的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • Nginx自定義日志中時間格式的操作方法

    Nginx自定義日志中時間格式的操作方法

    工作需要對接內(nèi)部的日志中臺,對日志打印有固定的格式要求,為了使Nginx的access日志也能被采集,需要對日志格式進行自定義,這篇文章主要介紹了Nginx自定義日志中時間格式,需要的朋友可以參考下
    2023-11-11
  • nginx 隱藏版本號與WEB服務(wù)器信息的解決方法

    nginx 隱藏版本號與WEB服務(wù)器信息的解決方法

    這篇文章主要介紹了nginx 隱藏版本號與WEB服務(wù)器信息的解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • Kubernetes中Nginx服務(wù)啟動失敗排查流程分析(Error:?ImagePullBackOff)

    Kubernetes中Nginx服務(wù)啟動失敗排查流程分析(Error:?ImagePullBackOff)

    這篇文章主要介紹了Kubernetes中Nginx服務(wù)啟動失敗排查流程(Error:?ImagePullBackOff),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Nginx限流和黑名單配置的策略

    Nginx限流和黑名單配置的策略

    這篇文章主要介紹了Nginx限流和黑名單配置,Nginx的限流主要是兩種方式,限制訪問頻率和限制并發(fā)連接數(shù),Nginx?按請求速率限速模塊使用的是漏桶算法,即能夠強行保證請求的實時處理速度不會超過設(shè)置的閾值,感興趣的朋友跟隨小編一起看看吧
    2022-05-05
  • Nginx配置動態(tài)代理后通過curl訪問報403問題

    Nginx配置動態(tài)代理后通過curl訪問報403問題

    本文主要介紹了Nginx配置動態(tài)代理后通過curl訪問報403問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • nginx共享內(nèi)存的機制詳解

    nginx共享內(nèi)存的機制詳解

    在nginx的進程模型下,類似流量統(tǒng)計、流量控制、數(shù)據(jù)共享、等需要多個工作進程共同配合完成任務(wù),共享內(nèi)存是一個重要的進程通訊的方案,本文主要介紹了nginx共享內(nèi)存的機制詳解,感興趣的可以了解一下
    2022-03-03
  • CentOS 7下編譯安裝Nginx 1.11.10教程

    CentOS 7下編譯安裝Nginx 1.11.10教程

    這篇文章主要介紹了在CentOS 7下編譯安裝Nginx 1.11.10的方法,文中給出了詳細(xì)的安裝步驟,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • Nginx 介紹及日常管理的詳解

    Nginx 介紹及日常管理的詳解

    這篇文章主要介紹了Nginx 介紹及日常管理的詳解的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • Ubuntu上安裝Nginx服務(wù)器程序及簡單的環(huán)境配置小結(jié)

    Ubuntu上安裝Nginx服務(wù)器程序及簡單的環(huán)境配置小結(jié)

    Nginx是一款高性能的異步非阻塞服務(wù)器應(yīng)用程序,人氣相當(dāng)高,這里我們就來看一下在Ubuntu上安裝Nginx服務(wù)器程序及簡單的環(huán)境配置小結(jié):
    2016-07-07

最新評論