Liang's Blog - 名字
type: channel
link: https://blog.ftliang.com/tag/%E5%90%8D%E5%AD%97/
items: 【转载】前后端分离项目的服务器部署
items: 专利查询--如何查询自己的专利

【转载】前后端分离项目的服务器部署
type: item
date: 2021-01-21T12:13:39+08:00
description: [原文来自CSDN](https://blog.csdn.net/wl_public/article/details/89853654 "原文来自CSDN") 好帖子收藏了 ### 前后端分离项目的服务器部署 前几天我的个人网站终于部署上线了，趁现在还记得，赶紧把流程记录下来。本文讲的是前后端分离的项目的服务器部署，这里就以我的个人网站为例子。我的个人网站前端是react，后端是nodejs，数据库是mongodb。 为了把项目部署上线，首先我们需要确保这个项目已经在本地跑通了，所谓跑通就是前端，后端，和服务器都已经被串在一起，而且可以正常运行了。在这个基础上，我们的部署分为以下几个步骤： 1. 购买域名和远程服务器 2. 域名解析，实名制认证，备案 3. 把项目代码放在远程服务器上 4. 程服务器安装数据库 5. 前端编译静态文件 6. nginx前端配置 7. 解决前后端跨域问题 8. 项目在线上跑通以及后续完善 步骤很多，看起来很吓人，但是实际操作起来还是很快的，下面我们就一步一步的来讲解吧。 #### 1. 购买域名和远程服务器 域名和远程服务器推荐在阿里云上购买, 原因是购买了他们的产品后有一系列很详细的教程，对于新手来说是很友好的。 购买后的域名需要进行实名制认证，这个过程很快，几乎是即时的，具体的认证方式阿里云上都有详细的说明。 服务器我买的是阿里云的轻量应用服务器，物美价廉，对于我的个人网站来说足够用了。购买服务器时，会让你选择服务器的地域，如果你的地域选在国内的话那你的域名是需要备案的，而这个备案过程大约需要半个月，所以着急着项目上线的同学可以把地域选在香港，是不用备案的。但是服务器放在香港的缺点就是有点延迟，所以服务器放在哪里还需要自己权衡。 购买服务器时还需要选择应用镜像和系统镜像，这里我们没有用到任何应用来构建我们的网站，所以只要选择系统镜像就好了。而选择什么系统呢？什么系统你最熟悉就选择什么系统，如果你完全是个小白，而且也不熟悉Linux系统的话，我个人不负责任的推荐windows系统。至于windows系统被嫌弃的不安全等问题，对于我这个个人网站来说都是不那么重要的。 #### 2. 域名解析 在对域名进行实名制认证之后(如果你的服务器地域在国内，还需要进行备案)，我们就可以对域名进行解析了。所谓域名解析，就是把域名的指向设置为我们购买的服务器的ip地址。域名只是一个方便我们记住的网站的名字，而我们真正需要访问的其实是服务器的那个ip地址。你也可以这么理解：我们通过域名解析来把域名和服务器关联了起来。 域名解析很简单，如果你的域名和服务器都是在阿里云购买的，可以一键解析。具体教程阿里云上写的很清楚，这里就不再赘述。 #### 3. 把项目代码放在远程服务器上 接下来我们需要想个办法把代码搬到远程服务器上，这里我推荐使用git。我们可以把项目放在github上之后，再在远程服务器上把代码clone下来。关于git有一个很浅显易懂的教程，是廖雪峰老师写的，这是链接。 代码clone下来以后不要忘了在服务器上安装运行代码所需要的软件和依赖包。比如我的后端是nodejs所以我就需要安装node。而依赖包的安装可以借助包管理工具npm或者是yarn。具体的方法在我的另一篇文章里有，请移步。 #### 4. 远程服务器安装数据库 前后端就准备妥当，这时候我们需要在服务器上安装数据库了。不同的数据库安装方法不同，相同的数据库库不同的操作系统安装方法也不同，这里需要根据自己的情况去找相应的文档。 如果你也是在windows系统里安装mongodb数据库的话，可以参考这个视频。 关于如何在网上准确的找到自己所需要的资料，这里我想结合我的经验说几句。找资料首先第一想到的应该是官方文档，因为官方文档是最新的，很多数据库(比如mongodb我就踩过坑)，版本的变更安装方法也会不一样，第三方网站给出的安装方法往往都是过时的，不适用的。但如果官方文档读的云里雾里怎么办？这个时候我推荐去Youtube找视频看，把视频按发布时间排序，找最新的视频看。这样再结合官方文档应该就没有问题了。 #### 5. 文件编译 关于编译我知道的也不多，所以这里只说一下具体我是怎么操作的，留个坑以后填。 首先是前端代码的编译，前端代码里直接npm run build或者是yarn run build就可以编译出静态文件，这里的静态文件是经过压缩的，所以代码的加载速度快。另外由于我的前端代码是用ES6标准写的，执行这个编译过程(如果你正确配置了babel)也帮我把ES6编译成了服务器可以识别的ES5代码。 然后是后端，后端也使用ES6写的，所以后端也需要用babel来编译一下。 #### 6. nginx前端配置 这里我们使用nginx主要有两个目的…

专利查询--如何查询自己的专利
type: item
date: 2019-07-02T16:49:35+08:00
description: http://www.soopat.com 直接搜索自己的名字就好了。 如果和自己重名的太多了，那就再加一个可能有的共同作者呗。