前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云服务器搭建个人博客的实践[域名备案 + 项目]

腾讯云服务器搭建个人博客的实践[域名备案 + 项目]

原创
作者头像
宇宙无敌暴龙战士之心悦大王
发布2023-04-10 00:07:56
3.3K0
发布2023-04-10 00:07:56
举报
文章被收录于专栏:kwaikwai

购买一个云服务器

有学生优惠的话还是挺便宜的,我买的时候一台轻量应用服务器一年 108,加 8 块还能注册一个域名。实名认证后购买,备案。域名也要实名认证和备案,域名实名认证后 72 小时才能备案。

域名备案,域名解析,开放端口

在域名解析网页添加自己购买的一级域名,点击进入添加记录,记录值填服务器的公网 ip。必须注意的是,根据国家的相关法律要求,若使用中国大陆地区服务器开办网站,或提供其他类似的网络信息服务,需要依法进行备案。

添加域名解析后在自己的服务器页面-防火墙中添加需要开放的端口号,这个后面的部署前后端服务会用到。

在服务器上部署前后端服务

我购买的服务器是 linux 系统,作为一个搞前端的,linux 系统的操作命令也不太熟,所以安装了一个宝塔面板,在购买服务器时一般可以选择带有宝塔应用镜像的服务器,这时服务器页面的镜像信息你会有宝塔面板的应用信息,如果没有,可以选择重置应用,然后选择安装宝塔面板,或者自己通过 linux 指令安装。

宝塔面板安装完成后根据官网的教程进入面板页面,在软件商店安装自己需要的软件,我的个人网站是前后端分离的,后端服务是用 Node 写的,所以需要安装 PM2 ,前端服务需要 Nginx 是做反向代理的。

后端服务

首先先把本地代码弄到服务器上,点文件,可以看到服务器上的各文件夹,一般我们自己的服务放在 www 文件夹下,或者在根目录下自己新建一个文件夹也可以,之后通过上传,或者 git clone 的方式将自己的代码传到服务器上。

在首页,点 PM2 管理器,添加项目,启动文件选刚才自己的文件夹下的入口程序文件,确认,后端服务就在云服务器上跑起来了,记得把后端服务监听的端口开放出来。

前端服务

首先也是把代码弄到服务器上,我的前端项目是 React 框架的,本地运行 npm run build 后将打包好的 build 文件夹传上来即可,打包之前将 package.json 文件中添加一句 "homepage":".",否则可能会报错。

点击网站,添加站点,域名填自己备过案的域名或者自己服务器公网 ip:端口号,根目录选择你前端代码的存放目录,确认,一个基本的前端服务就部署好了,可以通过刚才填的域名或者 ip 访问到自己的页面啦。

当你打开你的个人网站页面时可能会遇到两个问题:

1. 使用 BrowserRouter 的单页应用,一刷新就 404 。

解决方法:

点击你刚才添加的站点,在配置文件中添加这样一句:

代码语言:javascript
复制
location / {
  try_files $uri $uri/ /index.html;
}

2. 跨域请求的代理失效。

本地开发时对于跨域请求,一般通过中间件 http-proxy-middleware 设置代理转发,例如我的项目中,前端服务跑在3000端口,后端服务跑在5000端口,那么定义将开头是 /api 的请求转发到 5000 端口:

代码语言:javascript
复制
app.use(createProxyMiddleware('/api',{
    target: 'http://*.***.***.***:5000',
    secure: false,
    changeOrigin: true,
    pathRewrite: {
      '^/api':'',
    }
}))

打包后使用 Nginx 部署前端服务后,在配置文件中添加这样一句,就能实现同样的功能了:

代码语言:javascript
复制
location ^~ /api/ {
  proxy_pass   http://*.***.***.***:5000/;
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 购买一个云服务器
  • 域名备案,域名解析,开放端口
  • 在服务器上部署前后端服务
  • 后端服务
  • 前端服务
    • 1. 使用 BrowserRouter 的单页应用,一刷新就 404 。
      • 2. 跨域请求的代理失效。
      相关产品与服务
      ICP备案
      在中华人民共和国境内从事互联网信息服务的网站或APP主办者,应当依法履行备案手续。腾讯云为您提供高效便捷的 ICP 备案服务。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档