部署前端项目到服务器过程详解

简介: 部署前端项目到服务器过程详解


打包

以vue为例,本地先执行npm run build打包命令,之后将dist目录进行压缩,得到dist.zip文件

通过xshell连接远程服务器

可以参考我之前写的文章:通过Xshell连接有跳板机/堡垒机的服务器,按照文章步骤,连接远程服务器

部署

  1. 进入服务器,先切换root角色,这样才有操作服务器的权限
    执行whoami查看当前角色,如果角色不是root,则执行sudo su,切换成root角色,切换之后,再次执行whoami确认当前角色是否是root
  2. 将电脑上打包好的dist.zip文件复制到远端服务器的临时文件夹上(如tmp)
    执行cd /tmp进入服务器根目录下的tmp文件夹

    将本地电脑上打包好的dist.zip文件直接拖到Xshell窗口,即可将dist.zip文件复制到服务器tmp临时目录下

执行ls,即可查看tmp文件夹下,多了dist.zip文件,说明文件复制成功

3. 假如我们的项目是部署在服务器的/workspace/www/projectName下,那么进入到这个目录。

执行ls可以看到,当前项目目录下,有这个项目的之前版本的dist压缩包、当前版本的dist压缩包以及当前版本的dist目录

4. 为了保证项目可以回滚到之前的版本,首先我们要备份当前运行版本的dist.zip,通常是按照dist+日期进行命名备份

当前项目目录下,执行mv dist.zip dist0615.zip对当前版本的dist.zip进行重命名备份

5. 之后在当前项目目录运行mv /tmp/dist.zip .将服务器/tmp目录的dist.zip压缩包移动到当前项目目录上

6. 在当前目录,执行unzip -o dist.zip -d dist,即解压dist.zip到当前目录的dist目录下,并覆盖之前的dist目录,解压成功之后,前端项目即部署成功

修改nginx配置(只有需要修改nginx配置的时候(如代理)才执行这步,否则不需要执行)

  1. 如项目中的nginx配置放在服务器/workspace/app/nginx/conf.d目录下,
    那么我们就执行cd /workspace/app/nginx/conf.d进入到这个目录
    执行ls可以看到这个目录有我们的nginx配置文件,如ope.conf
  2. 为了防止新修改的nginx配置报错,我们需要对当前版本的nginx配置文件备份一下,再执行之后的操作。
    执行cp ope.conf ope0615.conf对当前版本的nginx配置文件备份一下
  3. 执行vim 文件名进入到nginx配置文件的编辑页,按i即可进入编辑状态,编辑完成之后,按esc退出编辑。如果需要保存修改,则先按shift :wq即可;如果不需要保存修改,则先按shift :q!即可;
  4. 修改完nginx配置之后,需要重启nginx,假如我们的nginx程序放在服务器/workspace/app/nginx/sbin目录下,
    那么我们就执行cd /workspace/app/nginx/sbin进入到这个目录
    执行./nginx -s reload即可重启nginx,至此,前端项目部署完成
目录
相关文章
|
13天前
|
弹性计算 监控 负载均衡
|
7天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
23天前
|
JavaScript 前端开发 Docker
前端全栈之路Deno篇(二):几行代码打包后接近100M?别慌,带你掌握Deno2.0的安装到项目构建全流程、剖析构建物并了解其好处
在使用 Deno 构建项目时,生成的可执行文件体积较大,通常接近 100 MB,而 Node.js 构建的项目体积则要小得多。这是由于 Deno 包含了完整的 V8 引擎和运行时,使其能够在目标设备上独立运行,无需额外安装依赖。尽管体积较大,但 Deno 提供了更好的安全性和部署便利性。通过裁剪功能、使用压缩工具等方法,可以优化可执行文件的体积。
前端全栈之路Deno篇(二):几行代码打包后接近100M?别慌,带你掌握Deno2.0的安装到项目构建全流程、剖析构建物并了解其好处
|
4天前
|
资源调度 前端开发 JavaScript
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第10天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤,包括安装依赖、创建混淆脚本、修改 `package.json` 脚本命令、构建项目并执行混淆,以及在 HTML 文件中引用混淆后的文件。通过这些步骤,可以有效提高代码的安全性。
|
12天前
|
前端开发 Unix 测试技术
揭秘!前端大牛们如何高效管理项目,确保按时交付高质量作品!
【10月更文挑战第30天】前端开发项目涉及从需求分析到最终交付的多个环节。本文解答了如何制定合理项目计划、提高团队协作效率、确保代码质量和应对项目风险等问题,帮助你学习前端大牛们的项目管理技巧,确保按时交付高质量的作品。
26 2
|
14天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
22天前
|
缓存 前端开发 JavaScript
前端serverless探索之组件单独部署时,利用rxjs实现业务状态与vue-react-angular等框架的响应式状态映射
本文深入探讨了如何将RxJS与Vue、React、Angular三大前端框架进行集成,通过抽象出辅助方法`useRx`和`pushPipe`,实现跨框架的状态管理。具体介绍了各框架的响应式机制,展示了如何将RxJS的Observable对象转化为框架的响应式数据,并通过示例代码演示了使用方法。此外,还讨论了全局状态源与WebComponent的部署优化,以及一些实践中的改进点。这些方法不仅简化了异步编程,还提升了代码的可读性和可维护性。
|
23天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
189 2
|
23天前
|
NoSQL Linux PHP
|
7天前
|
前端开发 JavaScript 安全
vite3+vue3 实现前端部署加密混淆 javascript-obfuscator
【11月更文挑战第7天】本文介绍了在 Vite 3 + Vue 3 项目中使用 `javascript-obfuscator` 实现前端代码加密混淆的详细步骤。包括项目准备、安装 `javascript-obfuscator`、配置 Vite 构建以应用混淆,以及最终构建项目进行混淆。通过这些步骤,可以有效提升前端代码的安全性,防止被他人轻易分析和盗用。