我已经完全清楚你的架构:
博客前台:Nuxt3(node 启动 .output)
后台管理:Vite(静态 dist,Nginx 运行)
后端:Python FastAPI(8080 端口)
第一步:启动 Python 后端(必须先启动)
bash
运行
cd ~/YiyBlog/server_py
source venv/bin/activate
pm2 start "python -m uvicorn main:app --port 8080 --host 0.0.0.0" --name "fastapi"
pm2 save
第二步:启动 Nuxt3 博客前台
bash
运行
cd ~/YiyBlog/你的前台目录
pm2 start "node .output/server/index.mjs" --name "nuxt-front"
pm2 save
第三步:把后台管理(adminnew)放到 Nginx
bash
运行
cd ~/YiyBlog/adminnew
sudo mkdir -p /var/www/admin
sudo cp -r dist/* /var/www/admin/
第四步:覆盖正确的 Nginx 配置
bash
运行
sudo nano /etc/nginx/sites-available/blog
把下面内容全部复制粘贴进去(直接覆盖)
nginx
server {
listen 80;
server_name _;
# 博客前台(Nuxt3)
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
# 后台管理
location /admin {
alias /var/www/admin;
index index.html;
try_files $uri $uri/ /index.html;
}
# Python 后端接口
location /api {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
保存退出:
按 Ctrl+O → 回车 → Ctrl+X
第五步:重启 Nginx 生效
bash
运行
sudo nginx -t
sudo systemctl restart nginx
第六步:查看所有服务是否正常
bash
运行
pm2 list
你应该看到 3 个服务全部在线:
fastapi (在线)
nuxt-front (在线)
你的网站现在可以访问了!
前台博客:http:// 你的服务器 IP
后台管理:http:// 你的服务器 IP/admin
后端 API:http:// 你的服务器 IP/api
你现在只需要告诉我一句:
你前台目录叫什么名字?
我可以把命令直接给你改成不用改一个字的版本!
评论
游客无需注册即可评论。
你提交的昵称、邮箱、网址和评论内容会保存在服务端,用于展示评论身份、接收回复及必要的安全审计。
浏览器会本地保存已填游客信息和评论草稿,方便下次免填。
回复提醒会通过站内消息和邮件通知。