ssh vue 实现
SSH 连接 Vue 项目部署
通过 SSH 连接部署 Vue 项目通常涉及将构建后的静态文件上传到远程服务器。以下是具体实现方法:
构建 Vue 项目 在本地开发环境中运行以下命令生成生产环境代码:
npm run build
此命令会在项目目录下生成 dist 文件夹,包含所有静态文件。
配置 SSH 连接 确保本地已安装 SSH 客户端,并在远程服务器配置好 SSH 访问权限。常用连接命令格式:
ssh username@server_ip -p port_number
文件传输方法 使用 SCP 命令传输构建后的文件到服务器:
scp -r ./dist username@server_ip:/path/to/target/directory
-r 表示递归复制整个目录,/path/to/target/directory 应为服务器上 Web 服务器的根目录(如 Nginx 的 /var/www/html)。
自动化部署脚本
创建 deploy.sh 脚本实现自动化:

#!/bin/bash
npm run build
scp -r ./dist user@example.com:/var/www/html/
echo "Deployment completed"
运行前需给脚本执行权限:
chmod +x deploy.sh
服务器配置示例(Nginx) 确保服务器已正确配置 Web 服务器指向传输的目录:
server {
listen 80;
server_name your_domain.com;
root /var/www/html/dist;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
注意事项
- 确保服务器已安装 Node.js 和 npm(用于构建)
- 防火墙需开放相应端口(通常 22 用于 SSH,80/443 用于 Web)
- 对于持续集成环境,可使用 CI/CD 工具如 GitHub Actions 或 Jenkins 实现自动化
免密码 SSH 登录配置
为提高效率,可设置 SSH 密钥认证:

生成密钥对
ssh-keygen -t rsa
上传公钥到服务器
ssh-copy-id username@server_ip
此后执行 SCP 命令不再需要输入密码。
常见问题解决
权限问题 若上传后出现 403 错误,需确保 Web 服务器有目录访问权限:
chown -R www-data:www-data /var/www/html/dist
路由问题 Vue 路由需配置为 history 模式时,Nginx 需要特殊配置(如前面示例中的 try_files 指令)。
环境变量处理
生产环境变量需通过 .env.production 文件配置,并在构建时被注入。






