如何使用 Vercel 托管静态网站

今天向大家介绍 Vercel 托管静态网站的几种方式,不熟悉 Vercel 的伙伴可以看一下之前的文章:Vercel: 开发者免费的网站托管平台

Github 部署

  1. 打开 Vercel 登录界面,推荐使用 GitHub账号 授权登录。

  2. 来到控制台界面,点击 Add New 按钮:
    在这里插入图片描述

  3. 然后点击 Import 按钮,选择你要部署的项目仓库:
    在这里插入图片描述

  4. 选择你的配置,这里一般情况我们默认就可以,然后点击 Deploy 开始构建:
    在这里插入图片描述

  5. 构建成功后,你就可以在控制台看见刚才部署的项目了:
    在这里插入图片描述

  6. Vercel 会默认给一个域名,但一般情况我们都需要自定义域名, 进入你的项目,点击 Settings-Domains ,这里可以自定义域名,记得先把域名解析指向 cname.vercel-dns.com.
    在这里插入图片描述

恭喜你,这时候打开域名应该就可以看到你部署的项目了,而且还是自带 https协议 的,怎么样,是不是很惊喜,这只是它很常用并且小众的功能

本地部署

  1. 执行命令全局安装 vercel 依赖:
 npm i -g vercel
  1. 进入你需要托管项目的文件夹,打开终端,执行命令:
 vercel login 

在这里插入图片描述

选择 GitHub 登录,回车,就会自动打开浏览器登录,如果看到此信息,则证明登录成功:
在这里插入图片描述

  1. 执行命令进行项目推送
 vercel
  • Set up and deploy “~\Desktop\vueProject\vue-demo”? [Y/n] Y

  • Which scope do you want to deploy to? 问你是不是要部署到这个账号上面。回车即可

  • Link to existing project? 是不要连接现在的项目,大写的是N,直接回车即可

  • What’s your project’s name? 项目名称,直接默认即可(看自己个人情况),回车

  • In which directory is your code located? 是不是要项目的所有文件,默认回车

  • Want to override the settings? 识别出了我的项目是vue 项目,问我们是不是这些配置,如果不是就修改,是的话默认回车

    这里我们如果不需要额外的配置,都默认配置就好,然后等待构建部署。

  1. 部署到生产

执行完以上操作后,Vercel 控制台会给我们一个预览地址 Preview,如果我们确认没问题,需执行命令 vercel --prod 把代码推送到 vercel 平台更新

 vercel --prod // 推送到生产环境

这样我们就完成了本地部署,适用于 VueReact 等常见的单页面应用和传统的 html 项目

部署 Nest.js 后端项目

  1. 在项目根目录新建 vercel.json 文件,内容如下:
{"version": 2,"name": "nest-server","builds": [{"src": "src/main.ts","use": "@vercel/node"}],"routes": [{"src": "/(.*)","dest": "src/main.ts","methods": ["GET","POST","PUT","DELETE","PATCH"]}]
}
  1. 接下来的步骤参考 Github部署本地部署

这里我们可以使用 Nest.js 实现一些简单的 API服务

部署 Typecho 博客

  1. 去 Typecho官网 下载代码,解压进入终端,在根目录添加 vercel.json 文件,内容如下:
{"functions": {"api/index.php": {"runtime": "vercel-php@0.6.0"}},"routes": [{"src": "/(.*)","dest": "/api/index.php"}]
}

这里需要注意一下 vercel-php 对应的 php 版本,具体的内容可查看:vercel-php

  1. 根目录新建 api 文件夹,里面新建文件 index.php,内容如下:
<?php
$file= __DIR__ . '/..'.$_SERVER["PHP_SELF"];if(file_exists($file))
{return false;
}
else
{require_once __DIR__ . '/../index.php';
}
#echo $_SERVER["PHP_SELF"];
  1. 根目录下新建 config.inc.php 文件,内容如下:
