Rumah Operasi dan penyelenggaraan Nginx Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

May 21, 2023 pm 10:13 PM
centos nginx flask

Persediaan persekitaran

Pip alat pemasangan pakej Python: sudo apt-get install pip
virtualenv: Untuk mengelakkan konflik antara persekitaran sistem dan persekitaran aplikasi, gunakan persekitaran maya untuk pasang aplikasi Ketergantungan, virtualenv boleh mencipta persekitaran pembangunan bebas untuk setiap aplikasi python Kaedah pemasangan: sudo pip install virtualenv

Penggunaan persekitaran maya

alamat projek kelalang: /usr/. local /flasky, anda hanya perlu menjalankan arahan di bawah alamat projek:

virtualenv venv
Salin selepas log masuk

Ini adalah konvensyen untuk menggunakan "venv" sebagai nama persekitaran maya, jadi kami mencipta folder persekitaran maya venv seperti yang ditunjukkan dalam kotak merah di bawah:

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

Seterusnya aktifkan persekitaran maya, hanya gunakan arahan

source venv/bin/activate
Salin selepas log masuk

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

Selepas mengaktifkan persekitaran maya, baris arahan Akan ada tanda (venv) pada pengepala Selepas hanya persekitaran maya diperlukan, semua operasi untuk memasang python akan menyertakan pakej dan rujukan yang dipasang dalam persekitaran maya, yang tidak akan menjejaskan global. persekitaran python

Arahan untuk keluar dari persekitaran maya, terus Taip:

deactivate

untuk keluar dari persekitaran maya

Konfigurasikan persekitaran aplikasi kelalang

Apabila membangunkan aplikasi kelalang, Ia akan digunakan pada banyak templat "Buku Anjing" memperkenalkan cara yang lebih mudah untuk mengeksport terus ketergantungan kelalang persekitaran pembangunan ke dalam fail txt. , dan kemudian gunakan arahan yang sepadan dalam persekitaran maya centos mengikut fail txt ini akan menjadi sangat mudah.

pip freeze >requerements.txt
Salin selepas log masuk

Perintah ini mengeksport fail teks bernama requirements.txt Kandungannya adalah seperti yang ditunjukkan dalam rajah di bawah

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

Kemudian gunakan arahan berikut dalam centos<. 🎜 >

pip install -r requerments.txt

Ini akan memasang salinan dalam persekitaran maya yang konsisten dengan persekitaran pembangunan.

Pastikan anda menggunakan arahan pemasangan kelompok dalam persekitaran maya, jika tidak, ia akan dipasang secara global, dan akibatnya akan menjadi agak menyakitkan.

Pasang uwsgi

Tidak banyak pilihan untuk persekitaran larian pengeluaran sebenar Kelalang yang lebih matang ialah [gunicorn] dan [uwsgi]. buku yang disyorkan oleh Dong Weiming kedua-dua penempatan ini dibincangkan dalam "Pertempuran Praktikal Pembangunan Web Python".

Kandungan berikut adalah daripada Ensiklopedia Baidu:

uwsgi ialah pelayan web yang melaksanakan protokol wsgi, uwsgi, http dan protokol lain. Fungsi httpuwsgimodule dalam nginx adalah untuk bertukar dengan pelayan uwsgi. wsgi ialah antara muka gerbang pelayan web. Ia adalah spesifikasi untuk komunikasi antara pelayan web (seperti nginx, uwsgi, dll.) dan aplikasi web (seperti program yang ditulis dengan rangka kerja Flask).

Arahan pemasangan adalah seperti berikut Pastikan anda telah memasuki persekitaran maya dan mengaktifkannya:

pip install uwsgi

Tidak perlu menggunakan sudo kerana virtualvenv tidak mempunyai keperluan kebenaran. .

Muat naik fail projek

Alat sambungan Linux yang digunakan oleh blogger ialah xshell Dalam artikel sebelum ini, saya bercakap tentang cara memuat naik fail ke hos Linux, jadi Saya tidak akan melakukannya di sini. Penerangan terperinci, tunjukkan struktur projek umum dan fail permulaan manage.py , di sini blogger menunjukkan arahan pemasangan 2 lapisan

