佛系程序员
首页
栏目
标签
归档
关于
友链
佛系程序员
首页
栏目
标签
归档
友链
关于
宝塔面板部署AI热点资讯榜2
学习笔记
网站开发
发布日期: 2025-05-01 02:44:41
喜欢量: 6 个
阅读次数:
34
frontend node, backend python
# 宝塔面板部署AI热点资讯榜 代码下载:https://gitee.com/phpervip/ai_demos demo4_ai_news2 在线网址:https://demo4.xiuxinwenhua.com/ ## 1. 环境准备 1.服务器准备 阿里云服务器:ecs.e-c1m1.large 操作系统:Alibaba Cloud Linux 3.2104 LTS 64位 镜像:宝塔Linux面板(Alibaba Cloud Linux 3/LAMP/LNMP/Tomcat/Node.js/) 宝塔版本:免费版9.5.0 0元购买阿里云自带的宝塔Linux面板镜像后,远程登录服务器: 执行命令sudo /etc/init.d/bt default,获取宝塔外网面板地址、用户名和密码。 在阿里云服务器放通需要的端口。8888等。 ## 2. 上传代码 2.登录宝塔面板: 终端- ``` cd /www/wwwroot/ git clone https://gitee.com/phpervip/ai_demos ``` ## 3. 后端部署 3. 网站-添加Python项目 安装 python3.10.14  项目真实端口:8000 添加完成后,是启动的过程。点击:设置,查看。项目日志。如出现报错,缺少模块。则进入 模块,添加。    最后,成功了。状态:运行中。 4.放行端口 安全-添加端口规则,放行8000端口。   5.终端查看接口正常  ## 4. 前端部署 6.前端在本地构建 npm run build  7.上传前端文件dist目录内容 添加HTML项目,  ## 5. 增加超时 而图文生成需1-2分钟,  默认情况下,Gunicorn的超时时间是30秒。所以, 在启动Gunicorn时通过 --timeout 参数来增加这个时间, ```gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app --timeout 120 ``` 可以在gunicorn 配置中增加这一句。  ## 6. 重启服务 - 代码或设置修改后,需在Python项目管理器中重启  ## 7. 注意事项 - 确保阿里云服务器安全组放行宝塔的端口号  到这一步,基本完成了在宝塔面板上的部署。http://demo4.xiuxinwenhua.com/ 能够打开网站,正常运行。 建议定期查看宝塔面板的监控信息,确保服务稳定运行。 ## 8. 申请证书 但是,我们还需要给网站申请SSL 证书, https:// 能够访问。  现在我已经申请好了证书。如何使用Let's Encrypt来申请免费证书? 这时 https://demo4.xiuxinwenhua.com/ 打开,无法获取新闻列表,这是因为之前打包时,frontend/src/config/api.js中,const API_BASE_URL = 'http://127.0.0.1:8000'; 我们需要把这个也改为类似 https://demo4api.xiuxinwenhua.com 才行。 那么,就需要反向代理去掉端口号,同时也要申请证书。 在 反向代理一栏,添加反向代理。   到这一步,在本地,frontend/src/config/api. const API_BASE_URL = 'http://demo4api.xiuxinwenhua.com'; // 替换成你的服务器IP 是可以运行的。 但是服务器上我们还需要申请证书。 点SSL证书一列,该域名行的,未部署,打开后。   我们选,Let's Encrypt 证书。申请证书。DNS验证。  选阿里云DNS,会先弹出配置阿里云DNS的 AccessKey. 这一步,要登录阿里云获取。(方法请参考这一篇文章:)  到这一步, 在本地,frontend/src/config/api. const API_BASE_URL = 'https://demo4api.xiuxinwenhua.com'; // 替换成你的服务器IP 本地,运行正常了。  然后,再把前端重新打包,将/dist目录下的文件压缩,上传到服务器,再解压。 看最终效果:  ## 扩展知识 在Web应用中,ASGI和WSGI是两种不同的协议,用于处理HTTP请求和响应。它们主要用于Python Web框架和服务器之间的通信。 ### WSGI(Web Server Gateway Interface) - **同步协议**:WSGI是Python Web应用的标准接口,适用于同步请求处理。大多数传统的Python Web框架(如Flask、Django)都支持WSGI。 - **适合简单应用**:对于不需要异步处理的应用,WSGI是一个简单且成熟的选择。 - **限制**:WSGI不支持异步请求处理,这意味着无法充分利用现代异步编程的优势。 ### ASGI(Asynchronous Server Gateway Interface) - **异步协议**:ASGI是WSGI的异步版本,支持异步请求处理。它适用于需要高并发和异步操作的应用。 - **支持WebSockets**:ASGI不仅支持HTTP,还支持WebSockets等协议。 - **适合现代应用**:对于需要异步处理、实时通信或高并发的应用,ASGI是更好的选择。 ### 选择的影响 - **选择ASGI**:如果你的应用需要处理异步请求、WebSockets或高并发,选择ASGI是合适的。FastAPI就是一个支持ASGI的框架。 - **选择WSGI**:如果你的应用是传统的同步Web应用,WSGI可能更简单。 在你的项目中,选择ASGI意味着你可以利用异步编程的优势,处理更多的并发请求和实时通信。希望这些信息能帮助你理解ASGI和WSGI的区别。需要进一步的帮助吗?
文章作者:
yyii
文章链接:
http://www.amtb.info/show/MTkx
版权声明:
本博客所有文章除特別声明外,转载请注明来源
佛系程序员
!
分享:
搜索