Python中關於部署的詳細介紹
學了一段時間flask,可是一直沒有做過部署, 於是想著怎麼部署呢, 想想,先吧服務給搞通吧,於是呢就先想著去吧服務給搞起來,這裡選擇的是Flask+uwsgi+Nginx+Ubuntu, Python選擇的是2.7.2這個是Ubuntu系統自帶的學起來感覺還是簡單的不用去軟連,目前自己的flask是python3寫的,慢慢去過渡,先吧這個給搞通了,那麼在優化也是很順手的。其實對於很多的原理自己也是一知半解,先吧這個給搭起來,慢慢去了解裡面的邏輯什麼的。
Nginx
Nginx 是高效的Web 伺服器和反向代理伺服器,可以用作負載平衡(當有n 個使用者存取伺服器時,可以實現分流,分擔伺服器的壓力),與Apache 相比,Nginx 支援高並發,可以支援百萬級的TCP 連接,十萬級的並發連接,部署簡單,記憶體消耗少,成本低,但Nginx 的模組沒有Apache 豐富。 Nginx 支援 uWSGI 的 uwsgi 協議,因此我們可以將 Nginx 與 uWSGI 結合起來,Nginx 透過 uwsgi_pass
將動態內容交給 uWSGI 處理。
官方文件在這
最好的Nginx 教程在這
#uwsgi
- WSGI看過前面小節的同學很清楚了,是一種通訊協定。
- uwsgi是一種線路協定而非通訊協議,在此常用於在uWSGI伺服器與其他網路伺服器的資料通訊。
- 而uWSGI是實作了uwsgi和WSGI兩種協定的Web伺服器。
sudo apt-get install python-pip
使用下面指令去安裝flask
pip install flask
安裝後呢,我們可以去測試下,
import flask
沒有報錯證明我們的flask 是安裝成功的。那接下來我們要做的就是安裝ngnix和uwsgi。
sudo apt-get install nginx
安裝好以後,我們可以先啟動下, nginx start 直接命令列啟動,簡單粗暴
這樣我們的nginx就啟動成功了,接下來,我們就是利用pip 去安裝uwsgi
我們安裝好後,那麼接下來就開始開乾吧,
首先我在hellowflak下創建一個app的python的包,
#app/__init__.pyfrom flask import Flask app = Flask(__name__)from app import view
接下來我們去創建view.py
from app import app @app.route('/')def index():return 'hellow'
那麼我們去在app同級目錄創建hello. py
from app import appif __name__ == "__main__": app.run()
,那麼我們可以在本地利用Python去調試我們的程序,
$ sudo rm /etc/nginx/sites-enabled/default
server { listen 8081; server_name 127.0.0.1; charset utf-8; client_max_body_size 75M; location / { try_files $uri @app; } location @app { include uwsgi_params; uwsgi_pass 127.0.0.1:9000; } }
sudo ln -s <span class="hljs-regexp"><span class="hljs-regexp">/home/liwanlei/Desktop/hellowflask/<span class="hljs-regexp">helloflask_nginx.conf /etc<span class="hljs-regexp">/nginx/conf.d/<br/>这样我们再去启动我们的nginx,</span></span></span></span>
sudo /etc/init.d/nginx restart
[uwsgi] base = /home/liwanlei/Desktop/hellowflask app = hello#module = %(app)pidfile = /var/run/uwsgi.pid master = true wsgi-file = /home/liwanlei/Desktop/hellowflask/hello.py pythonpath = /usr/bin/python chdir = /home/liwanlei/Desktop/hellowflask socket = 127.0.0.1:9000callable = app logto = %n.log plugins = python processes = 8master = true
sudo /usr/bin/uwsgi --ini/home/liwanlei/Desktop/hellowflask/helloflask_uwsgi.ini
我们去重新启动我们的nginx,
sudo nginx <span class="hljs-_">reload<br/>平滑重启可以用用,重新加载配置文件,用新的工作进程代替旧的工作进程。<br/></span>
sudo nginx -s reload
<span class="hljs-_"><br/>启动后,我这里修改了地址,这里就可以直接访问了,那么我们的部署这样就算可以了,简单的。<br/><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/001/25f4d9be3a729ae5fc17c2fefb915c9c-3.jpg" class="lazy" alt=""/></span>
<br/>
完工之后,感觉还是很简单的 有问题那么就去看log,只要log配置得当,那么排除错误是很快的。
以上是Python中關於部署的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用JenkinsPipeline建置PHP程式的持續打包部署流程? Jenkins是一款非常受歡迎的持續整合和部署工具,它提供了豐富的插件和功能,使得建置和部署流程變得簡單且有效率。而JenkinsPipeline是Jenkins最新推出的插件,它允許我們使用完整的、可擴展的DSL(DomainSpecificLanguage)來定義持續整合和部

