国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - Nginx - 聊聊Django+uwsgi+nginx服務器部署問題

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

2022-03-02 21:48Jason 20 Nginx

這篇文章主要介紹了Django+uwsgi+nginx服務器部署的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

準備工作

推薦使用anaconda進行python環境的管理,因python環境容易出現各種版本沖突問題

安裝anaconda:

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

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

把conda添加到環境變量

?
1
vim /etc/profile

在文件末尾添加

?
1
2
PATH=$PATH:/root/anaconda3/bin      # 根據目錄情況
export PATH

啟用環境變量

?
1
source /etc/profile

新增合適的虛擬環境

?
1
2
3
4
5
conda env list          # 查看環境
conda create -n myDjango python=3.7.5
conda activate myDjango
# 啟動虛擬環境時可能需要先
source activate

安裝需要的組件

需要的有django,uwsgi,nginx

?
1
2
3
pip install django      # 版本為4以上
pip install uwsgi      
yum install nginx

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

?
1
2
3
python -m django --version
uwsgi --version
nginx -V

創建django程序(本地)

可在pycharm中一鍵創建,也可以使用命令行創建

?
1
django-admin startproject mysite

獲得目錄如下

?
1
2
3
4
5
6
7
8
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • manage.py 用于啟動項目 python manage.py runserver
  • 二級mysite可對項目進行整體配置
  • mysite/settings.py 項目配置文件,包含數據庫,debug,語言時區等
  • mysite/urls.py 配置項目路由
  • mysite/wsgi.py 使用uwsgi管理django程序時需要用到

創建應用

?
1
python manage.py startapp myApp

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

?
1
2
3
4
5
6
7
8
9
myApp/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

使用文件傳輸工具將django程序傳輸到服務器

可使用xftp,filezilla或寶塔之類

部署工作

配置uwsgi

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

我的項目目錄為/home/mysite

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

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

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

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

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

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

配置nginx

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

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

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

?
1
2
uwsgi_pass 0.0.0.0:8000;            # 與uwsgi.ini文件配置的socket保持一致
include /etc/nginx/uwsgi_params;    # 引用nginx的uwsgi_params載入參數

server部分如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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

?
1
server nginx start/stop/restart

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

?
1
netstat -tlnp|grep 80

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

配置ssl證書以提供https訪問

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

更改nginx.conf配置文件server內容

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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服務才能生效

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

原文鏈接:https://blog.csdn.net/m0_48878393/article/details/123196851

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产情侣一区二区三区 | 免费在线观看毛片 | 国产成人毛片 | 永久91嫩草亚洲精品人人 | 亚洲视频在线观看 | 日韩超碰 | 欧美在线一区二区 | 国产精品欧美一区二区三区 | 国产一区二区三区四区在线观看 | 欧美综合婷婷 | av中文字幕在线播放 | 成人a毛片 | 视频一区在线观看 | 欧美精品在线一区二区三区 | 日韩国产欧美视频 | 俺去操 | 欧美中文字幕一区二区三区亚洲 | 91免费在线播放 | 成人午夜毛片 | 国产精品久久久久久久久久久久久 | 中文字幕免费在线观看视频 | 国产激情在线观看 | 亚洲国产精品久久人人爱 | 蜜桃视频一区二区三区 | 日韩免费高清视频 | 伊人激情综合 | 欧美日韩国产高清 | 欧美日韩激情一区 | 成人久久久久爱 | 国产成人福利在线 | www.久草| 一区二区三区视频在线观看 | 色播久久 | 一级片av | 久久亚| 国产亚洲精品久久久456 | 四虎永久在线观看 | 国产91精品一区二区绿帽 | 午夜av电影 | 久久免费视频3 | h片在线 |