部署方面踩坑日志

部署踩坑日志

文章背景:

​ 如果你信心满满地购买了服务器,却不知如何去进行部署。那么,恭喜你,这篇文章,将会非常适合你。

这篇文章,我将从我开始购买服务器,到如何进行前后端项目进行部署的过程一一说明,以及要注意哪些坑。

1.购买服务器第一件事

  1. 当我们购买了一台服务器,不管是腾讯云还是阿里云,控制台都是慢慢的一堆,这个时候,我们作为一个初识服务器的新手,必然是一头雾水。这个时候,大家也不要担心,这是正常的现象。正所谓,我们学会并用熟一个东西,都是从开始跟着做,到后来慢慢地去探索。
  2. 我们应该做的一件事情,就是下载一个远程终端工具,例如Xshell,来连接到我们购买的远程主机。随后,我们应该安装一个可视化软件,以便我们不用怎么熟悉命令,就可以进行部署相关的工作。例如安装宝塔控制面板。这里怎么安装宝塔控制面板网上有很多详细的教程,这里我就不一一赘述了。
  3. 安装完宝塔后,我们将会得到一段文本
    1. 宝塔内网地址
    2. 宝塔外网地址
    3. 用户名
      1. 密码
  4. 登录宝塔。

2.前端部署

关于前端部署,大致流程如下:

  1. 点击宝塔面板左侧控制栏中的网站
  2. 点击PHP项目
  3. 点击添加站点,同时将打包后的文件放到对应的目录下面。
  4. 配置域名,和打包后的存放的文件目录。一般在/www/wwwroot/下面一级。
  5. 这一步也是最坑的一点,当我们按照前面的步骤部署项目后,我们虽然能够访问到我们的界面,但却发现,在开发环境下,我们利用proxy配置的代理竟然没有用了。接口直接朝本地的路径进行请求,从而产生了跨域错误。这是因为proxy只是在开发环境下将请求代理到后端服务器的本地服务,我们把项目打包成dist文件只把我们的组件等资源打包了,并不会将代理服务器给打包,所以项目中的请求路径不完整导致访问不到对应资源。对次,解决办法就是在设置里面,反向代理里面配置反向代理。也就是Nginx
  6. 具体原因和解决办法:可以参考 Vue项目打包部署上线时devServer.proxy代理失效如何解决?使用nginx的proxy_pass 代理跨域转发_vue打包后代理请求失效_焦妮敲代码的博客-CSDN博客

3.后端部署

这里,我就以node后端部署进行为例。

  1. 后端部署主要分为两个方面:一个是数据库的部署,一个是我们编写的后端代码部署

后端代码部署:

  1. node.js可以选用PM2包管理工具进行部署。
  2. pm2中添加项目,启动文件的输入框路径放项目的入口文件
  3. 运行目录,就放整个项目存放的目录,然后点击确认
  4. 也可以通过终端,进入到目录,通过pm2 start 文件名进行手动启动

数据库部署:

  1. 在数据库中,添加mysql,注意这个时候,用户名和数据库名要和本地的一样。然后从本地的navicat中导出数据库。这里有个非常大的坑,我查阅了很多资料才解决。
  2. 如果本地的sql是版本8,不仅在本地连接上有点不一样。在导出的sql文件都有很大的区别。我们将sql8的文件放到sql5中使用,需要进行如下转换:

mysql 8.0 sql文件转至5.7_sql文件的mysql8.0编码 怎么换为 5.7编码_河上街的博客-CSDN博客

Unknown collation: ‘utf8mb4_0900_ai_ci‘ 的解决方案_collate=utf8mb4_0900_ai_ci_枯木何日可逢春的博客-CSDN博客

至此,前后端的部署到这就简单完成了,希望对大家有所帮助✌✌✌

你可能感兴趣的:(前端,node.js,腾讯云)