我已经完全清楚你的架构:

博客前台: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
你现在只需要告诉我一句:
你前台目录叫什么名字?
我可以把命令直接给你改成不用改一个字的版本!

评论