如何在Linux伺服器上部署可信賴的Web介面?簡介:在現今資訊爆炸的時代,Web應用已成為了人們獲取資訊和進行交流的主要途徑之一。為了確保使用者的隱私安全和資訊的可靠性,我們需要在Linux伺服器上部署一個可信賴的Web介面。本文將介紹如何在Linux環境下進行Web介面的部署,並提供相關的程式碼範例。一、安裝和設定Linux伺服器首先,我們要準備一個Li

如何在FastAPI中使用Docker容器化部署應用程式引言:Docker是一種容器化技術,它可以將應用程式及其依賴項打包成一個獨立的、可移植的容器,從而實現快速部署和擴展。 FastAPI是一個基於Python的現代、高效能的Web框架,它提供了簡單且快速的API開發體驗。本文將介紹如何在FastAPI中使用Docker容器化部署應用程序,並提供對應的程式碼示

如何解決Tomcat部署war包後無法成功存取的困擾,需要具體程式碼範例Tomcat作為一個廣泛使用的JavaWeb伺服器,允許開發人員將自己開發的網路應用程式打包為war檔進行部署。然而,有時我們可能會遇到部署war包後無法成功存取的問題,這可能是由於配置不正確或其他原因引起的。在本文中,我們將提供一些解決這個困擾的具體程式碼範例。一、檢查Tomcat服務

一、前言在过去的几年里,YOLOs由于其在计算成本和检测性能之间的有效平衡,已成为实时目标检测领域的主导范式。研究人员探索了YOLO的架构设计、优化目标、数据扩充策略等,取得了显著进展。同时,依赖非极大值抑制(NMS)进行后处理阻碍了YOLO的端到端部署,并对推理延迟产生不利影响。在YOLOs中,各种组件的设计缺乏全面彻底的检查,导致显著的计算冗余,限制了模型的能力。它提供了次优的效率,以及相对大的性能改进潜力。在这项工作中,目标是从后处理和模型架构两个方面进一步提高YOLO的性能效率边界。为此

如何使用Gunicorn部署Flask應用程式? Flask是一個輕量級的PythonWeb框架,被廣泛應用於開發各種類型的Web應用。而Gunicorn(GreenUnicorn)是一個基於Python的HTTP伺服器,用於運行WSGI(WebServerGatewayInterface)應用程式。本文將介紹如何使用Gunicorn部署Flask應用,並附

Tomcat部署Web專案的最佳實踐和常見問題解決方法引言:Tomcat作為一個輕量級的Java應用伺服器,在Web應用開發中得到了廣泛應用。本文將介紹Tomcat部署Web專案的最佳實務和常見問題解決方法,並提供具體的程式碼範例,幫助讀者更好地理解和應用。一、專案目錄結構規劃在部署Web專案之前,我們需要規劃專案的目錄結構。一般來說,我們可以按照以下方式組織

Gunicorn和Flask:完美的部署組合,需要具體程式碼範例概述:對於開發者來說,選擇適合的部署方式是非常重要的,尤其是對於Python的Web應用程式而言。在Python的Web框架中,Flask是非常流行的選擇,而Gunicorn則是一種部署Python應用程式的伺服器。本文將介紹Gunicorn和Flask的組合,並提供一些具體的程式碼範例,以幫助讀者
