『亚马逊云科技产品测评』活动征文|基于next.js搭建一个企业官网

news2024/12/29 10:19:30

『亚马逊云科技产品测评』活动征文|基于next.js搭建一个企业官网

授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre, 知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道

前言

如果你进入一家公司之后,可能某一天,你的领导会给你布置一个任务:我们公司的官网还没有开发呢,小李,你开发一个我们公司的官网吧。
企业官网开发,是一个比较常见的需求。公司要对外宣传,就要有一个宣传途径。而公司官网,就是一个很好的途径了。
所以掌握企业官网的开发,也是我们一个必备的技能。
下面,我就讲解一下怎么搭建一个企业官网。

前端项目开发

关于前端项目的开发,这里我采用的是react技术栈来做的。开发一个企业官网,需要考虑它的seo(搜索引擎优化)。所以开发的时候,需要采用ssr技术来开发。
而针对react框架的ssr技术,社区开发了一个专门的框架–next.js,来帮助我们在react里,实现ssr的。
技术选型已经选好了,关于项目的页面开发,这里就不重点介绍了。
主要分为以下几个步骤:

  • 创建项目
  • 架构涉及
  • 公共组件抽取
  • 页面开发
  • 接口调试
  • 打包上线
    你作为一名开发者,上面这些开发步骤应该是经常做的,相信你已已然了然于心了。
    这些过程,就不展开说明了。前端项目开发,直接就跳到项目开发完成部分了。
    项目开发完成了,就到打包上线环节了。要进行项目打包吗?
    使用next.js开发项目时,和我们使用react框架开发项目的打包过程不太一样。
    使用react开发项目,开发完成后,执行npm run build命令,就可以对项目进行打包了。然后把打包的文件,丢到服务器上面进行部署。
    而使用next.js开发项目,打包部署方式就不是这样了。需要把整个项目,丢到服务器上面,进行打包运行。
    不过next.js官方推荐的部署方式,是到vercel上面部署。
    我们到next.js官网里,查看部署
    在这里插入图片描述
    这里,官方就推荐我们到vercel上面部署。但是我们是国内,vercel可能访问不了。那就不采用这种部署方式了,我们换另外一种部署方式来进行部署。

服务器部署

前端项目开发好之后,就可以进行服务器部署了。
要进行服务器部署,首先你得有服务器。随着云服务的推广和普及,现在,我们可以非常方便地就拥有一台云服务器了。
云服务器的厂商有很多,这里我选择了亚马逊云服务器。亚马逊云服务器是亚马逊公司推出的云服务器,大公司推出来的产品,我相信它。
好了,介绍这么多,我们开始到服务器里,部署项目吧。
登录亚马逊云服务器后,进入服务器控制台页面。我们在顶部搜索栏里,搜索EC2。
在这里插入图片描述
我们可以查看到搜索结果,点击EC2,进入EC2的控制台页面。
进入EC2控制台之后,我们点击启动实例按钮。
在这里插入图片描述
点击启动实例,进入到实例创建页面
在这里插入图片描述
这里,我给实例起了一个名字,叫做myserser。当然,你可以自己起一个别的名字。
下面的操作系统,我选择的是亚马逊的一个linux系统。
对,没错,服务器里我使用的是linux系统。如果你对linux系统不熟悉的话,也可以安装其它系统,比如windows系统。
关于安装其它系统,这里就不介绍了。
下面还有一些其它配置项
在这里插入图片描述
不过这些配置项,我们暂时使用不到,先保持默认即可。如果后面想要修改,还是可以修改的。
不过注意,有一个密钥对,是必须要配置的。一会实例创建好了,我们需要使用这个密钥对去登录的。
点击创建新密钥对按钮
在这里插入图片描述
这里我给密钥对命名为myserver,和我实例名字一样,方便记忆。
点击创建密钥对,密钥对就创建好了。
整个实例的配置项,都配置好了,我们点击右侧的启动实例按钮,就可以把实例启动了。
在这里插入图片描述
实例正在创建
在这里插入图片描述
我们等待一会。
在这里插入图片描述
实例启动成功了,我们就可以连接实例了,点击中间的连接到实例按钮。
在这里插入图片描述
我们选择第一种方式就好了,它是基于浏览器的网页形式,显示命令行窗口的。有了命令行窗口,我们就可以在里面输入命令行,执行命令了。
我们进入到命令行窗口了,和实例建立了连接
在这里插入图片描述
关于服务器部署,nuxt框架会内置有一个node服务。我们把这个服务启动,就可以把项目启动了。
要想使用node,当然得先安装node。
我们输入以下命令,安装node

