总结一下,这次移植腾讯服务器项目的过程

发布于 2025-04-02  50 次阅读


之前在腾讯服务器上的项目连个域名都没用,真的low暴了,关键是还跑了一年(主要是我太懒了),趁着这次腾讯服务器到期,也是催促我抓紧重新整理一下自己的项目了,既然都打算重新弄这个项目了,也是干脆重新把这个项目写一下(项目很小,只是方便自己使用,但是我觉得这次移植项目的经历挺有成长的)。

首先要解决的就是域名问题,目前来说我只买了一个域名,虽然域名不是很贵,但是为我的小项目单独去买一个域名有点小题大做了,所以我查到了子域名这个东西。所谓子域名,我的理解就是我有一个域名(我把它叫做根域名,比如我的目前项目的根域名就是senora.fun),我可以在这个根域名的前面加上指定的字符(我感觉一般都是字母,数字这些的比较常见,也比较好记),然后得到一个新的域名,这个域名我感觉用起来和普通域名也没什么区别吧(可能是才开始用),至少我觉得这样的子域名好处就是,不需要再花钱(其实这不是最重要的),不需要再去备案啊,啥的,当时第一次备案域名的时候老怕不给过了。其实申请子域名也很简单,网上也有很多教程,我这里就不详细说了(其实是我的服务器太小了,没什么空间了,想着先省省,过段时间考虑换个好点的服务器)。

然后就是写自己的项目吧,不同以往的项目,以前写的项目都是在本地跑的,说好点跟服务器沾点都是一下JS的内置服务器(比如express),当然以前做java项目的时候还用过tomcat,在本地部署跟在云端部署项目完全是两种感觉(主要我是第一次),项目写完之后吧能在本地跑得挺好的,本地写的服务器也能处理得很好,想着应该是把本地项目直接拿到服务器上,跟着教程走就行了吧,也是网上找了一下部署项目的教程(我的是Node项目),跟着教程做完之后,访问域名,好的直接干到当前这个博客来了,我肯定懵逼的。但是,事情就是要这么曲折我觉得才是正常的,谁一来就是顺风顺水的,遇到问题就解决问题。

首先再跑了一遍本地项目,确认项目本身逻辑没有什么问题(其实这种跳到别的项目多半不会是当前项目的问题),然后就是查,为什么会跑到别的项目,包括问ai什么问题为什么会跳到别的项目,后面找到了,我的服务器配置里面的这一行代码:server_name _;就是所有的访问都指向下面的index,所以替换成下面的,下面那一行代码就是说只有访问这两个域名的才跳转到下面的页面。

改了,再访问子域名,没跳过来,但是直接报找不到,因为还没指定子域名的项目在那儿,在同样的目录下面有个vhost目录,这个目录下面一般就是放子域名配置文件的目录,我的这个目录下面还没有配置文件,再去搞个配置子域名的配置文件(其实还是ai的,毕竟这个东西真的不懂),大概看了一下这个配置文件,大概意思就是项目启动的时候后加载root目录下面的index.html页面(这确实是我需要加载的)。

到目前来说,配置方面应该是没有什么问题了,访问子域名,欧克!进来了。然后就是进行项目测试,当然测试结果是不行的。报错405,查了一下405好像是什么接口错误。

然后看了一下服务器端的配置文件做了一个反向代理

location /api {
proxy_pass http://localhost:3000/getInfo; # 对应Node服务端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

也就是说它我的gteInfo接口通过api接口来代理了,我原来的项目是直接访问getinfo接口的,现在应该访问api接口了,所以就会报错405,所以原来项目的接口也要改成api,到这里我觉得这下应该no problem了吧,好的测试,还是没找到。我只能说6!还有什么问题是没考虑的?气得我直接重启项目,好的可以了。谢谢,我真的谢谢!

总得来说,这个过程,虽然说中间经历了许多问题,但是真的是收获很多,以前总是在本地写写项目,感觉好像什么项目都是再干那些重复的事情。虽然差点把当前博客项目给干掉了,但好在自己爱折腾,还是给弄回来了。


真正的英雄主义,是认清生活真相后依然热爱生活 ——罗曼.罗兰