Flask ialah rangka kerja web Python ringan yang mudah dipelajari dan digunakan, serta mempunyai skalabiliti yang sangat berkuasa dan fleksibel, menjadikannya pilihan pertama banyak pembangun web. Selepas menggunakan Flask untuk pembangunan web dan melengkapkan aplikasi, kami perlu menggunakan aplikasi ke pelayan. Artikel ini akan memperkenalkan langkah dan teknik penggunaan aplikasi Flask dan memberikan contoh kod khusus untuk membantu anda bermula dengan cepat.
sudo apt-get update sudo apt-get install python3 python3-pip python3-venv
python3 -m venv venv
Antaranya, venv
ialah nama persekitaran maya dan boleh diganti mengikut keperluan aplikasi. Selepas penciptaan berjaya, anda boleh menggunakan arahan berikut untuk mengaktifkan persekitaran maya. venv
是虚拟环境的名称,可以根据应用需要自行替换。创建成功后,可以使用以下命令激活虚拟环境。
source venv/bin/activate
pip install -r requirements.txt
其中,requirements.txt
是存放依赖库名称和版本号的文件。可以使用以下命令来生成依赖库列表。
pip freeze > requirements.txt
config.py
文件,将配置信息写入其中。class Config: DEBUG = True SECRET_KEY = 'secret key' SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://username:password@localhost/db_name'
其中,SQLALCHEMY_DATABASE_URI
是连接数据库的URL。需要根据实际情况进行修改。
另外,在部署到服务器上时,需要将应用配置为生产模式,并禁止调试模式。可以在config.py
文件中添加以下配置。
class ProductionConfig(Config): DEBUG = False config = ProductionConfig()
在服务器上,还需要修改防火墙设置,将应用的端口打开。可以使用以下命令添加规则。
sudo ufw allow 5000
其中,5000
是应用的默认端口号,可以根据需要进行修改。
flask run --host=0.0.0.0 --port=5000
其中,--host
参数指定应用的IP地址,--port
参数指定应用的端口号。为了在外网访问应用,需要将0.0.0.0
替换为服务器的公网IP地址。
sudo apt-get install nginx
安装完成后,可以在/etc/nginx/sites-available
目录下创建一个配置文件,如myapp
。
server { listen 80; server_name example.com; root /path/to/app; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /static { alias /path/to/app/static; } }
其中,example.com
是服务器的域名或IP地址,/path/to/app
是应用的根目录。配置文件中,location /static
表示静态文件的路径,需要根据应用的需要进行修改。
创建配置文件后,还需要将其链接到/etc/nginx/sites-enabled
目录下,并重启Nginx。
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ sudo nginx -s reload
sudo apt-get install supervisor
安装完成后,在/etc/supervisor/conf.d
目录下创建一个配置文件,如myapp.conf
。
[program:myapp] directory=/path/to/app command=/path/to/venv/bin/gunicorn -w 4 -b 127.0.0.1:5000 app:app user=user autostart=true autorestart=true redirect_stderr=true
其中,/path/to/app
是应用的根目录,/path/to/venv
是虚拟环境的根目录,user
是服务运行的用户。
创建配置文件后,可以使用以下命令启动Supervisor。
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start myapp
其中,myapp
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:app
requirements.txt
ialah fail yang menyimpan nama dan nombor versi pustaka bergantung. Anda boleh menggunakan arahan berikut untuk menjana senarai perpustakaan bergantung. Konfigurasikan aplikasi dan pelayan
Sebelum penggunaan, anda perlu mengkonfigurasi aplikasi dan pelayan. Konfigurasi yang biasa digunakan termasuk pangkalan data, e-mel, log, dsb. Anda boleh mencipta failconfig.py
dalam direktori akar aplikasi dan menulis maklumat konfigurasi ke dalamnya. 🎜🎜rrreee🎜Antaranya, SQLALCHEMY_DATABASE_URI
ialah URL untuk menyambung ke pangkalan data. Ia perlu diubah suai mengikut keadaan sebenar. 🎜🎜Selain itu, apabila digunakan ke pelayan, aplikasi perlu dikonfigurasikan dalam mod pengeluaran dan mod nyahpepijat dilumpuhkan. Konfigurasi berikut boleh ditambah dalam fail config.py
. 🎜rrreee🎜Pada pelayan, anda juga perlu mengubah suai tetapan tembok api dan membuka port aplikasi. Peraturan boleh ditambah menggunakan arahan berikut. 🎜rrreee🎜Antaranya, 5000
ialah nombor port lalai aplikasi, yang boleh diubah suai mengikut keperluan. 🎜--host
menentukan alamat IP aplikasi dan parameter --port
menentukan nombor port aplikasi. Untuk mengakses aplikasi daripada rangkaian luaran, anda perlu menggantikan 0.0.0.0
dengan alamat IP awam pelayan. 🎜/etc/nginx/sites-available
, seperti myapp
. 🎜rrreee🎜Antaranya, example.com
ialah nama domain atau alamat IP pelayan dan /path/to/app
ialah direktori akar aplikasi. Dalam fail konfigurasi, lokasi /statik
mewakili laluan fail statik, yang perlu diubah suai mengikut keperluan aplikasi. 🎜🎜Selepas mencipta fail konfigurasi, anda perlu memautkannya ke direktori /etc/nginx/sites-enabled
dan mulakan semula Nginx. 🎜rrreee/etc/supervisor/conf.d
, seperti myapp.conf
. 🎜rrreee🎜Antaranya, /path/to/app
ialah direktori akar aplikasi, /path/to/venv
ialah direktori akar persekitaran maya, dan user
code> ialah pengguna di mana perkhidmatan dijalankan. 🎜🎜Selepas mencipta fail konfigurasi, anda boleh menggunakan arahan berikut untuk memulakan Penyelia. 🎜rrreee🎜Antaranya, myapp
ialah nama program bagi fail konfigurasi. 🎜🎜🎜Gunakan Gunicorn untuk meningkatkan prestasi🎜Gunicorn ialah pelayan web Python yang boleh meningkatkan prestasi dan keupayaan pemprosesan serentak aplikasi Flask. Gunicorn boleh dipasang menggunakan arahan berikut. 🎜🎜rrreee🎜Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk memulakan Gunicorn dalam direktori akar aplikasi. 🎜gunicorn -w 4 -b 0.0.0.0:5000 app:app
其中,-w
参数表示工作进程的数量,-b
参数表示绑定的IP地址和端口号,app:app
表示应用的模块名和应用对象。
Atas ialah kandungan terperinci Bermula Dengan Cepat: Langkah dan Petua untuk Penerapan Aplikasi Flask. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!