pip install flask uwsgin
sudo apt-get install nginx
/var/www/myapp/myapp.ini
[uwsgi]
module = main:app # This is assuming your Flask app is in `main.py`
master = true
processes = 3
socket = 127.0.0.1:5000 # Bind uWSGI to a local socket
chmod-socket = 660
vacuum = true
die-on-term = true
/var/www/myapp/main.py
import flask
...flask app
if __name__ == "__main__":
app = app.run()
Set Up Nginx to Serve Your Flask App
sudo vim /etc/nginx/sites-available/flask_app
server {
listen 8123;
server_name _; # or your.domain.com
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
}
}
sudo ln -s /etc/nginx/sites-available/flask_app /etc/nginx/sites-enabled
test configuration
sudo nginx -t
restart nginx deamon
sudo systemctl restart nginx
run uwsgi
uwsgi --ini app.ini
Test by curl
curl -X 'GET' 'http://xxx.xxx.xxx.xxx:1234/v1/place/batteryswap?latitud
e=25.01845349194727&longitude=121.47080666954706&radius=0.5&items=20' -H 'accept: application/json' -H 'Authorization: ke
y: xxxxxxxxx'
[
{
"name": "\u65b0\u5317\u5e02\u677f\u6a4b\u5340\u842c\u677f\u8def9\u865f(\u8fd1\u842c\u677f\u8def/\u6c11\u751f\u8def\u4e8c\u6bb5\u53e3)",
"address": "\u65b0\u5317\u5e02\u677f\u6a4b\u5340\u842c\u677f\u8def9\u865f(\u8fd1\u842c\u677f\u8def/\u6c11\u751f\u8def\u4e8c\u6bb5\u53e3)",
"city": "\u65b0\u5317\u5e02",
"district": "\u677f\u6a4b\u5340",
"latitude": 25.020968,
"longitude": 121.470388,
"phone": null,
"distance": 282.7650519556063
}
]