打包后的dist文件怎么布到线上,可以使用Xftp和Xshell

打包后的dist文件怎么布到线上,可以使用Xftp和Xshell

Xftp(是一个文件传输的文件,一般用于把本地的dist文件放到线上): 

Xtfp和Xshell下载链接)下载学校版就可免费试用

安装教程:安装教程

打开后点击新建 =》添加主机 =》端口号22 =》协议SFTP =》确定=》登录用户名和密码=》左侧窗口右键一个文件点击传输

Xshell(可以到远程服务器上执行命令): 

连接的三种方式:可参考连接方式

此处使用SSH:打开后点击新建 =》添加主机 =》端口号22 =》协议SSH =》确定=》输入用户和密码

成功后进入的界面

使用一些命令(sudo -s进入管理员,进入目录cd 文件名,解压文件unzip"文件名")

运行文件:http-server -p 3000 -p http://localhost(此处需要安装http-server)这个命令会在当前目录启动一个服务器,并且服务器监听的端口号为3000

如果Xftp无法删除文件可登录管理员进行删除操作(rm -rf '删除的文件名')

常用命令:Xshell命令   

参考:Xftp和Xshell的使用
 

更新 =》言简意赅Xshell输入顺序
sudo -s(后开头是root代表是管理员运行)
输入账号密码
进入到项目文件 cd 文件
卸载原有的dist.zip  rm -rf dist.zip
卸载原有的dist文件  rm -rf dist
在Xftp把本地压缩好的dist压缩包挪到右侧
解压dist.zip  unzip dist.zip
进入到dist文件内   cd dist
运行 http-server -p 8080  -P http://localhost  (8080可替换根据项目决定)

