Maison développement back-end Tutoriel Python Guide technique pour l'implémentation de services Web sur des serveurs Linux à l'aide d'opérations de script Python

Guide technique pour l'implémentation de services Web sur des serveurs Linux à l'aide d'opérations de script Python

Oct 05, 2023 am 11:42 AM
linux python web服务

Guide technique pour limplémentation de services Web sur des serveurs Linux à laide dopérations de script Python

Guide technique pour l'implémentation de services Web sur des serveurs Linux via des opérations de script Python

1 Introduction
Avec le développement rapide d'Internet, les services Web sont devenus le premier choix pour de nombreuses entreprises et particuliers. Python, en tant que langage de programmation simple et puissant, est largement utilisé pour le développement Web. Cet article explique comment utiliser les scripts Python pour implémenter des services Web sur un serveur Linux et fournit des exemples de code spécifiques.

2. Préparation
Avant de commencer, nous devons installer Python et quelques bibliothèques nécessaires sur le serveur Linux. Il est supposé que la version Python 3.x est installée. Nous devons également utiliser pip pour installer la bibliothèque Flask, qui est un puissant framework micro-web. Vous pouvez utiliser la commande suivante pour installer Flask :

$ pip install flask
Copier après la connexion

3. Écrivez un service Web simple
Écrivons d'abord un service Web simple qui peut renvoyer une chaîne Hello World. Créez un script Python appelé app.py et ajoutez-y le code suivant : app.py的Python脚本,并在其中添加以下代码:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello World!"

if __name__ == '__main__':
    app.run()
Copier après la connexion

保存并运行脚本:

$ python app.py
Copier après la connexion

您将看到类似以下的输出:

 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Copier après la connexion

现在,您可以在浏览器中输入http://127.0.0.1:5000/来访问您的Web服务,将会显示Hello World字符串。

四、更复杂的Web服务
接下来,我们将编写一个更复杂的Web服务,它可以接收并处理GET和POST请求,并返回JSON格式的数据。修改app.py脚本:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello World!"

@app.route('/api/data', methods=['GET', 'POST'])
def handle_data():
    if request.method == 'GET':
        data = {'key': 'value'}
        return jsonify(data)
    elif request.method == 'POST':
        data = request.get_json()
        # 处理POST请求的数据
        # ...
        return jsonify({'status': 'success'})

if __name__ == '__main__':
    app.run()
Copier après la connexion

在上面的代码中,我们添加了一个新的路由/api/data,可以接收GET和POST请求。对于GET请求,我们返回一个示例数据字典;对于POST请求,我们从请求中获取JSON数据,并进行相应的处理。

保存并重新运行脚本,同样在浏览器中访问http://127.0.0.1:5000/api/data

$ sudo apt-get install nginx
Copier après la connexion

Enregistrez et exécutez le script :

$ sudo vi /etc/nginx/sites-available/webapp
Copier après la connexion

Vous verrez un résultat similaire à celui-ci :

server {
        listen 80;
        server_name your_domain.com;

        location / {
                proxy_pass http://localhost:5000;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
        }
}
Copier après la connexion

Maintenant, Vous pouvez saisir http://127.0.0.1:5000/ dans le navigateur pour accéder à votre service Web, et la chaîne Hello World s'affichera.

4. Un service Web plus complexe

Ensuite, nous écrirons un service Web plus complexe capable de recevoir et de traiter les requêtes GET et POST et de renvoyer des données au format JSON. Modifiez le script app.py :

$ sudo ln -s /etc/nginx/sites-available/webapp /etc/nginx/sites-enabled/
Copier après la connexion

Dans le code ci-dessus, nous avons ajouté une nouvelle route /api/data qui peut recevoir des requêtes GET et POST. Pour les requêtes GET, nous renvoyons un dictionnaire d'exemples de données ; pour les requêtes POST, nous obtenons les données JSON de la requête et les traitons en conséquence.

Enregistrez et réexécutez le script. Vous pouvez également accéder à http://127.0.0.1:5000/api/data dans le navigateur pour obtenir les données, ou utiliser les outils associés pour envoyer un POST. demande.

5. Déployer dans l'environnement de production

Dans les applications pratiques, nous devons déployer le service Web dans l'environnement de production. Ce qui suit est une brève introduction sur la façon d'utiliser Nginx comme proxy inverse pour exécuter des scripts Python sur un serveur Linux.

Tout d'abord, installez Nginx :

$ sudo service nginx restart
Copier après la connexion
Ensuite, créez un fichier de configuration Nginx comme suit :

rrreee

