记一次项目上线过程

以前嫌麻烦,自己写了很多小demo,却从未考虑过上线给其他人使用。后来有一个面试官告诉我,你身为开发,做出来的项目就是要给别人用的。于是后来我买了一个阿里云的学生服务器,也很便宜,一个月9.5。然后为我的博客买了一个域名,开始了学习上线之路。

1.首先记得要把前端项目里面的baseURL加入线上环境的URL,这个操作可以用webpack提供的功能实现
比如我的:

const baseUrl = process.env.NODE_ENV === 'production' ? 'https://www.lixinyi0622.com/v1/' : 'http://localhost:4200/v1/' // 项目运行在开发环境还是生产环境,根据不同环境对应不同webpack配置

2.然后将前端项目用webpack打包成一个dist文件夹

npm run build

这个npm命令的本质就是运行你项目里的build文件夹的build.js

3.然后下载一个SSL连接工具
这里我选择的是putty。
打开putty输入你的服务器IP,然后连接,在控制台里输入你的root账号的密码。

4.然后使用Linux命令安装好各种所需的应用环境,例如node.js和mysql

5.项目的部署可以自行下载ftp传输工具
我选择的是xftp
这样子传输的好处是可以可视化的操作了,当然你也可以使用git来部署。
把你的前端打包后的项目和后端项目都部署进去。

6.如果要使用nginx做代理的话,需要在nginx.conf里的server里配置一下root,就是你存放项目的位置,然后server_name可以设置多个你想要通过它们来访问网站的域名。

7.要让你的后台项目持续运行,需要在服务器上安装一个pm2,这是一个很强大的进程管理工具

npm install -g pm2

安装好之后,进入后台项目目录,然后执行命令

`pm2 start app.js`

这样后台就会一直运行,不用每次都手动开启。

8.然后记得把你的本地数据库转移到服务器的数据库上,我使用的是mysql,本地可视化工具我使用navicat,这个工具支持连接阿里云服务器,所以可以直接在navicat里面对服务器上的数据库进行操作,非常方便。相应的后台项目里面对数据库的配置信息也要记得修改过来。

9.这样子差不多就算上线成功了,如果你的域名成功备案了,那么就可以用域名访问了。

10.偶然发现阿里云里面可以买到免费的SSL证书,于是我买了一个,然后http转到https的过程也摸索了一下。
从阿里云上下载证书,解压得到一个pem和一个key。
然后把这些放到服务器上去。
首先当然是需要更改一下ngin.conf里面的设置,把443的端口配置照着之前80的一样编辑一下。
ssl_certificate是pem文件的路径,ssl_certificate_key是key文件的路径。

这样还不算完,还需要修改一下后端项目里面的www启动代码。
先把证书放进项目内。
把原先的var http = require('http');里面的http改为https

var fs = require('fs');

var options = {
  key:fs.readFileSync("../ssl/xxx.key"),
  cert:fs.readFileSync("../ssl/xxx.pem")
};

var server = https.createServer(options,app.callback()).listen(443);

这样后端就改好了。

然后我们还要把前端项目里的baseURL改为https开头的。

猜你喜欢

转载自blog.csdn.net/lixinyi0622/article/details/85326969