这是我参与「第四届青训营 」笔记创作活动的第14天。
以下是本次仿掘金项目关于后端Node.js服务器框架Express以及前端服务Vue的部署。
部署Express(Node.js)服务
一、获取服务器
这里可以选择很多的服务器,包括腾讯云,阿里云等等以及一些其他的小的网站的服务器,这里我就不一一赘述了。
本次部署服务器我所选服务器是阿里云,系统是Linux的Ubuntu版本,所以以下的操作都是基于Ubuntu系统进行叙述的。
这里在服务器中,我们要获得自己的公网的端口号以及登录名以及密码,这将在下一步中起到决定性的作用。
以下以阿里云服务器来介绍
1.公网的IP地址
由云服务器控制台进入实例——>创建实例——>点击实例对象的名字,就可以看到公网IP了
2.更改密码
在实例一栏有一个管理按钮或者下拉框,点击管理,里面有重置实例密码选项
或者下拉框更多,点击重置实例密码
3.重置实例密码
这里登录名默认填root,不过也可以填其他,密码自己设置。
二、下载Xshell
在Xshell的官网下载Xshell,以下为Xshell官网
进入官网后点击下载,选择家庭和学生的免费许可证,然后填写自己的姓名和邮箱,就能通过邮箱下载免费的Xshell。
下载好后,打开Xshell,点击此按钮,新建一个会话管理器。
输入公网IP,点击连接:
输入用户名
输入密码
注意:如果此时一直显示密码错误的话,可以重启一下服务器,或者再次修改密码,重启服务器,点击云服务器控制台中的实例选项中的管理选项可以看到重启按钮
三、安装以及配置Node.js
这个就不细说了,网上都有教程,搜Ubuntu如何安装Node.js并配置全局环境就行。
四、上传Express文件并运行
可以在任意路径先创建一个任意名字的文件夹,比方说,我创建了一个Web文件夹:
mkdir web
然后,要安装lrzsz,这样我才可以上传和下载文件
sudo apt-get install lrzsz
//rz上传文件 sz下载文件
安装zip和unzip以此来解压和压缩文件
sudo apt-get install zip unzip
//zip压缩命令 unzip解压命令
接下来我们就可以上传文件了
注意:这里要改端口号
我们一般在本地运行的是3000端口,这时,我们就需要查看云服务器的端口,然后根据云服务器的端口来设置Express文件的端口号,云服务器端口可以通过点击实例——>管理——>安全组——>点击安全组项名字——这时候,出来一个界面,我们可以手动添加端口号,这里我选择80端口,只需在端口范围一项选择HTTP(80)即可,点击保存即可创建端口。
然后,在Express的bin文件夹下的www文件中修改端口号,将此数字改为80
之后,将Express中除node_modules的文件打包成一个压缩文件,像这样
然后,在Ubuntu系统下,进入到目标文件夹,上传文件
cd web/
rz -y
选择压缩文夹:xxx.zip
解压文件
unzip xxx.zip
//解压后删除zip文件
rm xxx.zip
安装依赖
npm install
之后运行,我这里是npm start,再本地运行是什么命令,在服务器就是使用什么命令。
然后,Express就可以运行,可以使用公网IP直接访问。
前端服务Vue的部署
Vue就相对比较简单了,我们直接使用npm run build命令就可以将Vue项目打包成一个dist文件夹,然后我们将这个文件夹压缩上传并解压放到存放Express程序的文件夹下的public文件夹内就行,这里就不做赘述了。
注意:
1.这里的public是指静态文件存放的文件夹,如果不同,请选择自己所选的静态文件夹,
2.在上传dist文件夹的压缩包时,首先要看一下静态文件夹中是否有文件与dist文件夹内的文件以及文件夹重名,确定不会覆盖重要内容之后再进行上传,或者修改名字。
3.如果Vue项目中有设置路由(router),要切记路由器实例对象mode最好为hash,当然也可以为history,但还需更改服务器的一些配置,具体可以网上搜索,不然路由无法跳转。