<?php
/` 开启https */
define('__TYPECHO_SECURE__',true);/` 定义根目录 */
define('__TYPECHO_ROOT_DIR__', dirname(__FILE__));/` 定义插件目录(相对路径) */
define('__TYPECHO_PLUGIN_DIR__', '/usr/plugins');/` 定义模板目录(相对路径) */
define('__TYPECHO_THEME_DIR__', '/usr/themes');/` 后台路径(相对路径) */
define('__TYPECHO_ADMIN_DIR__', '/admin/');/` 设置包含路径 */
@set_include_path(get_include_path() . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . '/var' . PATH_SEPARATOR .
__TYPECHO_ROOT_DIR__ . __TYPECHO_PLUGIN_DIR__);/` 载入API支持 */
require_once 'Typecho/Common.php';/` 程序初始化 */
Typecho_Common::init();/` 定义数据库参数 */
$db = new Typecho_Db('Pdo_Mysql', 'typecho_');
$db->addServer(array ('host' => '数据库地址','user' => '数据库用户名','password' => '数据库密码','charset' => 'utf8mb4','port' => '3306','database' => '数据库昵称','engine' => 'MyISAM',
), Typecho_Db::READ | Typecho_Db::WRITE);
Typecho_Db::set($db);
  1. 接下来的步骤参考 Github部署本地部署

  2. 部署成功后,打开生产域名,进行初始化配置。

  • 需要用户自己搭建 mysql服务 并开放外网访问端口,如果考虑安全性,不建议采用这种方式,建议自己买台服务器进行部署
  • 不能上传本地图片媒体等文件,限制范围比较大。

常见问题

  1. 部署Vue、React等项目刷新路由404
    解决办法:在项目根目录创建一个 vercel.json 文件,内容如下:
{"rewrites": [{ "source": "/:path*", "destination": "/index.html" }]
}

总结

  1. 建议使用 Vercel 部署单页面应用,动态后端服务接口应用,还是建议部署在自己服务器管理。
  2. Vercel 还有很强大的功能,这些需要自己去摸索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827976.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

入门指南:网站UI原型设计的简单方法

从零开始做网站UI原型设计&#xff0c;真的很有成就感&#xff01;那么&#xff0c;UI设计师从零开始做网站UI原型设计需要经历哪些过程呢&#xff1f;设计网站UI原型的第一步&#xff1a;绘制网站线框。本文将主要分为两个阶段&#xff1a;网站线框和原型绘制。 如何制作网站…

C++ //练习 13.17 分别编写前三题中所描述的numbered和f,验证你是否正确预测了输出结果。

C Primer&#xff08;第5版&#xff09; 练习 13.17 练习 13.17 分别编写前三题中所描述的numbered和f&#xff0c;验证你是否正确预测了输出结果。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代码块 /*************************…

idea同步yapi插件

1、前言 yapi是一个很好的接口文档维护工具&#xff0c;其swagger功能&#xff0c;可将接口信息同步到yapi平台上&#xff0c;但是swagger的编写&#xff0c;大量入侵代码&#xff0c;也加大了开发工作量&#xff0c;目前调研了idea集成yapi同步工具&#xff0c;无需嵌入式编写…

背靠TON公链的Notcoin游戏项目,能否杀出GameFi的红海?

4月15日消息&#xff0c;Telegram生态中的游戏及Meme项目Notcoin&#xff0c;最近在X平台公布了令市场瞩目的代币经济学方案。据悉&#xff0c;NOT的总供应量高达1027亿枚&#xff0c;其中78%将分配给矿工和Voucher持有者&#xff0c;余下的22%预留给未来新用户、交易者及各类上…

LLM 为什么需要 tokenizer?

文章目录 1. LLM 预训练目的1.1 什么是语言模型 2. Tokenizer一般处理流程&#xff08;了解&#xff09;3. 进行 Tokenizer 的原因3.1 one-hot 的问题3.2 词嵌入 1. LLM 预训练目的 我们必须知道一个预训练目的&#xff1a;LLM 的预训练是为了建立语言模型。 1.1 什么是语言模…

精度论文Generative Prompt Model for Weakly Supervised Object Localization

Generative Prompt Model for Weakly Supervised Object Localization 中国科学院大学&&浙江大学CVPR20231.Abstract 当从图像类别标签中学习对象定位模型时,弱监督对象定位(WSOL)仍然具有挑战性, 传统的鉴别训练激活模型的方法忽略了具有代表性但鉴别性较差的对象…

【UE 材质】雨滴效果

在上一篇博客&#xff08;【UE 材质】表面湿润效果&#xff09;的基础上继续实现物体表面附加雨滴的效果 效果 步骤 1. 下载所需纹理 2. 创建一个材质并打开&#xff0c;添加如下节点&#xff0c;我们将纹理的RG通道输出的值和1组成一个三维向量&#xff0c;作为基本的法线效…

SAP 变更记录表查询使用逻辑简介

通常用户在遇到问题后&#xff0c;经常会问某个单据的变更记录&#xff0c;很多模块中在前台的操作界面中都根据对应的菜单栏中可以找到对应的变更记录&#xff0c;像销售订单、交货单、采购申请、采购订单都在菜单栏位中都可以查询到对应的修改记录&#xff0c;但是对于想批量…

CentOS-7安装Mysql并允许其他主机登录

一、通用设置&#xff08;分别在4台虚拟机设置&#xff09; 1、配置主机名 hostnamectl set-hostname --static 主机名2、修改hosts文件 vim /etc/hosts 输入&#xff1a; 192.168.15.129 master 192.168.15.133 node1 192.168.15.134 node2 192.168.15.136 node33、 保持服…

揭秘APP广告变现秘籍:月入过万!

在移动应用的黄金时代&#xff0c;我们见证了无数创新和变革。然而&#xff0c;随着市场日益饱和&#xff0c;开发者和公司开始寻求新的方式来提高收益&#xff0c;而广告变现无疑是其中的关键。 对于移动应用来说&#xff0c;如何高效利用APP内的用户体验来提高广告收益是一个…

Python11个入门级知识点

Python被誉为全世界高效的编程语言&#xff0c;同时也被称作是“胶水语言”&#xff0c;那它为何能如此受欢迎&#xff0c;下面我们就来说说Python入门学习的必备11个知识点&#xff0c;也就是它为何能够如此受欢迎的原因. Python 简介 Python 是一个高层次的结合了解释性、编…

【1431】java学习网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java 学习网站系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&…

【VSCode调试技巧】Pytorch分布式训练调试

最近遇到个头疼的问题&#xff0c;对于单机多卡的训练脚本&#xff0c;不知道如何使用VSCode进行Debug。 解决方案&#xff1a; 1、找到控制分布式训练的启动脚本&#xff0c;在自己的虚拟环境的/lib/python3.9/site-packages/torch/distributed/launch.py中 2、配置launch.…

【Java框架】SpringBoot(二)核心配置

目录 yml文件什么是yml文件yml文件的优点使用场景脚本语言序列化配置文件 yml的基本语法yml支持的数据类型字面量对象(属性和值)、Map(键值对)数组复合结构 Spring Boot配置文件的值注入第一种读取方式Value第二种读取方式ConfigurationProperties第三种读取方式自动装配Enviro…

【Linux】详解信号的分类如何自定义信号的作用

一、信号的定义 Linux系统提供的让用户(进程)给其他进程发送异步信息的一种方式。在操作系统中&#xff0c;信号是一种进程间通讯的有限制的方式&#xff0c;主要用于提醒进程某个事件已经发生。信号在Unix、类Unix以及其他POSIX兼容的操作系统中广泛应用。它作为一种异步的通知…

【DVadmin教程】新增一个app并且创建一个curd模型

下载dvadmin 在gitee上搜索 django-vue-admin 别选错了&#xff0c;选择那个星最多的 gitee上会推荐移步 django-vue3-admin 别上当&#xff0c;用那个会踩坑&#xff0c;此教程就不适用了&#xff1b; 运行后端 后端 创建APP python manage.py startapp rules调整位置 为了…

java学习笔记1

java基础入门 1 初识java 1.1 jdk安装 1.1.1 下载jdk https://www.oracle.com/java/technologies/downloads/#java8-windows1.1.2 安装jdk jdk-8u361-windows-x64.exe安装到D:\Program Files\Java\jdk1.8.0_361安装jre,修改地址到D:\Program Files\Java\jre1.8.0_361jdk安装…

【JAVA进阶篇教学】第二篇:JDK8中Lambda表达式

博主打算从0-1讲解下java进阶篇教学&#xff0c;今天教学第二篇&#xff1a;JDK8中Lambda表达式。 Lambda 表达式是 Java 8 中引入的一项重要特性&#xff0c;它允许您以更简洁、更紧凑的方式编写匿名函数。Lambda 表达式使得函数式编程在 Java 中变得更加容易和优雅。下面我将…

C++|模板进阶(非类型模板参数+特化)

目录 一、非类型模板参数 二、模板特化 2.1函数模板特化 2.2类模板特化 2.2.1全特化 2.2.2偏特化 三、模板不支持分离编译 四、模板优缺点 一、非类型模板参数 在模板初阶中&#xff0c;所学习的模板的参数是类型形参&#xff0c;但其实还有非类型形参。 类型形参&am…

boa.conf配置详解

boa的配置文件路径&#xff1a;/etc/boa/boa.conf Port 80 # 监听的端口号&#xff0c;缺省值是80 若80被占用&#xff0c;可修改监听端口为其他未占用端口&#xff08;如&#xff1a;88&#xff09; Listen 192.68.0.5 # 绑定调用的IP地址&#xff0c;一般注释掉&#xff0c;…