15%

БпСстСтС 15% ΠΎΡ‚ всички услуги Π·Π° хостинг

ВСствайтС умСнията си ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Ρ‚Π΅ ΠΎΡ‚ΡΡ‚ΡŠΠΏΠΊΠ° Π·Π° всСки хостинг ΠΏΠ»Π°Π½

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄:

Skills
Π—Π° Π½Π°Ρ‡Π°Π»ΠΎ
18.11.2024

Как Π΄Π° инсталиратС Flask Π½Π° хостинг

Flask Π΅ ΠΎΠ»Π΅ΠΊΠΎΡ‚Π΅Π½Π° ΡƒΠ΅Π± Ρ€Π°ΠΌΠΊΠ° Π·Π° Python, която позволява Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ Π±ΡŠΡ€Π·ΠΎ ΠΈ лСсно ΡƒΠ΅Π± прилоТСния. Ако искатС Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Flask Π² услуга Π·Π° ΡƒΠ΅Π± хостинг, Ρ‚ΠΎΠ²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Ρ‰Π΅ Π²ΠΈ ΠΏΡ€Π΅Π²Π΅Π΄Π΅ ΠΏΡ€Π΅Π· Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΡΡ‚ΡŠΠΏΠΊΠΈ, Π·Π° Π΄Π° стартиратС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ си.

1. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΈ условия

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ процСса Π½Π° инсталиранС, ΡƒΠ²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Ρ‚Π΅ със слСдното:

  • Π£Π΅Π± хостинг: Π₯остинг услуга, която ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Python прилоТСния. ΠžΠΏΡ†ΠΈΠΈΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ VPS хостинг ΠΈΠ»ΠΈ спСциализирани ΡΡŠΡ€Π²ΡŠΡ€ΠΈ.
  • Π”ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ SSH: ЧСсто Π·Π° внСдряванСто сС изисква Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π° Ρ‡Ρ€Π΅Π· SSH.
  • Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½ Python: Π£Π²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ Python Π΅ инсталиран Π½Π° вашия ΡΡŠΡ€Π²ΡŠΡ€. ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ доставчици Π½Π° хостинг услуги ΠΈΠ΄Π²Π°Ρ‚ с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ инсталиран Python.

2. НастройванС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π‘Π²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ сС със ΡΡŠΡ€Π²ΡŠΡ€Π° Ρ‡Ρ€Π΅Π· SSH

ΠžΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ SSH ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΊΠ°Ρ‚ΠΎ PuTTY) ΠΈ сС ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ със ΡΡŠΡ€Π²ΡŠΡ€Π° си, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ слСдната ΠΊΠΎΠΌΠ°Π½Π΄Π°:

ssh username@your_server_ip

Π—Π°ΠΌΠ΅Π½Π΅Ρ‚Π΅ username с потрСбитСлското ΠΈΠΌΠ΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ your_server_ip с IP адрСса Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: АктуализиранС Π½Π° списъка с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ

ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅, ΡƒΠ²Π΅Ρ€Π΅Ρ‚Π΅ сС, Ρ‡Π΅ Π²Π°ΡˆΠΈΡΡ‚ ΡΡŠΡ€Π²ΡŠΡ€ Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½:

sudo apt update
sudo apt upgrade

3. Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Flask

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ pip

Ако pip (ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° Python) Π½Π΅ Π΅ инсталиран, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ инсталиратС, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅:

sudo apt install python3-pip

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: БъздаванС Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° срСда

Π”ΠΎΠ±Ρ€Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° срСда Π·Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Flask ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π·Π° Π΄Π° управляватС зависимоститС:

sudo apt install python3-venv # Install venv if not already installed
mkdir my_flaskapp # Create a directory for your app
cd my_flask_app
python3 -m venv venv # Create a virtual environment
source venv/bin/activate # Activate the virtual environment

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Flask

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° срСда Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π°, инсталирайтС Flask с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° pip:

pip install Flask

4. БъздаванС Π½Π° просто ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Flask

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: БъздаванС Π½Π° Ρ„Π°ΠΉΠ»Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ² Ρ„Π°ΠΉΠ», Π½Π°Ρ€Π΅Ρ‡Π΅Π½ app.py, Π² дирСкторията Π·Π° прилоТСния:

