如何使用 Vercel 托管静态网站

news2024/12/22 16:25:21

今天向大家介绍 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.coloradmin.cn/o/1620286.html

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

相关文章

Docker 命令 镜像操作 容器操作 备份与迁移 DockerFile

什么是Docker&#xff1f; Docker是一种开源应用容器引擎&#xff0c;开发者可以打包自己的应 用以及依赖包到可移植的容器中&#xff0c;然后发布到任何linux机器上。 Docker客居在操作系统内核上的用户空间&#xff0c;只能运行与底层宿主 机相同的操作系统之上。主要目标是…

线性代数-知识点复习(面试用)

整理&#xff1a;Peter1146717850 一、向量与线性组合 向量&#xff1a;往什么方向走多么远 e.g. ( 1 2 ) \begin{pmatrix} 1 \\ 2\end{pmatrix} (12​) 向量的模&#xff1a;向量的长度 向量的加减法&#xff1a;向量对应元素相加减&#xff08;前提&#xff1a;维度相同…

免费SSL证书和付费SSL证书区别在哪

免费SSL证书与付费SSL证书在多个方面存在差异&#xff0c;这些差异主要体现在认证级别、保障金额以及服务范围上。在以下几个方面存在显著区别&#xff1a; 1、验证类型和信任级别&#xff1a; 免费SSL证书&#xff1a;通常只提供域名验证&#xff08;DV&#xff09;级别的证…

【Linux】日志分析与管理

作为一个运维&#xff0c;如果不会看日志&#xff0c;就好比是冬天刚刚用热水泡完了脚&#xff0c;接着就立马让人把水喝掉。 目录 一、Inode介绍 1.1 什么是inode 1.2 inode表内容 1.3 查看inode号的方式 二、日志分析 2.1 日志的用途 2.2 日志的分类 2.3 日志级别 2…

电力调度自动化系统由什么构成?

电力调度自动化系统由什么构成&#xff1f; 电力调度自动化系统通过数据采集与传输、数据处理与存储、监视与控制、优化与决策、通信网络和系统应用软件等构成&#xff0c;实现对电力系统的监控、控制和优化。 电力调度自动化系统是一种集成了计算机技术、通信技术、自动化技术…

从阿里云OSS迁移到AWS S3的步骤

随着企业数字化转型的加速,云计算成为企业IT基础设施不可或缺的部分。对象存储作为云计算的重要组成部分,为企业提供了可靠、安全、低成本的数据存储和管理解决方案。在选择对象存储服务时,企业需要根据自身需求和发展战略来进行全面评估。我们九河云&#xff0c;获得AWS官方认…

vue3 修改路由中的meta属性

有些时候可能需要在路由跳转前后修改meta里面的相关属性值&#xff0c;这个时候就需要使用钩子函数&#xff08;路由守卫&#xff09;&#xff0c;钩子函数有全局钩子&#xff0c;局部组件钩子函数以及路由配置里面的钩子函数 &#xff08;这些也叫路由守卫&#xff09; 1.全局…

Windows 10 安装配置WSL2(Ubuntu 20.04)教程

Windows 10 安装配置WSL2&#xff08;Ubuntu 20.04&#xff09;教程 一、WSL简介 WSL&#xff08;Windows Subsystem for Linux&#xff09;是一个兼容层&#xff0c;允许在Windows 10上原生运行Linux二进制可执行文件。 二、安装WSL2 3.1 传统手动安装 更新系统&#xff…

“亚马逊依赖”之下,傲基科技的品牌势能如何提升?

受益于出口政策红利、低人工成本、完善的供应链以及成熟的生产工艺优势&#xff0c;近年来我国家具出口行业迅速发展。 数据显示&#xff0c;我国家具出口规模1995年仅为11.06亿美元&#xff0c;至2023年增至641.96亿美元。随着出口规模持续扩大&#xff0c;相关企业积极走入公…

问题速查手册(时实更新)【Ctrl+F】输入关键词可快速查询

1.1.虚拟机和机器人上树莓派的密码是多少 虚拟机和小车的账号和密码都是nanorobot&#xff0c;在linux下输入密码无任何提示&#xff0c;退格键也没有用。输错请按回车后重新输入。 注&#xff1a;2021年四月份以后购买的机器人账号和密码已更改为bingda 1.2.请严格区分PC端…

