文章背景:
如果你信心满满地购买了服务器,却不知如何去进行部署。那么,恭喜你,这篇文章,将会非常适合你。
这篇文章,我将从我开始购买服务器,到如何进行前后端项目进行部署的过程一一说明,以及要注意哪些坑。
- 当我们购买了一台服务器,不管是腾讯云还是阿里云,控制台都是慢慢的一堆,这个时候,我们作为一个初识服务器的新手,必然是一头雾水。这个时候,大家也不要担心,这是正常的现象。正所谓,我们学会并用熟一个东西,都是从开始跟着做,到后来慢慢地去探索。
- 我们应该做的一件事情,就是下载一个远程终端工具,例如Xshell,来连接到我们购买的远程主机。随后,我们应该安装一个可视化软件,以便我们不用怎么熟悉命令,就可以进行部署相关的工作。例如安装宝塔控制面板。这里怎么安装宝塔控制面板网上有很多详细的教程,这里我就不一一赘述了。
- 安装完宝塔后,我们将会得到一段文本
- 宝塔内网地址
- 宝塔外网地址
- 用户名
- 密码
- 登录宝塔。
关于前端部署,大致流程如下:
- 点击宝塔面板左侧控制栏中的网站
- 点击PHP项目
- 点击添加站点,同时将打包后的文件放到对应的目录下面。
- 配置域名,和打包后的存放的文件目录。一般在
/www/wwwroot/
下面一级。- 这一步也是最坑的一点,当我们按照前面的步骤部署项目后,我们虽然能够访问到我们的界面,但却发现,在开发环境下,我们利用
proxy
配置的代理竟然没有用了。接口直接朝本地的路径进行请求,从而产生了跨域错误。这是因为proxy只是在开发环境下将请求代理到后端服务器的本地服务,我们把项目打包成dist文件只把我们的组件等资源打包了,并不会将代理服务器给打包,所以项目中的请求路径不完整导致访问不到对应资源。对次,解决办法就是在设置里面,反向代理里面配置反向代理。也就是Nginx
。- 具体原因和解决办法:可以参考 Vue项目打包部署上线时devServer.proxy代理失效如何解决?使用nginx的proxy_pass 代理跨域转发_vue打包后代理请求失效_焦妮敲代码的博客-CSDN博客
这里,我就以node后端部署进行为例。
- 后端部署主要分为两个方面:一个是数据库的部署,一个是我们编写的后端代码部署
后端代码部署:
node.js
可以选用PM2
包管理工具进行部署。- 在
pm2
中添加项目,启动文件的输入框路径放项目的入口文件- 运行目录,就放整个项目存放的目录,然后点击确认
- 也可以通过终端,进入到目录,通过
pm2 start 文件名
进行手动启动
数据库部署:
- 在数据库中,添加
mysql
,注意这个时候,用户名和数据库名要和本地的一样。然后从本地的navicat
中导出数据库。这里有个非常大的坑,我查阅了很多资料才解决。- 如果本地的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博客
至此,前后端的部署到这就简单完成了,希望对大家有所帮助✌✌✌