阿里云服务器部署node项目笔记

此过程中全部安装都按照B站教程实现

b站视频:https://www.bilibili.com/video/BV1my4y1a7xN/
视频中的笔记:https://www.yuque.com/uyyv8m/linux

本篇是个人笔记,许多细节并未陈述比如开发阿里云对应端口等,不是完整的过程,如有误导在此致歉。

安装node报错

将node的压缩包解压以后一定要改名,一开始看视频里面改名觉得没必要,后面出错了排查不出来,改了文件夹名字以后又对了
在这里插入图片描述

linux查看nginx配置文件 使用 nginx -t

mongodb数据库安装

安装路径:/usr/local
linux下输入完毕后,需要输入命令时应先点esc退出才能 :wq 退出保存!!!
退出mongodb数据库
在这里插入图片描述
以上图片是创建数据库管理员,声明账号密码等
mongo
use admin
db.auth(“账号”,“密码”) //输出1表示连接成功
//创建mybase数据库
use mybase
db.sm.insert({name:“chengchao”}) //在sm表中插入一条数据
可以实现浏览器远程连接,但是不能用compass登录数据库连接
在这里插入图片描述
报错如下
在这里插入图片描述
看网上的方法,修改服务器上/etc/ssh下的sshd_config文件,增加一行“AllowTcpForwarding yes”(通过sudo vim 来修改文件,不清楚此命令的同学请自行搜索),来允许其通过TCP进行连接。然后运行sudo service sshd restart来重启ssh。
在这里插入图片描述
后续:所有的方法都试过了,解决不了,但是我在阿里云部署的mongodb数据库是正常运行的,知识在本地的可视化软件compass连接不上,依然是那个错误:服务器连接驱动版本为4,node的连接驱动版本为6。

解决:降低node和mongodb版本重装

在寻找合适的版本的过程中尝试过很多种(鼠鼠认为此处针对每个人的服务器配置不同可能会有不同的版本),鼠鼠的服务器可能配置较拉(21年阿里云搞新人活动100元买了三年,也是本着学习的态度去买的),这里按照b站视频装的centos7.9版本(他说这个版本比较稳定,那我啥也不懂我肯定听他的)。以下是鼠鼠服务器的配置。
在这里插入图片描述
最后鼠鼠在服务器装的15.9版的node
下载node.js
https://nodejs.org/dist/ 注:这个网站可以查看node各版本的下载地址
我装的是下面这个,也是在csdn看到有前人服务器和我配置差不多,就选择装的一样的(我同学服务器装的14版的很稳定)

wget https://nodejs.org/dist/v15.9.0/node-v15.9.0-linux-x64.tar.gz  //libux下安装命令,没装镜像会慢点,注:cd到对应文件夹下再下载哦
[添加链接描述](https://blog.csdn.net/piaoyangde/article/details/123157649)
tar zxvf node-v15.9.0-linux-x64.tar.gz   //解压,此后记得将解压的文件重命名node(必须,配置环境变量需要这个名字)

然后就是安装对应版本的mongodb,我安装的是linux3.2.11版本,安装的时候下载连接后面+@对应版本即可。
在这里插入图片描述

然后呢还有一个坑,就是在连接mongodb的时候我们需要一个插件–mongoose,这个插件和mongodb也有版本对应问题,乃至我后面改了代码的一些函数。以下是mongodb和mongose的版本对照表,所以我装的是4.7.0版的mongoose,4.7之前的mongoose甚至与3.2版的mongodb出现连接不上的各种依赖不存在的问题

MongoDB Server 2.4.x: mongoose ^3.8 or 4.x
MongoDB Server 2.6.x: mongoose ^3.8.8 or 4.x
MongoDB Server 3.0.x: mongoose ^3.8.22, 4.x, or 5.x
MongoDB Server 3.2.x: mongoose ^4.3.0 or 5.x
MongoDB Server 3.4.x: mongoose ^4.7.3 or 5.x
MongoDB Server 3.6.x: mongoose 5.x
MongoDB Server 4.0.x: mongoose ^5.2.0

当然4.7.0版的mongose也并不完善,比如我在node接口上用的.countDocument()函数就不能用(版本太低),于是我都统一换成了.count()就不报错了。
还有一个promise的报错,添加一条代码

mongoose.Promise=global.Promise

具体看 这篇文章:
https://blog.csdn.net/piaoyangde/article/details/123157649
:鼠鼠也是node开发的菜鸡,因毕设原因才照着视频学了点,具体很多版本和部署问题鼠鼠也不是很明白,鼠鼠也是摸索了半个月才终于装好合适服务器的环境,如果服务器配置够好,应该可以照着我上面b站视频装环境吧,他装的都挺新的。

nginx部署

打包vue项目放入服务器指定路径

比如鼠鼠在npm run build之后用git将dist传到了服务器 /home/www路径下(www自己建的,鼠鼠重装服务器系统后没有再装宝塔,想来宝塔部署项目也在这个路径,鼠鼠也不知道后面安装宝塔会不会有冲突,先记录一下)
vue打包上传鼠鼠参照了这个视频
鼠鼠没有敲第一行命令直接上的第二行,鼠鼠的电脑支持scp命令
但是鼠鼠反复输入了几次才成功,后面发现命令里面的空格也要对应哦

在这里插入图片描述

####关于nginx部署vue项目
鼠鼠参考了这篇文章
鼠鼠nginx的配置文件目路 可以通过hwereis nginx.conf查询
在这里插入图片描述

 server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        location /{
         root         /usr/share/nginx/html;
        }
#        root         /usr/share/nginx/html;
        location /LostAndFound-admin { 
        alias  /home/www/dist/ ; //项目路径
        try_files $uri $uri/  /LostAndFound-admin/index.html;//解决vue单页面应用,在其他路由刷新时404的问题
        index index.html index.htm;
        }
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

部署好了以后记得将nginx重启
好像是 nginx -s reload
在这里插入图片描述
最后提醒一点啊,部署的vue项目的baseurl要写服务器域名(或ip地址),填写localhost或者127.0.0.1都不行
还有一点node跨域的解决方案:
像鼠鼠的跨域是在node后台解决的

app.all("*", (req, res, next) => {  //跨域问题,访不同端口之间的访问
    res.setHeader("Access-Control-Allow-Origin", '*');
    res.setHeader("Access-Control-Allow-Headers", '*');
    /* res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
	res.header("Access-Control-Allow-Headers", "X-Requested-With");
	res.header('Access-Control-Allow-Headers', ['mytoken','Content-Type']); */

    next();
})

网上有三种解决方法,分别是
1.安装cors插件(简单暴力)
2.使用在vue的cli自带的跨域解决方案,写一个虚拟代理服务器转发
3.就是我所用的,在node请求上添加请求头,*号即允许全部请求头

由于部署不规范,过一段实践就会宕机(自己尝试玩的)

只需要在项目文件下执行nodemon命令即可重启,有时候会端口占用,杀死该进程重启即可。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值