nano app.py

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: ΠΠ°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ просто ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Flask

Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ слСдния ΠΊΠΎΠ΄ Π² app.py:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, World!"
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: Π—Π°ΠΏΠ°Π·Π²Π°Π½Π΅ ΠΈ ΠΈΠ·Π»ΠΈΠ·Π°Π½Π΅

НатиснСтС CTRL X, слСд Ρ‚ΠΎΠ²Π° Y ΠΈ Enter, Π·Π° Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅ ΠΈ ΠΈΠ·Π»Π΅Π·Π΅Ρ‚Π΅ ΠΎΡ‚ тСкстовия Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

5. Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Flask ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π° Flask

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ си Flask:

python app.py

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π²ΠΈ Π²Π΅Ρ‡Π΅ трябва Π΄Π° Π΅ стартирано ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ Ρ‡Ρ€Π΅Π· IP адрСса Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ ΠΏΠΎΡ€Ρ‚ 5000 (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ http://your_server_ip:5000).

6. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° производствСн ΡΡŠΡ€Π²ΡŠΡ€

Π—Π° производствСна срСда трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ производствСн ΡΡŠΡ€Π²ΡŠΡ€ ΠΊΠ°Ρ‚ΠΎ Gunicorn ΠΈΠ»ΠΈ uWSGI вмСсто вградСния ΡΡŠΡ€Π²ΡŠΡ€ Π½Π° Flask.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° Gunicorn

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ Gunicorn с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° pip:

pip install gunicorn

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ с Gunicorn

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ Gunicorn, Π·Π° Π΄Π° стартиратС своСто Flask ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

gunicorn app:app -b 0.0.0.0:8000

7. НастройванС Π½Π° Nginx ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ прокси ΡΡŠΡ€Π²ΡŠΡ€

Π—Π° Π΄Π° обслуТватС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ си Π½Π° ΠΏΠΎΡ€Ρ‚ 80 (стандартСн HTTP ΠΏΠΎΡ€Ρ‚), ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° настроитС Nginx ΠΊΠ°Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ прокси ΡΡŠΡ€Π²ΡŠΡ€.

Π‘Ρ‚ΡŠΠΏΠΊΠ° 1: Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ Nginx

Ако Nginx Π½Π΅ Π΅ инсталиран, инсталирайтС Π³ΠΎ:

sudo apt install nginx

Π‘Ρ‚ΡŠΠΏΠΊΠ° 2: ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° Nginx

Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Ρ„Π°ΠΉΠ» Π·Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Flask:

sudo nano /etc/nginx/sites-available/my_flask_app

Π”ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ слСдната конфигурация:

server {
listen 80;
server_name your_server_ip; # Replace with your server's IP or domain
location / {
proxy_pass http://127.0.0.1:8000; # Forward requests to Gunicorn
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

Π‘Ρ‚ΡŠΠΏΠΊΠ° 3: АктивиранС Π½Π° конфигурацията

Π‘Π²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ конфигурационния Ρ„Π°ΠΉΠ» ΠΈ рСстартирайтС Nginx:

sudo ln -s /etc/nginx/sites-available/my_flask_app /etc/nginx/sites-enabled sudo systemctl restart nginx

8. Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Flask Π² хостинг услуга Π²ΠΊΠ»ΡŽΡ‡Π²Π° настройка Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, инсталиранС Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° производствСн ΠΈ ΡƒΠ΅Π± ΡΡŠΡ€Π²ΡŠΡ€. ΠšΠ°Ρ‚ΠΎ слСдватС ΡΡ‚ΡŠΠΏΠΊΠΈΡ‚Π΅, описани Π² Ρ‚ΠΎΠ²Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΄Π° инсталиратС ΠΈ стартиратС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ си Flask, ΠΊΠ°Ρ‚ΠΎ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅. НС забравяйтС Π΄Π° Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈΡ‚Π΅ Π·Π° сигурност ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ зависимоститС си Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΈ.

15%

БпСстСтС 15% ΠΎΡ‚ всички услуги Π·Π° хостинг

ВСствайтС умСнията си ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Ρ‚Π΅ ΠΎΡ‚ΡΡ‚ΡŠΠΏΠΊΠ° Π·Π° всСки хостинг ΠΏΠ»Π°Π½

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ΄:

Skills
Π—Π° Π½Π°Ρ‡Π°Π»ΠΎ