部署:使用 PM2 部署项目

怎样解析域名?

域名解析,也就是将域名与服务器 IP 地址对应上。通过访问域名,就能找到当前服务器了上的项目了。
如果你的服务器在国内的话,域名解析后,想要能正常访问项目,有个前提:必须确保域名备案通过了
打开阿里云,进入控制台,找到域名,点击域名列表,找到当前域名,再点击解析
在这里插入图片描述

点击添加记录

  • 记录类型:默认是A记录,不用改。A 记录,就是直接将域名与 IP 地址对应起来。
  • 主机记录:我们填api,那我要解析的域名就是api.lwyxw.xin。大家也可以自定义成其他的。
  • 记录值:要填服务器的公网IP地址。
    在这里插入图片描述
    这样我们访问api.lwyxw.xin,实际上就会访问服务器的 IP 地址。

我们可以做一个测试,检查域名是否解析成功。打开本地终端,运行

ping api.lwyxw.xin

在这里插入图片描述

添加站点

在这里插入图片描述

  • 项目目录:请选择自己的项目路径
  • 项目名称:请给项目取一个的名字,我就叫做,xwAPI
  • 启动选项:选择自定义启动命令
  • 命令改为:
pm2 start ./bin/www
  • pm2是适合生产环境上,用来运行Node.js应用的工具。
  • 项目端口:默认是3000。如果你改过.env中的端口设置,那就改为对应的端口
  • 绑定域名:就填刚才解析过来的域名,我的是:api.clwy.cn
    在这里插入图片描述
    打开浏览器访问一下:http://api.clwy.cn

在这里插入图片描述

果然已经可以获取到接口数据了,但是提示我们站点是不安全的。

PS:如果访问不了,可尝试将运行用户改为:root
在这里插入图片描述

配置 SSL 证书

要变成安全,还需要配置SSL证书,回到宝塔里,
在这里插入图片描述
当前站点上,点击设置。找到SSL,选择Let's Encrypt,勾选上自己的域名,点击申请证书。然后请耐心等待,可能要 1~2 分钟。

在这里插入图片描述
完成后,窗口会自动关闭,并将证书填写进去。在这里插入图片描述
我们勾选一下,强制HTTPS。再次访问,就会自动跳转到https了,检查一下看看,已经提示是安全的了。
在这里插入图片描述

部署后,如何更新项目?

项目开发不是一蹴而就,都是需要反复的迭代更新。我们简单调整下代码,然后看看怎样部署最新版本。

随便改一个数据 提交到git仓库,并Push上去

在这里插入图片描述
接着点击宝塔上的文件,进入当前项目根目录中,开启终端
在这里插入图片描述

这样服务器上就有了最新的代码了。但是去访问接口,还是显示以前的提示信息。

在这里插入图片描述
这里要注意了,更新完代码后,要点击网站,找到当前项目后,进入设置中。再点击服务状态,选择重启
在这里插入图片描述

当系统重启后,如何自动启动项目?

有时候服务器出意外了,发生了重启。可以让项目在服务器启动时,自动跟随系统启动。

非常简单,还是设置里,点击项目信息,勾选上跟随系统服务启动即可。完成后,保存一下

在这里插入图片描述

在一台服务器上,如何部署多个项目?

在一台服务器上是可以部署多个Node.js项目的。只要项目的端口不同域名也不同就行

可以用同样的办法,上传第二个项目。并将第二个项目的:

  • .env文件,修改为PORT=3001。改成其他端口号也行,只要是没有被使用的都行。
  • 宝塔里,项目端口,也改为3001
  • 域名再做一个的解析,例如,解析hello.clwy.cn到当前服务器公网 IP 地址上。
  • 宝塔里,项目域名,也要对应的改为:hello.clwy.cn

总结

  • 域名要经过备案,并设置域名解析后,才能访问。
  • 生产环境要用PM2运行Node.js项目。
  • PM2还有很多复杂的用法。可以在项目里生成专门的配置文件、可以用命令对PM2进行监控管理,还可以用命令实现自动化部署。这些内容就比较复杂了,大家有兴趣可以查看PM2的官方文档。我们这里为了让大家用最简单的办法部署好项目,就不演示这些了。
  • 配置好SSL证书后,站点就会从http变为https,从不安全变为安全。
  • 服务器上更新代码后,需要在宝塔的网站管理里,点击重启。
  • 一台服务器上,是可以部署多个项目的。只要端口、域名不同,就互不冲突。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值