sudo yum install -y node

输入之后,等待一会,node就安装好了。
接着安装git

sudo yum install git -y

之所以安装git,是因为一会我们要从git仓库,把代码拉下来。
等待一会,git就安装好了。在云服务器,安装这些工具,还是挺快的。
从git仓库拉取代码

git clone https:xxxxx

把你的仓库代码拉下来之后,进入到你的项目里。
我们通过cd命令,进入你的项目文件夹

cd xxx-xx

后面是你的文件夹名称
进去之后,我们需要先安装依赖。这和我们在本地电脑操作是一样的,把项目从git仓库拉下来,安装依赖,才能把项目运行。
执行命令

npm install

等待一会,把项目里的依赖安装好。
接着,我们就可以启动项目了。
启动项目,我是使用pm2来启动的。pm2主要是用来做进程管理的,如果你想了解更多,可以到它官网查看一下。
我们先安装pm2,这里使用npm来安装

npm i -g pm2

全局安装pm2
在这里插入图片描述
我们等待一会,pm2就安装好了。
然后就可以使用pm2来启动项目,在控制台里,输入下面的命令

pm2 start npm -- start

执行命令
在这里插入图片描述
pm2启动之后,我们可以看到下面提示项目启动了。这是pm2的启动进程列表,它告诉我们pm2里有哪些进程现在正在运行。
项目启动了,此时还不能访问我们的网站。因为对应的端口还没有开放。
我们回到实例的控制台页面
在这里插入图片描述
到实例的安全里面,配置对应的规则。
在这里插入图片描述
我们点击它,进入安全组配置页面

在这里插入图片描述

我们点击编辑入站规则,在里面添加一个8001端口。
添加好之后,在实例控制台页面
在这里插入图片描述
实例已经添加了8001端口了,这样,我们就能访问网站了。
在浏览器里,输入我们的公网ip+端口,打开网站
在这里插入图片描述

在浏览器里,我们就可以看到我们开发的官网了。
在网页里,我们继续往下滚动一下
在这里插入图片描述

整个页面效果还是挺好看,简洁大气。

完结

好了,文章最后,关于使用next.js来搭建一个企业官网,已经介绍完成了。文章主要介绍了前端项目的搭建,以及项目在云服务器上面的部署过程。
看完本篇文章,如果你也想使用next.js来制作一个企业官网的话,可以参考下本篇文章,自己尝试搭建一下。

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

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

相关文章

UDP网络套接字编程

先来说说数据在网络上的传输过程吧,我们知道系统其实终究是根据冯诺依曼来构成的,而网络数据是怎么发的呢? 其实很简单,网络有五层。如下: 如上图,我们知道的是,每层对应的操作系统中的那些地方…

Attingo:西部数据部分SSD存在硬件设计制造缺陷

今年5月,西部数据SanDisk Extreme Pro硬盘陆续有用户反馈有故障发生,用户反馈最多的问题是数据丢失和硬件损坏。8月份,因为这个事情,还被爆出,西部数据面临用户的集体诉讼。 近期,有一个专门从事数据恢复的…

【赠书第6期】MATLAB科学计算从入门到精通

文章目录 前言 1 安装与配置 2 变量定义 3 数据处理 4 绘图 5 算法设计 6 程序调试 7 推荐图书 8 粉丝福利 前言 MATLAB 是一种高级的科学计算和数据可视化平台。它由 MathWorks 公司开发,是科学研究、数据分析和工程实践中非常常用的一种软件工具。本文将…

PC 477B西门子触摸屏维修6AV7853-0AE20-1AA0

西门子触摸屏维修故障有:上电黑屏, 花屏,暗屏,触摸失灵,按键损坏,电源板,高压板故障,液晶,主板坏等,内容错乱、进不了系统界面、无背光、背光暗、有背光无字符,上电无任何显示 ,Power灯不亮但其他一切正常,双串口无法通讯 &#x…

力扣-414.第三大的数(两种解法)

文章目录 第三大的数解法一(排序加遍历对比)解法二(遍历一遍加迭代) 第三大的数 题目: 给你一个非空数组,返回此数组中第三大的数 。如果不存在,则返回数组中最大的数。 示例 1: 输…

【VRTK】【VR开发】【Unity】7-配置交互能力和向量追踪