Dans le fichier de configuration, ajoutez le contenu suivant : 🎜rrreee🎜Enregistrez et fermez le fichier, puis activez le fichier de configuration : 🎜rrreee 🎜Enfin, redémarrez le service Nginx : 🎜rrreee🎜 Vous pouvez maintenant accéder à votre service Web en saisissant votre nom de domaine dans le navigateur. 🎜🎜6. Résumé🎜Cet article explique comment utiliser des scripts Python pour implémenter des services Web sur des serveurs Linux et fournit des exemples de code spécifiques. Qu'il s'agisse d'un simple service Hello World ou d'un traitement de données plus complexe, Python et Flask peuvent répondre à vos besoins. En utilisant Nginx comme proxy inverse, vous pouvez mieux déployer des services Web dans des environnements de production. 🎜🎜J'espère que cet article pourra vous aider à démarrer rapidement avec les scripts Python pour exploiter des services Web et mettre en œuvre vos idées et votre créativité sur des serveurs Linux. Je vous souhaite d'aller toujours plus loin sur la route du développement web ! 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système? Mar 31, 2025 pm 11:54 PM

Comment définir automatiquement les autorisations d'UnixSocket après le redémarrage du système. Chaque fois que le système redémarre, nous devons exécuter la commande suivante pour modifier les autorisations d'UnixSocket: sudo ...

Quels échanges peuvent envoyer des instructions de couverture d'option via le côté trading Quels échanges peuvent envoyer des instructions de couverture d'option via le côté trading Mar 28, 2025 pm 03:27 PM

En 2024, les échanges de crypto-monnaie traditionnels qui prennent en charge l'envoi directement des instructions de couverture des options via les terminaux de trading: 1. Déribit prend en charge des stratégies avancées telles que la couverture de Delta et le scalping gamma, et fournissent une couverture Web / API en un clic; 2. OKX prend en charge les outils de combinaison de couverture et de stratégie de volatilité et un panneau de couverture intégré sur le Web / l'application; 3. Binance prend en charge la couverture protectrice, nécessitant des positions manuelles ou API; 4. CME, offrant des options standard, nécessitant un accès via les courtiers; 5. Ledgerx, fournissant des outils de couverture de niveau professionnel, nécessitant une certification institutionnelle.

Comment analyser efficacement les supports imbriqués multicouches dans les formules en latex et les convertir en dictionnaire multidimensionnel? Comment analyser efficacement les supports imbriqués multicouches dans les formules en latex et les convertir en dictionnaire multidimensionnel? Apr 01, 2025 am 08:57 AM

Python Parses Latex Multi-couches supports: construire un dictionnaire multidimensionnel beaucoup de latex ...

Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Apr 01, 2025 pm 03:06 PM

Causes et solutions pour les erreurs Lors de l'utilisation de PECL pour installer des extensions dans un environnement Docker Lorsque nous utilisons un environnement Docker, nous rencontrons souvent des maux de tête ...

Comment intégrer efficacement les services Node.js ou Python sous l'architecture LAMP? Comment intégrer efficacement les services Node.js ou Python sous l'architecture LAMP? Apr 01, 2025 pm 02:48 PM

De nombreux développeurs de sites Web sont confrontés au problème de l'intégration de Node.js ou des services Python sous l'architecture de lampe: la lampe existante (Linux Apache MySQL PHP) a besoin d'un site Web ...

Comment générer des combinaisons de permutation non répétitive basées sur un jeu de caractères et un nombre de couches, et exclure tous les caractères des mêmes combinaisons? Comment générer des combinaisons de permutation non répétitive basées sur un jeu de caractères et un nombre de couches, et exclure tous les caractères des mêmes combinaisons? Apr 01, 2025 am 06:57 AM

Générez la combinaison de permutation basée sur le jeu de caractères et le numéro de couche. Cet article explorera comment générer des résultats de combinaison de permutation correspondants basés sur un jeu de caractères et un numéro de couche donné pour éviter la duplication ...

Que dois-je faire si Beyond Compare échoue à la sensibilité à la synchronisation des Windows et des fichiers Linux? Que dois-je faire si Beyond Compare échoue à la sensibilité à la synchronisation des Windows et des fichiers Linux? Apr 01, 2025 am 08:06 AM

Le problème de la comparaison et de la synchronisation des fichiers au-delà de la compare: défaillance de la sensibilité à la casse lors de l'utilisation de Beyond ...

Quelle est la raison pour laquelle les fichiers de stockage persistants de pipeline ne peuvent pas être écrits lors de l'utilisation du robot Scapy? Quelle est la raison pour laquelle les fichiers de stockage persistants de pipeline ne peuvent pas être écrits lors de l'utilisation du robot Scapy? Apr 01, 2025 pm 04:03 PM

Lorsque vous utilisez Scapy Crawler, la raison pour laquelle les fichiers de stockage persistants ne peuvent pas être écrits? Discussion Lorsque vous apprenez à utiliser Scapy Crawler pour les robots de données, vous rencontrez souvent un ...

See all articles