冯喜运:4.24 周三黄金原油市场分析报告及操作策略

黄金消息面解析&#xff1a;周三(4月24日)黄金反弹后微幅回跌&#xff0c;金价在2325美元附近喘息。尽管美国国债收益率下降&#xff0c;美元走弱&#xff0c;金价未能维持涨势。标普全球PMI弱于预期&#xff0c;引发了对美联储可能降息的猜测。中东地缘紧张局势有所缓解&#…

pom文件依赖报红问题

dependencyManagement标签下依赖报红 如图 dependencyManagement标签下依赖报红问题&#xff0c;原因是dependencyManagement标签下的包不会被下载&#xff0c;repository里根本没有 解决方法 &#xff1a;将依赖复制到dependencies标签下&#xff0c;再reload pom文件&#x…

力扣HOT100 - 230. 二叉搜索树中第K小的元素

解题思路&#xff1a; class Solution {List<Integer> list new ArrayList<>();public int kthSmallest(TreeNode root, int k) {dfs(root);return list.get(k - 1);}public void dfs(TreeNode root) {if (root null) return;dfs(root.left);list.add(root.val)…

【Linux】gdb的简单使用

文章目录 一、gdb是什么&#xff1f;二、使用说明1. 安装2. 注意事项3. 常用调试指令3.1 gdb3.2 l3.3 r3.4 n3.5 s3.6 b3.7 info b3.8 finish3.9 p3.10 set var3.11 c3.12 d breakpoints3.13 d n3.14 disable/enable breakpoints3.15 disable/enable n3.16 info b3.17 display …

男生一般穿什么裤子好看?五大爆款男装精选测评!

男生裤子要怎么选才能找到适合自己的裤子呢&#xff1f;这肯定是大家选裤子时经常出现的一个疑问了&#xff0c;现在的市面上虽然款式风格非常多&#xff0c;但是由于品牌鱼龙混杂的原因&#xff0c;不同的裤子质量也参差不齐。为了帮助各位男同胞能选到适合自己的裤子&#xf…

Springboot 整合 Quartz框架做定时任务

在Spring Boot中整合Quartz&#xff0c;可以实现定时任务调度的功能 1、首先&#xff0c;在pom.xml文件中添加Quartz和Spring Boot Starter Quartz的依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo…

Day15-进程和线程-开启线程的三种方式Thread类的常见方法线程的安全和同步线程池

1. 进程和线程-开启线程的三种方式 1.1 进程和线程的介绍 1.2 开启线程的三种方式 1.2.1 继承Thread类 package com.itheima.thread;public class ThreadDemo1 {/*开启线程第一种方式: 继承Thread类1. 编写一个类继承Thread2. 重写run方法3. 将线程任务代码写在run方法中4. …

无人机探测技术,无人机侦测频谱仪技术实现详解

频谱仪&#xff0c;又称为频谱分析仪&#xff0c;是一种用于测量电信号频谱特性的仪器。其基本原理是通过将时域信号转换为频域信号&#xff0c;进而分析信号的频率成分、功率分布、谐波失真等参数。频谱仪利用快速傅里叶变换&#xff08;FFT&#xff09;算法&#xff0c;将采集…

复习python函数

复习python函数 1.对函数的理解函数的传递方式返回值 return可通过help()函数查看函数说明作用域 2.不定长参数3.递归4.高阶函数将函数作为参数传递将函数作为返回值返回 5.匿名函数6.装饰器 1.对函数的理解 函数可以用来保存一些可执行的代码&#xff0c;并且可以在需要时&am…

C语言—贪吃蛇(链表)超详解

目录 游戏背景 游戏展示效果 需要实现的功能 贪吃蛇地图绘制&#xff1a; 蛇吃食物的功能&#xff1a; 蛇的移动控制&#xff1a; 蛇撞墙死亡&#xff1a; 蛇撞自身死亡&#xff1a; 计算得分&#xff1a; 蛇身加速、减速&#xff1a; 暂停游戏&#xff1a; 技术要…