【前情提要】 目前为止,我们虽然设定了手模型和动画,还能够正确根据输入触发动作,不过还未能与任何物体互动。要互动,需要给手部设定相应的Interactor能力。 【配置Interactor的抓取功能】 在Hierarchy中选中[VRTK_CAMERA_RIGS_SETUP] ➤ Camera Rigs, Tracked Alias ➤ …

基于SSM的高校毕业选题管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

【JavaEE初阶】 CSS相关属性,元素显示模式,盒模型,弹性布局,Chrome 调试工具||相关讲解

文章目录 🎋字体属性🚩设置字体🚩字体大小🚩字体粗细🚩文字样式 🎍文本属性🚩文本颜色🎈认识 RGB🎈设置文本颜色 🚩文本对齐🚩文本装饰&#x1f6…

牛掰的dd命令,cpi0配合find备份(不会主动备份),od查看

dd if设备1或文件 of设备2或文件 blocknsize countn 还原就是把设备1,2调过来 这里想到dump的还原是命令restore,想起来就写一下,省的总忘记 可以针对整块磁盘进行复制,对于新创建的分区,也不用格式化,可以直接…

进程管理(五)

处理器调度及多级调度 批量型往往先进入外存,再进入内存。终端型直接进入内存。 从磁盘选择若干作业,同时装入到内存,创建相应的进程,这是高级调度。 低级调度(进程调度):从进入内存的多道程序中选择一道把处理机给他 注意:时间片轮转是抢占式的 外设的调度统称为…

多态语法详解

多态语法详解 一:概念1:多态实现条件 二:重写:三:向上转型和向下转型1:向上转型:1:直接赋值:2:方法传参3:返回值 2:向下转型 一:概念 1:同一个引…

AIGC ChatGPT 4 将数据接口文件使用Python进行入库Mysql

数据分析,数据处理的过程,往往将采集到的数据,或者从生产库过来的接口文件,我们都需要进行入库操作。 如下图数据: 将这样的数据接口文件,进行入库,插入到Mysql数据库中。 用Python代码来完成。 ChatGPT4来完成代码输入。 ChatGPT4完整内容如下: 这个任务可以使用`…

趣学python编程 (五、常用IDE环境推荐)

Python环境指的是在计算机上安装Python解释器和相关的库,它是运行Python代码所必需的。那么开始Python编程前,准备安装好开发环境是前提。 默认的电脑上只是让人办公使用的,不带python编程开发环境。只有安装python环境,才可以编写…

Mistral 7B 比Llama 2更好的开源大模型 (四)

Mistral 7B在平衡高性能和保持大型语言模型高效的目标方面迈出了重要的一步。通过我们的工作,我们的目标是帮助社区创建更实惠、更高效、更高性能的语言模型,这些模型可以在广泛的现实世界应用程序中使用。 Mistral 7B在实践中,对于16K和W=4096的序列长度,对FlashAttentio…

Nosql之redis概述及基本操作

关系数据库与非关系型数据库概述 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型…

云桌面 node_modules 切换艰辛历程记录 rebuild失败记录

拿到node_modules后更换 执行npm rebuild 重新构建 报错 node版本不一致 nvm切换 版本 不成功 换个窗口又变回原来版本号了 设置默认版本 nvm alias default 14.16.1 发现下面还有一个stable的还指向原来版本 nvm alias stable 14.16.1 rebuild 还是失败 逐个rebuild 每个依赖单…

【Java 进阶篇】Ajax 实现——JQuery 实现方式 `get` 与 `post`

嗨,亲爱的小白们!欢迎来到这篇关于使用 jQuery 实现 Ajax 请求的博客。在前端开发中,Ajax 是一项非常重要的技术,它使我们能够在不刷新整个页面的情况下与服务器进行数据交互。而在 jQuery 中,get 和 post 方法提供了简…

应试教育导致学生迷信标准答案惯性导致思维僵化-移动机器人

移动机器人课程群实践创新的困境与突围 一、引言 随着科技的快速发展,工程教育变得越来越重要。然而,传统的应试教育模式往往侧重于理论知识的传授,忽视了学生的实践能力和创新精神的培养。这在移动机器人课程群的教学中表现得尤为明显。本文…

【Java 进阶篇】Ajax 实现——原生JS方式

大家好,欢迎来到这篇关于原生 JavaScript 中使用 Ajax 实现的博客!在前端开发中,我们经常需要与服务器进行数据交互,而 Ajax(Asynchronous JavaScript and XML)是一种用于创建异步请求的技术,它…