:

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

kod manage.py adalah seperti berikut

#coding=utf-8
#!/usr/local/flasky/venv python
&#39;&#39;&#39;
created on 2017/11/9
@author: savitar丶
project:
&#39;&#39;&#39;
import os
from app import create_app
from flask_script import manager, shell
app = create_app(os.getenv(&#39;flask_config&#39;) or &#39;default&#39;)
manager = manager(app)

def make_shell_context():
 return dict(app=app)
manager.add_command("shell", shell(make_context=make_shell_context))
@manager.command
def deploy():
 """run deployment tasks."""
 pass
if __name__ == &#39;__main__&#39;:
 manager.run()
 #app.run()
Salin selepas log masuk

Baris arahan untuk menjalankan projek kelalangsudo apt-get install tree

Arahan di atas biasanya digunakan apabila menyahpepijat dalam persekitaran pembangunan, atau mengulas "manager.run()" dan gunakan "app.run()" , yang kedua boleh melaksanakan terus projek dalam pycharm, yang tidak akan diterangkan secara terperinci di sini

Mengkonfigurasi uwsgipython manage.py runserver

Kami mencipta fail baharu "config. ini", kaedah yang digunakan adalah untuk mengkonfigurasi permulaan. Kandungan fail adalah seperti berikut

[uwsgi]

# uwsgi 启动时所使用的地址与端口

socket = 127.0.0.1:5000

#虚拟环境目录 
home = /usr/local/flasky/venv

#指向网站根目录
chdir = /usr/local/flasky

#python启动程序文件
wsgi-file = manage.py

#python程序内用于启动的application变量名
callable = app

#处理器数
processes = 4

#线程数
threads = 2

#状态监测地址
stats = 127.0.0.1:9191

#设置uwsgi包解析的内部缓存区大小。默认4k

buffer-size = 32768
Salin selepas log masuk

Untuk melaksanakan fail konfigurasi, masukkan arahan pada baris arahan:

Atau jangan tulis konfigurasi fail (tidak disyorkan), arahan terus Input baris

uwsgi –soket 127.0.0.1:5000 –wsgi-file manage.py –apl boleh panggil –proses 4 –benang 2

uwsgi config.inicallable=app di sini Apl ini ialah atur cara manage.py Pembolehubah dalam fail Jenis pembolehubah ini ialah kelas aplikasi kelalang

.

这里是因为博主已经配置好了项目自启动,已经有一个配置文件在运行了,大家按照正常流程配置就好。ctrl+c关闭程序,在实际项目中我们的服务器上可能会有多个项目在运行,我们需要应用随同服务器启动并作为后台服务运行才是实际项目需要,所以我们需要安装另一个工具来引导执行uwsgi

安装supervisor

supervisor可以同时启动多个应用,最重要的是当某个应用down掉的时候,他可以自动重启该应用,保证可用性。

sudo apt-get install supervisor

supervisor的全局配置文件在

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

打开该默认配置文件,最下面一行我们看到,该默认配置文件会从 /etc/supervisord/目录下面加载所有的配置文件

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

我们不需要修改默认的配置文件,只需要在/etc/supervisord/目录下新建一个配置文件(命名为flask_supervisor.conf)
Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

该文件内容如下:

[program:flasky]
# 启动命令入口
command=/usr/local/flasky/venv/bin/uwsgi /usr/local/flasky/config.ini

# 命令程序所在目录
directory=/usr/local/flasky
#运行命令的用户名
user=root

autostart=true
autorestart=true
#日志地址
stdout_logfile=/usr/local/flasky/logs/uwsgi_super.log
Salin selepas log masuk

这里command这一行代码看起来很长,其实就是之前我们的 “uwsgi config.ini”指令,这里使用的是绝对路径,保证命令和文件的准确性,大家也可以copy这一行代码出去执行,结果是ok的。autostart和autorestart参数保证了我们的应用可以一直保持启动的状态,即使是down掉了也能重启服务。

启动服务

sudo service supervisor start

终止服务

sudo service supervisor stop

安装nginx

nginx是轻量级,性能强,占用资源少,能很好的处理高并发的反向代理软件。

正向代理和反向代理

正向代理,作为一个媒介将互联网上获取的资源返回给相关联的客户端。代理和客户端在一个局域网,对于服务是透明的。反向代理,根据客户端的请求,从后端的服务器上获取资源,然后再讲这些资源返回给客户端。代理和服务器再一个局域网,对客户端是透明的。nginx是反向代理的最佳选择。

反向代理的作用

提高动态语言的io处理能力
加密和ssl加速
安全。
负载均衡
缓存静态内容
支持压缩。

nginx安装指令:

sudo apt-get install nginx

配置nginx

我们找到nginx的配置文件,不要修改默认的nginx.conf(路径 /etc/nginx/nginx.conf)文件,只需要在同样的文件夹下面新建一个文件夹(conf.d)然后在conf.d下面新建配置文件(flask_ng.conf)即可,如下图

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

flask_ng.conf文件内容如下

server {
  listen 80;
  server_name www.cloud-test.com; #公网地址

  location / {
  include  uwsgi_params;
  uwsgi_pass 127.0.0.1:5000; # 指向uwsgi 所应用的内部地址,所有请求将转发给uwsgi 处理
  uwsgi_param uwsgi_pyhome /usr/local/flasky/venv; # 指向虚拟环境目录
  uwsgi_param uwsgi_chdir /usr/local/flasky; # 指向网站根目录
  uwsgi_param uwsgi_script manage:app; # 指定启动程序
  }
 }
Salin selepas log masuk

启动nginx

sudo service nginx restart

然后浏览器直接访问服务器http://www.cloud-test.com地址,结果如下

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos 

小case,解决办法,直接修改本机hosts,绑定就好了,如下图所示

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos 

然后再去访问

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos 

然后也可以找自己的同事一起访问,看看并发请求,网站的运行情况,想来能解决在开发环境使用了host 0.0.0.0 也只能处理一个用户的请求的问题

查看应用的运行情况

supervisorctl 是 supervisord 的命令行客户端工具,使用的配置和 supervisord 一样,这里就不再说了。下面,主要介绍 supervisorctl 操作的常用命令:
输入命令 supervisorctl 进入 supervisorctl 的 shell 交互界面(还是纯命令行),可以看到应用的运行情况
就可以在下面输入命令了。:

help # 查看帮助
status # 查看程序状态
stop program_name # 关闭 指定的程序
start program_name # 启动 指定的程序
restart program_name # 重启 指定的程序
tail -f program_name # 查看 该程序的日志
update # 重启配置文件修改过的程序(修改了配置,通过这个命令加载新的配置)

Anda juga boleh beroperasi secara terus melalui arahan shell:

status supervisorctl
kemas kini supervisorctl

Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos

Atas ialah kandungan terperinci Cara menggunakan Nginx untuk menggunakan aplikasi kelalang dalam centos. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Mengoptimumkan Konfigurasi CentOS HDFS Cara Mengoptimumkan Konfigurasi CentOS HDFS Apr 14, 2025 pm 07:15 PM

Meningkatkan prestasi HDFS pada CentOS: Panduan Pengoptimuman Komprehensif untuk mengoptimumkan HDFS (Hadoop diedarkan sistem fail) pada CentOS memerlukan pertimbangan komprehensif perkakasan, konfigurasi sistem dan tetapan rangkaian. Artikel ini menyediakan satu siri strategi pengoptimuman untuk membantu anda meningkatkan prestasi HDFS. 1. Perkakasan Peningkatan dan Pemilihan Pengembangan Sumber: Meningkatkan kapasiti CPU, memori dan penyimpanan pelayan sebanyak mungkin. Perkakasan berprestasi tinggi: Mengadopsi kad rangkaian berprestasi tinggi dan suis untuk meningkatkan rangkaian rangkaian. 2. Konfigurasi Sistem Fine-Tuning Parameter Parameter Kernel: Modify /etc/sysctl.conf Fail untuk mengoptimumkan parameter kernel seperti nombor sambungan TCP, nombor pemegang fail dan pengurusan memori. Sebagai contoh, laraskan status sambungan TCP dan saiz penampan

Baris arahan shutdown centos Baris arahan shutdown centos Apr 14, 2025 pm 09:12 PM

Perintah shutdown CentOS adalah penutupan, dan sintaks adalah tutup [pilihan] [maklumat]. Pilihan termasuk: -h menghentikan sistem dengan segera; -P mematikan kuasa selepas penutupan; -r mulakan semula; -T Waktu Menunggu. Masa boleh ditentukan sebagai segera (sekarang), minit (minit), atau masa tertentu (HH: mm). Maklumat tambahan boleh dipaparkan dalam mesej sistem.

Alamat IP Konfigurasi CentOS Alamat IP Konfigurasi CentOS Apr 14, 2025 pm 09:06 PM

Langkah-langkah untuk mengkonfigurasi alamat IP di CentOS: Lihat konfigurasi rangkaian semasa: IP Addr Edit Fail Konfigurasi Rangkaian: SUDO VI/ETC/SYSCONFIG/Rangkaian-Skrips

Perbezaan antara centos dan ubuntu Perbezaan antara centos dan ubuntu Apr 14, 2025 pm 09:09 PM

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

Apakah kaedah sandaran untuk gitlab di centos Apakah kaedah sandaran untuk gitlab di centos Apr 14, 2025 pm 05:33 PM

Dasar sandaran dan pemulihan Gitlab di bawah sistem CentOS untuk memastikan keselamatan data dan pemulihan, Gitlab pada CentOS menyediakan pelbagai kaedah sandaran. Artikel ini akan memperkenalkan beberapa kaedah sandaran biasa, parameter konfigurasi dan proses pemulihan secara terperinci untuk membantu anda menubuhkan strategi sandaran dan pemulihan GitLab lengkap. 1. Backup Manual Gunakan Gitlab-Rakegitlab: Backup: Buat Perintah untuk Melaksanakan Backup Manual. Perintah ini menyokong maklumat utama seperti repositori Gitlab, pangkalan data, pengguna, kumpulan pengguna, kunci, dan kebenaran. Fail sandaran lalai disimpan dalam direktori/var/opt/gitlab/sandaran. Anda boleh mengubah suai /etc /gitlab

Cara memasang centos Cara memasang centos Apr 14, 2025 pm 09:03 PM

Langkah Pemasangan CentOS: Muat turun Imej ISO dan Burn Bootable Media; boot dan pilih sumber pemasangan; Pilih susun atur bahasa dan papan kekunci; Konfigurasikan rangkaian; memisahkan cakera keras; Tetapkan jam sistem; Buat pengguna root; pilih pakej perisian; Mulakan pemasangan; Mulakan semula dan boot dari cakera keras selepas pemasangan selesai.

CentOS berhenti penyelenggaraan 2024 CentOS berhenti penyelenggaraan 2024 Apr 14, 2025 pm 08:39 PM

CentOS akan ditutup pada tahun 2024 kerana pengedaran hulu, RHEL 8, telah ditutup. Penutupan ini akan menjejaskan sistem CentOS 8, menghalangnya daripada terus menerima kemas kini. Pengguna harus merancang untuk penghijrahan, dan pilihan yang disyorkan termasuk CentOS Stream, Almalinux, dan Rocky Linux untuk memastikan sistem selamat dan stabil.

Cara memulakan semula rangkaian di CentOS8 Cara memulakan semula rangkaian di CentOS8 Apr 14, 2025 pm 08:57 PM

Mulakan semula rangkaian di CentOS 8 memerlukan langkah -langkah berikut: Hentikan Perkhidmatan Rangkaian (NetworkManager) dan Muat semula Modul Rangkaian (R8169), Mulakan Perkhidmatan Rangkaian (NetworkManager) dan periksa status rangkaian (dengan Ping 8.8.8.8)

See all articles