nginx和uwsgi部署flask
时间: 2023-08-27 09:04:25 浏览: 117
用uWSGI和Nginx部署Flask项目的方法示例
nginx和uwsgi是常用的部署flask应用的工具。首先,需要配置nginx将请求转发给uwsgi处理。在nginx的配置文件中,可以使用类似以下的配置来实现转发:
```
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
}
```
这样配置后,nginx会将所有的请求转发给uwsgi处理。\[1\]
启动nginx可以使用以下命令:
```
service nginx start
```
可以使用以下命令查看nginx的状态:
```
service nginx status
```
重启nginx可以使用以下命令:
```
service nginx restart
```
可以使用以下命令查看nginx是否已经启动:
```
ps -ef | grep nginx
```
如果需要强制停止nginx,可以使用以下命令:
```
kill -9 nginx
```
可以使用以下命令查看nginx的错误日志:
```
tail -f error.log
```
在后端代码中,可以使用`@app.route('/info', methods=\['GET', 'POST'\])`来定义路由。当使用flask自带的web服务器进行测试时,访问`xxxx:xx/info`可以正常访问界面。但是通过nginx访问时,nginx会将末尾不带斜杠的非文件类请求加上斜杠,并给出301回应,然后重定向到有斜杠的URL下。这是因为在一些经典的WEB开发语言中,请求通常是一个文件,如.php,.aspx,.html等。而python的框架实际上将一个“目录”节点作为一个html文件给出。因此,末尾需要加上斜杠,以便让nginx知道这是一个指向目录的请求。\[3\]
#### 引用[.reference_title]
- *1* [部署Flask应用:nginx+uwsgi+flask](https://blog.csdn.net/qq_33411065/article/details/90410667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* *3* [Nginx+uWSGI+Flask服务部署](https://blog.csdn.net/baidu_24752135/article/details/123726280)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文