한동안 플라스크를 배웠지만 배포한 적이 없어서 어떻게 배포할지 고민하다가 먼저 서비스를 올려볼까 고민을 하게 되었습니다. 여기서 선택은 Flask+uwsgi+Nginx+Ubuntu입니다. 저는 Python 2.7.2를 선택했습니다. 이것은 Ubuntu 시스템과 함께 제공되는 것입니다. 현재는 소프트웨어 연결을 거치지 않고도 쉽게 배울 수 있습니다. python3으로 작성하겠습니다. 일단 이것부터 시작하겠습니다. 일단 알아내면 최적화하기가 매우 쉬울 것입니다. 사실 저는 많은 원리에 대해 잘 모릅니다. 먼저 이것을 설정하고 그 내부의 논리를 천천히 이해해 봅시다.
Nginx는 로드 밸런싱으로 사용할 수 있는 효율적인 웹 서버이자 역방향 프록시 서버입니다(n명의 사용자가 서버에 액세스하면 서버에 대한 부담을 덜어주고 공유할 수 있음). Nginx는 Apache와 비교하여 지원합니다. 동시성이 높고 수백만 개의 TCP 연결과 수십만 개의 동시 연결을 지원할 수 있습니다. 배포가 간단하고 메모리를 덜 소비하며 비용이 저렴합니다. 그러나 Nginx에는 Apache만큼 많은 모듈이 없습니다. Nginx는 uWSGI의 uwsgi 프로토콜을 지원하므로 Nginx를 uWSGI와 결합할 수 있으며 Nginx는 처리를 위해 동적 콘텐츠를 uWSGI에 전달합니다. uwsgi_pass
uwsgi
uWSGI는 WSGI 프로토콜, uwsgi, http 및 기타 프로토콜을 구현하는 웹 서버입니다. Nginx에서 HttpUwsgiModule의 기능은 uWSGI 서버와 교환하는 것입니다. WSGI/uwsgi/uWSGI의 세 가지 개념의 차이점에 주의하세요.sudo apt-get install python-pip
pip install flask
sudo apt-get install nginx
#app/__init__.pyfrom flask import Flask app = Flask(__name__)from app import view
from app import app @app.route('/')def index():return 'hellow'
from app import appif __name__ == "__main__": app.run()
$ 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; } }
<code class="hljs groovy">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></code>
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,
<code class="hljs bash">sudo nginx <span class="hljs-_">reload<br>平滑重启可以用用,重新加载配置文件,用新的工作进程代替旧的工作进程。<br></span></code>
sudo nginx -s reload
<code class="hljs bash"><span class="hljs-_"><br>启动后,我这里修改了地址,这里就可以直接访问了,那么我们的部署这样就算可以了,简单的。<br><img src="https://img.php.cn/upload/article/000/000/001/25f4d9be3a729ae5fc17c2fefb915c9c-3.jpg" alt=""></span></code>
<br>
完工之后,感觉还是很简单的 有问题那么就去看log,只要log配置得当,那么排除错误是很快的。
위 내용은 Python 배포에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!