服务器部署fastapi接口遇到的一些问题

1.telnet接口不通:

        1)阿里云服务器控制管理台配置防火墙,添加规则-指定端口。

        2)服务器firewall设置开机自动启动(systemctl enable firewalld.service)

        3)服务器firewall启动(systemctl start firewalld)

        4)服务器firewall开启端口(firewall-cmd --zone=public --add-port=8002/tcp --permanent)

        5)服务器firewall重新加载配置(firewall-cmd --reload)

        6)服务器firewall查看开放的端口(firewall-cmd --list-ports)

2.开启服务:nohup python310 server.py &

        1)nohup :关闭session后服务不会停止,日志默认./nohup.out,&:后台运行

        2)查看端口占用:lsof -i:8002

        3)关闭占用端口的进程:kill -9 pid

FastAPI 是一个现代的、快速(高性能)的 Web 框架,用于构建 API,它基于标准 Python 类型提示,可以通过 Swagger UI 和 ReDoc 生成交互式 API 文档。部署 FastAPI 应用到服务器上并使其可通过 IP 地址访问,通常涉及以下步骤: 1. **开发和测试**:首先在本地完成开发并使用如 uvicorn 或 hypercorn 这样的 ASGI 服务器进行测试。 2. **服务器准备**:在目标服务器上安装操作系统和必要的依赖,比如 Python、pip、系统级 Web 服务器(如 Nginx)和 FastAPI 所需的 ASGI 服务器(如 Uvicorn)。 3. **部署应用**:将你的 FastAPI 应用代码部署服务器上。 4. **设置后台运行**:为了让 FastAPI 应用作为服务在后台运行,可以使用进程管理工具如 systemd 或 supervisor。 5. **配置 Web 服务器**:设置 Nginx 或其他 HTTP 服务器作为反向代理,将请求转发到运行 FastAPI 的 ASGI 服务器。这一步骤通常包括配置 SSL(如 Let's Encrypt 提供的免费证书)以启用 HTTPS。 6. **设置防火墙和安全组**:确保服务器的防火墙或安全组设置允许外部通过 HTTP(端口 80)和 HTTPS(端口 443)访问你的应用。 7. **启动服务**:启动你的 FastAPI 应用和 Web 服务器,检查是否能够通过服务器的 IP 地址访问你的 FastAPI 应用。 具体示例(假设使用 Uvicorn 作为 ASGI 服务器): ```bash # 使用 pip 安装 FastAPI 和 Uvicorn pip install fastapi uvicorn # 将你的 FastAPI 应用代码放到服务器上 # 运行你的 FastAPI 应用 uvicorn your_app:app --host 0.0.0.0 --port 8000 # 设置 Nginx # 编辑 Nginx 配置文件,添加类似下面的内容 # server { # listen 80; # location / { # proxy_pass http://localhost:8000; # 这里的 8000 是 Uvicorn 运行的端口 # } # } # 重启 Nginx 服务以应用更改 systemctl restart nginx # 确保你的应用可以通过服务器的 IP 地址访问 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值