昨天上线了一个基于node+vue+mysql的博客项目,在此记录如何部署到宝塔Linux面板:
准备
1、替换https证书
将https证书放到certificate
文件夹中,然后将根目录的index.js文件中xxxxx
换成自己证书的文件名。如果是其他程序不需要配置https可以忽略这一步。
2、安装PM2管理器
在宝塔面板中的软件管理-运行环境中安装PM2管理器和MongoDB数据库(其他程序如果没有用到MongoDB可以不用安装)。
3、放行NodeJS服务端口
BWmelonAPI中默认的http端口为3000,https端口为444,所以需要在宝塔面板的安全-端口控制中将这两个端口放行(如果没有https只需放行一个端口):

安装
1、上传文件到服务器
将所有文件打包成压缩包,在宝塔面板文件管理中新建一个文件夹,这里以api.no0a.cn
为例,然后将这个压缩包上传到文件夹中并解压。
2、安装淘宝NPM镜像
为了更快的下载程序依赖文件,打开宝塔面板的SSH终端,输入下面命令安装淘宝NPM镜像:

3、安装依赖
在宝塔面板的SSH终端进入第一步新建的文件夹,进入目录的命令为cd
:

在宝塔面板的SSH终端输入cnpm install
并按回车键安装依赖文件,由于使用了淘宝镜像,几秒就把所有依赖下载完成了,不然需要很长时间:
4、新建NodeJS程序
打开PM2管理器,点击文件夹图标按钮选择上一步的文件夹,输入NodeJS程序的启动文件,然后输入项目名称并点击添加按钮,这时下方列表就会出现刚才添加的NodeJS程序。
5、映射程序
点击映射按钮,然后在弹出的窗口中输入需要映射到的域名和端口号:
映射完成后就可以在面板的网站列表中看到一个多出来的站点,这时就可以用过域名+端口号访问程序了:
6、设置前台运行目录
如果程序有前台静态文件,可以设置程序的运行目录。点击设置按钮,在弹出的窗口左侧点击网站目录,将运行目录选择为public并保存。这时即可通过域名+端口号访问程序前台了:

域名反代
通过上面的安装,现在已经可以通过域名+端口使用安装的程序,但是域名+端口访问程序不太美观,可以使用域名反代方式直接通过域名访问程序。
点击配置文件按钮,将
改为
然后在server_name 域名;
下面添加

这时即可通过域名直接访问程序。
配置https
这一步是花了最长时间去折腾的,按上面的方法应该是将
改为
然后在server_name 域名;
下面添加
但是这样做没有程序,最终发现面板里面会生成错误日志,看了日志才将问题解决。ε=(´ο`*)))唉。
下面说正确的配置方法,将配置文件里面现有的文本复制,然后在最下面粘贴一份,将
改为
然后在server_name 域名;
下面添加
再添加
这两个文件是ssl证书文件,就是第0步中替换的证书文件,需要要先从证书提供商下载并将证书上传到文件夹中,同样将上面代码中的xxxxx替换成自己证书文件的文件名。
这时可以通过http和https访问程序。
强制https访问
如果想让http访问强制转到https访问,可以在图中位置添加代码:

您已经阅读00:00:00欢迎留言评论,喜欢的话就为作者点个赞或者赏颗糖吧! 分享
发表评论(不少于3个字符) 取消回复