### 使用 XFTP7 XShell7 部署网页到服务器 #### 准备工作 确保已下载并安装最新版本的 XShell7 XFTP7,可以从官方网址获取家庭或学校免费版[^2]。 #### 打包前端项目 对于基于 Vue 的项目,在本地环境中执行构建命令来创建生产环境下的静态资源: ```bash npm run build ``` 这会生成 `dist` 文件夹,其中包含了用于部署的所有必要文件[^3]。 #### 连接至远程服务器 启动 XShell7 并建立一个新的会话以通过 SSH 协议连接目标 Linux 服务器。输入正确的主机名/IP 地址以及认证信息完成登录过程。 #### 转移文件 利用 XFTP7 实现文件上传操作: - 启动 XFTP7 客户端并与之前设置好的相同服务器建立链接; - 新建文件传输窗口,浏览找到本地计算机上的 `dist` 目录; - 将整个 `dist` 文件夹拖拽至对应的远端路径下,比如 `/var/www/html/your_project_name` 或者其他由 Web 服务指定的位置[^5]。 #### Nginx 配置调整 为了使新上传的内容能够被正确解析展示给访客,需编辑 NGINX 的配置文件 (`nginx.conf`) 来指向新的站点根目录,并重启该服务让更改生效[^4]: ```bash sudo vi /etc/nginx/nginx.conf # or specific site configuration file under sites-available/ server { listen 80; server_name yourdomain.com; location / { root /path/to/dist; # Update this line to point at the uploaded dist folder. index index.html; } } sudo systemctl restart nginx ```
当前博文未提及该问题,以下是基于C知道的知识内容为您回答 将前端项目部署到Nginx服务器,涉及从本地开发到服务器线的完整流程。以下是详细的步骤说明、核心配置要点以及常见问题的解决方案。 ## 一、 准备工作与环境搭建 ### 1.1 工具准备 在开始部署前,需要准备以下工具环境: | 工具/环境 | 用途说明 | 参考来源 | | :--- | :--- | :--- | | **服务器** | 运行Nginx存放前端资源的远程主机(Linux系统,如CentOS/Ubuntu) | [ref_3], [ref_6] | | **Xshell** | 通过SSH协议连接并操作远程服务器的终端工具 | [ref_3], [ref_6] | | **Xftp** | 与服务器进行文件传输的图形化工具,用于上传静态资源 | [ref_3], [ref_6] | | **前端项目** | 已完成开发并打包(如 `npm run build` 生成 `dist` 目录)的静态文件 | [ref_5] | ### 1.2 服务器环境检查与Nginx安装 通过Xshell连接服务器后,首先检查并安装Nginx。 **1. 连接服务器** 打开Xshell,新建会话,输入服务器的IP地址、端口(默认22)、用户名(如 `root`)密码进行连接 [ref_6]。 **2. 安装Nginx** 在Xshell终端中执行以下命令安装Nginx及其依赖: ```bash # 1. 更新软件包列表并安装编译工具及依赖库 yum update -y # CentOS系统,[ref_3] # 或 apt-get update && apt-get upgrade -y # Ubuntu系统 # 2. 安装Nginx依赖(编译所需) yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel # [ref_3] # 3. 下载并解压Nginx源码包(以稳定版nginx-1.18.0为例) wget -c https://nginx.org/download/nginx-1.18.0.tar.gz # [ref_3] tar -zxvf nginx-1.18.0.tar.gz cd nginx-1.18.0 # 4. 编译与安装 ./configure --prefix=/usr/local/nginx --with-http_ssl_module # 指定安装目录并启用SSL模块,[ref_3] make && make install # [ref_3] ``` **3. 启动与验证Nginx** ```bash # 进入Nginx的sbin目录启动 cd /usr/local/nginx/sbin ./nginx # [ref_3] # 检查Nginx进程是否运行 ps -ef | grep nginx # [ref_3] # 在浏览器访问服务器IP,若看到“Welcome to nginx!”页面,则安装成功。 ``` ## 二、 上传静态资源文件 这是通过Xftp工具将本地打包好的前端文件上传服务器的关键步骤。 1. **打开Xftp并连接服务器**:使用Xshell相同的连接信息(主机、端口、用户名、密码)建立连接 [ref_3]。 2. **在服务器上创建项目目录**:建议在 `/home` 或 `/usr/local/nginx/html` 目录下创建一个专属目录存放项目。 ```bash # 在Xshell中执行 mkdir -p /home/my-web-project ``` 3. **上传文件**: * 在Xftp的**左侧窗口**(本地)导航到你的前端项目打包后的目录(通常是 `dist` 文件夹)。 * 在**右侧窗口**(服务器)导航到刚刚创建的项目目录(如 `/home/my-web-project`)。 * **选中 `dist` 文件夹内的所有文件**(或整个 `dist` 文件夹),右键拖拽或使用上传按钮,将其上传服务器目标目录 [ref_3]。 * **重要**:确保上传后的文件权限正确(通常 `755` 对于目录,`644` 对于文件即可)。 ```bash chmod -R 755 /home/my-web-project ``` ## 三、 配置Nginx以服务前端资源 Nginx的核心配置在于修改其配置文件,将特定的网络请求指向我们上传的静态文件目录。 1. **定位并编辑Nginx配置文件**: ```bash # 通常配置文件位于 /usr/local/nginx/conf/nginx.conf vim /usr/local/nginx/conf/nginx.conf # [ref_3] ``` 2. **配置一个server块**:在 `http { }` 块内,找到或新增一个 `server` 配置,这是部署前端项目的核心 [ref_5]。 ```nginx server { listen 80; # 监听80端口,[ref_3] server_name your-domain.com www.your-domain.com; # 你的域名或服务器IP,[ref_3] # 开启Gzip压缩以优化性能(可选但推荐) gzip on; gzip_min_length 1k; gzip_comp_level 5; gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; # 核心配置:location块,将所有请求指向前端资源目录 location / { root /home/my-web-project; # 这里替换为你实际上传文件的目录路径,[ref_5] index index.html index.htm; # 设置默认首页文件,[ref_3] # 对于Vue/React等单页应用(SPA)的历史路由模式,必须添加此配置以避免404错误 try_files $uri $uri/ /index.html; # [ref_5] } # 可以配置静态资源(如图片、JS、CSS)的缓存策略 location ~* \\.(jpg|jpeg|png|gif|ico|css|js)$ { root /home/my-web-project; expires 365d; # 设置长期缓存 add_header Cache-Control "public, immutable"; } } ``` * **`root`**:指令指定了静态文件的根目录,必须与Xftp上传的目录绝对路径一致 [ref_5]。 * **`try_files`**:对于使用了 `history` 模式的前端路由框架,此指令至关重要,它能确保在直接访问子路由或刷新页面时,Nginx能正确返回 `index.html`,由前端框架处理路由 [ref_5]。 ## 四、 重启Nginx并验证部署 1. **重启Nginx服务使配置生效**: ```bash # 检查配置文件语法是否正确 /usr/local/nginx/sbin/nginx -t # [ref_3] # 平滑重启Nginx(不中断服务) /usr/local/nginx/sbin/nginx -s reload # [ref_3] # 如果reload失败,可能需要先停止再启动 /usr/local/nginx/sbin/nginx -s stop /usr/local/nginx/sbin/nginx ``` 2. **验证部署**: * 在浏览器中输入你的服务器IP地址或域名(例如 `http://your-server-ip`)。 * 如果配置正确,应该能看到你的前端应用正常加载运行。 3. **排查常见问题**: * **403 Forbidden**:检查 `root` 目录路径是否正确,以及Nginx进程用户(通常是 `nobody` 或 `www-data`)是否有该目录及文件的读取权限 [ref_3]。 * **404 Not Found**:确认 `root` 路径 `index` 文件名无误。对于SPA,务必检查 `try_files $uri $uri/ /index.html;` 是否已配置 [ref_5]。 * **端口被占用**:使用 `netstat -tlnp | grep :80` 检查80端口是否已被其他程序占用。 * **防火墙限制**:确保服务器防火墙(如 `firewalld` 或 `iptables`)已放行80端口(HTTP)443端口(HTTPS,如果使用) [ref_3]。 ## 五、 进阶部署与优化考虑 * **多项目部署**:可以在同一个Nginx配置文件中配置多个 `server` 块,通过不同的 `server_name`(域名)或 `listen` 端口来区分部署多个前端项目 [ref_5]。 * **API代理**:如果前端需要访问后端API,可以在 `location` 块中使用 `proxy_pass` 指令将特定路径的请求转发到后端服务器,解决跨域问题 [ref_5]。 ```nginx location /api/ { proxy_pass http://your-backend-server:3000/; # 将/api开头的请求转发到后端 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } ``` * **启用HTTPS**:为提升安全性,建议配置SSL证书,将HTTP请求重定向到HTTPS,并在 `server` 块中配置 `listen 443 ssl` 及相关证书路径 [ref_5]。 通过以上步骤,你可以系统性地完成从本地前端项目打包,到通过Xshell/Xftp工具上传资源,再到在Nginx服务器上配置并成功部署的全过程。关键在于确保文件路径、Nginx配置指令的正确性,并对SPA应用的路由模式进行特殊配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值