当前位置: 首页 > news >正文

将制作的网站部署在公网

1.租了华为云服务器来部署前端项目

更新系统

安装Java开发环境 (Spring Boot需要):

 安装Node.js和npm (如果前端项目需要构建):

报错请使用

git config --global http.version HTTP/1.1

 安装Nginx:

前端这里记得改成公网的后端地址 

 构建前端项目:

 上传前端静态文件到服务器:

 配置Nginx服务前端静态文件:

在服务器上编辑Nginx的配置文件。通常在/etc/nginx/conf.d/your-app.conf

server {listen 80;server_name 113.45.188.175; # 您的公网IP地址root /usr/app/dist; # 确保这里是正确的dist目录路径index index.html;location / {try_files $uri $uri/ /index.html;}error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}
}

重新加载配置nginx -s reload 

测试 Nginx 配置

 重启 Nginx 服务

记得设置安全组规则,开放80和8080入的规则

 本地是在5173端口,公网使用nginx在 80 端口:

 通过您的公网 IP 地址 http://113.45.188.175 访问前端网站。

2.继续在华为云服务器部署后端项目

这里要和前端ip对应上,跨域这里我设置一个公网一个本地

后端打包,这里调用的大模型api,要和后面对应上 

 上传到服务器

进入到传输jar包的文件夹执行,这条命令执行成功,并且将进程放到了后台运行

nohup java -jar magic_conch_backend-0.0.1-SNAPSHOT.jar > magic_conch.log 2>&1

 记住如果想要重新改一遍运行,一定要杀死这个进程,然后重新打包上传,在运行上面后台启动命令

ps aux | grep java 查找后台运行
tail -f magic_conch.log 检查日志文件
kill PID 杀死进程

3.在另一台服务器部署fastapi接口,并能公网访问 

因为我用的是赠送的免费的阿里云服务器,没有GPU显卡,所以部署的是千问0.5b的模型,而且也得自己重新配环境,谁让他免费呢

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

bash Miniconda3-latest-Linux-x86_64.sh

source ~/.bashrc

我服务器装torch老是旧版本,所以只能重新指定版本安装了

conda create -n fastApi python=3.10 pytorch=2.3.0 -c conda-forge -y
# 或者 conda create -n fastApi python=3.10 "pytorch>=2.1" -c conda-forge -y

 

conda activate fastApi

conda install -c conda-forge fastapi uvicorn transformers -y
pip install safetensors sentencepiece protobuf accelerate 

python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"

然后就是把到处的模型上传到这个服务器上面,然后编写fastapi框架接口的python文件main.py

模型我放在/root/autodl-tmp/Models/Qwen2.5-0.5B/路径下

mian.py放在/root/autodl-tmp/App/路径下

from fastapi import FastAPI
from transformers import AutoModelForCausalLM, AutoTokenizer
import torchapp = FastAPI()# 模型路径
model_path = "/root/autodl-tmp/Models/Qwen2.5-0.5B"# 加载 tokenizer (分词器)
tokenizer = AutoTokenizer.from_pretrained(model_path)# 加载模型并移动到可用设备(GPU/CPU)
device = "cuda" if torch.cuda.is_available() else "cpu"
model = AutoModelForCausalLM.from_pretrained(model_path).to(device)@app.get("/generate")
async def generate_text(prompt: str):# 使用 tokenizer 编码输入的 promptinputs = tokenizer(prompt, return_tensors="pt").to(device)# 使用模型生成文本outputs = model.generate(inputs["input_ids"], max_length=150)# 解码生成的输出generated_text = tokenizer.decode(outputs[0], skip_special_tokens=True)return {"generated_text": generated_text}

然后进入 mian.py的/root/autodl-tmp/App/路径下,进入虚拟环境,启动

nohup uvicorn main:app --host 0.0.0.0 --port 8000 > fastapi_app.log 2>&1 &

一些进程操作

ps aux | grep uvicorn 查抄进程PID
kill PID 杀死进程

使用公网FastAPI - Swagger UI访问

http://www.dtcms.com/a/266910.html

相关文章:

  • 电机转速控制系统算法分析与设计
  • 同步(Synchronization)和互斥(Mutual Exclusion)关系
  • 基于Apache MINA SSHD配置及应用
  • Python爬虫 模拟登录状态 requests版
  • 如何查看自己电脑的CUDA版本?
  • D3 面试题100道之(21-40)
  • 通过MaaS平台免费使用大模型API
  • Java 入门
  • 鸿蒙中判断两个对象是否相等
  • react案例动态表单(受控组件)
  • React 渲染深度解密:从 JSX 到 DOM 的初次与重渲染全流程
  • 深入解析XFS文件系统:原理、工具与数据恢复实战
  • 【Go语言-Day 13】切片操作终极指南:append、copy与内存陷阱解析
  • 替代MT6701,3D 霍尔磁性角度传感器芯片
  • Go语言的协程池Ants
  • yolo性能评价指标(训练后生成文件解读)results、mAP、Precision、Recall、FPS、Confienc--笔记
  • 韩顺平之第九章综合练习-----------房屋出租管理系统
  • 从0写自己的操作系统(3)x86操作系统的中断和异常处理
  • 02每日简报20250704
  • Spring Boot + 本地部署大模型实现:安全性与可靠性保障
  • 高档宠物食品对宠物的健康益处有哪些?
  • MySQL/MariaDB数据库主从复制之基于二进制日志的方式
  • 如何查看自己电脑的显卡信息?
  • 力扣hot100题(1)
  • C++26 下一代C++标准
  • 通用人工智能三大方向系统梳理
  • 学习者的Python项目灵感
  • 【python实用小脚本-128】基于 Python 的 Hacker News 爬虫工具:自动化抓取新闻数据
  • [数据结构]详解红黑树
  • 小架构step系列04:springboot提供的依赖