前端项目如何部署到服务器实现网址访问

news2025/1/20 11:58:38

目录

前言

需要用到的东西

购买云服务器和域名

绑定域名

使用Xshell连接云服务器

下载Nginx

安装nginx

配置nginx

启动nginx

传输文件

配置防火墙

卸载自带的防火墙

安装iptables防火墙

最后


前言

        写了那么久的前端,就想着让朋友们欣赏欣赏,但是要怎么让他们看见呢,是打包工程文件、录视频还是把电脑抱到他们面前呢。首先打包工程文件发出去是不可能的,录视频也没意思,抱电脑那就太难了,那这个时候,我们自然想到平时我们访问网站时,都是直接通过网址来实现访问的,那么我们能不能也把自己的项目也像这样让朋友们通过网址访问呢,那问当然就是可以了。

需要用到的东西

云服务器

域名

主机软件:Xshell(用于主机连接到云服务器)、Xftp(用于主机传输文件到云服务器)

云服务软件:Nginx

购买云服务器和域名

        阿里云与腾讯云都有免费试用一个月的服务器,大家可以先用试用来感受与学习一下,这里我就以阿里云服务器为例了。

        阿里云官网:https://www.aliyun.com/ 

        在首页位置可以免费试用一个月。

 点击后体验后就可以按步骤来选择服务器的配置。

  

地域,可以选择靠近自己的地域,他这里的配置规格因为我以及试用过了所以有很多选项,如果是第一次免费试用那就是 2核4GiB 也够了。

镜像,服务器的操作系统,这里我用的是CentOs 版本可以自己选择(我用的的7.9 64位),存储默认40G,然后按步骤下去我们就获得了云服务器。

安全组在后面还可以重新配置或者修改

我们可以进入控制台,选择 云服务器ECS在实例中可以看见我们刚刚创建的云服务器,这里有公网IP,要记录一下,后面绑定域名需要使用。

接下来就是域名了,点击图片上一口价域名可以去往域名交易的页面。

 

这里有许多的域名可以购买, 如果只是为了测试,可以想我这样筛选,一般价钱3~5元的都是还剩几天或一个月的,这种的话不能进行备案(备案要求域名有效期大于90天),但是用于测试还是可以的,后面可以通过ip地址来访问页面。(购买域名需要提交身份证正面照

绑定域名

        到了这一步,我们服务器和域名都有了,但是呢现在他们还只是互为陌生人,我们需要让他们互相认识一下。

去到控制台选择域名、然后选择域名列表,在这里可以看见我们所购买的域名,选择解析。

        我们选择新手引导,在记录值中填写我们服务器的公网IP地址。

        那这里的记录值呢就是填写我们云服务器的公网IP,忘记的可以再去云服务器中的实例中看一下,这样填完后,你得到了两条记录,一条为www,一条为@

这个时候我们可以在浏览器输入www.你的域名来访问初始网页。

        之后我们还要为云服务器配置安全组,在云服务器的安全组中,点击创建安全组。

这里只需要注意入方向,得把80端口给开开,配置完成后。

我们点击左侧实例,选择更多、网络与安全组、加入安全组,选择我们刚刚创建的安全组。

 使用Xshell连接云服务器

Xshell 下载 - NetSarang Website

官网右侧有家庭和学校用户的免费许可证 选择免费授权页面,然后填写自己的邮箱就可以在邮箱中获得他的下载链接,Xshell和Xftp都是这样下载。

安装完成后打开软件,新建会话。

        主机填写云服务器的公网IP,端口号默认22,选择左侧用户身份验证,用户名默认是root,密码就是大家在初始化云服务器时,阿里云让你设置的实例密码。连接成功会显示

Welcome to Alibaba Cloud Elastic Compute Service ! 

        连接成功后看此时的操作是否为root用户,如果不是root用户记得输入su来切换为root用户

         在Xshell中用指令来创建我们网站的根目录,用来存储我们项目的打包文件,创建文件夹命令,文件夹名字随意。

mkdir /myhtml

通过ls 可以看到当前文件夹下的文件或者是文件夹,如果输入ls没有反应,可以输入cd /

再输入ls ,可以看见文件夹创建成功了 。

通过cd到我们的目录 中

cd /myhtml 

再次创建

mkdir /dist

 下载Nginx

        在操作界面输入指令,下载Nginx

yum -y install make zlib zlib-devel gcc gcc-c++ libtool openssl openssl-devel pcre pcre-devel

        等待一会,下载完成后,我们要对Nginx进行解压

cd /usr/local && wget http://nginx.org/download/nginx-1.21.6.tar.gz && tar zxvf nginx-1.21.6.tar.gz

安装nginx

        首先cd到软件目录中,输入指令

cd nginx-1.21.4

   然后再输入

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-pcre  --with-http_ssl_module

最后输入

make && make install

启动nginx

/usr/local/nginx/sbin/nginx

配置nginx

        接下来就是配置nginx了,我们用指令打开配置文件

vim /usr/local/nginx/conf/nginx.conf

        输入字母(’i‘)进入编辑模式,找到server 。

         其中listen是端口号,这也是为什么之前安全组入口留80的原因,server_name的内容可以把默认的localhost改为服务器的公网IP地址,在下面的location中,root后面改为

/myhtml/dist

 最后先按esc键 然后输入 :wq 回车保存。

启动nginx

/usr/local/nginx/sbin/nginx

此处下载安装参考 https://www.jianshu.com/p/c051164e4203

传输文件

        接下来,我们使用Xftp软件,连接服务器,连接方法和刚刚差不多,主机就是云服务器公网IP,勾选使用身份验证代理,输入root账户和实例密码

 将我们项目打包的文件(我这里是vue的打包),我们在右侧云服务器找到我们创建的文件夹

/myhtml/dist 然后直接将左侧打包文件夹中的所有文件拖到右侧服务器我们刚刚创建的dist中。

 配置防火墙

        原先我以为这样就够了,但是后面还是访问不了,后来看见了这篇文章

基于VMware虚拟机, Linux下的Nginx配置, 和外部主机访问配置_Twilight.c的博客-CSDN博客原来还需要配置防火墙。

关闭自带的防火墙

        首先我们需要禁用自带的防火墙,输入指令

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

安装iptables防火墙 

        输入指令来安装iptables防火墙

yum install iptables-services

        打开配置文件

vi /etc/sysconfig/iptables 

         输入字母(’i‘)进入编辑模式,然后添加一行,允许80端口通过防火墙

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

        最后先按esc键 然后输入 :wq 回车保存。

最后

        到了这一步,我们就已经部署完成了,你可以在浏览器地址栏中输入

http:// 你的云服务器公网IP:80  或者
http:// 你的域名

        直接通过IP地址的方式来有些low了,但是要想使用域名访问需要备案,填写资料然后等待。。。首先域名有效期一定要大于90天,我这里的只有38天,所以我就没有去备案了。        

        我这里的方法适用于静态页面或者是通过网址接口所写的项目,我这里是用的黑马提供的接口,对于本地自写数据库和接口的部署方法我还在学习中。

        欢迎大家指正讨论!

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

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

相关文章

ElementUI快速上手(jar包本地下载)

Element-ui是饿了么前端团队推出的基于vue进行开发的前端框架。 最近刚学了Element-ui,迫不及待练练手,却发现现成的组件样式用不了。引用官网的使用方法,如图: 展示的效果也是不尽人意,在百度的过程中发现可能是链接…

相对定位relative、绝对定位absolute、固定定位fixed

注:默认情况下的定位是 postion:static; 使用定位时,常常使用偏移量对位置进行描述:left、right、top、bottom定位时,使用z-indent可以元素的堆叠顺序,例:z-indent:1&…

Spring Security 权限控制

日积月累,水滴石穿 😄 前言 项目版本Boot2.3.12.RELEASESecurity5.3.9.RELEASE 官网文档 在前面的文章中,所有的接口只需要登录就能访问。并没有对每个接口进行权限限制。 在正式的系统中,一个用户会拥有一个或者多个角色&#…

三种架构模式——MVC、MVP、MVVM

目录 前言 一、MVC(Model-View-Controller) 1、简介 2、框架图 二、MVP(Model-View-Presenter) 1、简介 2、框架图 三、MVVM(Model-View-ViewModel) 1、简介 2、框架图 四、总结 前言 MV系列框…

微信小程序插件--wxml-to-canvas(生成图片)

一、需求 项目中要实现一个将图片分享到朋友圈的功能,将生成的海报转成图片保存到手机。用到了wxml-to-canvas插件。 二、官方示例使用方法 1.安装wxml-to-canvas npm install --save wxml-to-canvas2.JSON 组件声明 {"usingComponents": {"wxml-t…

多款顶级好用的 Vue 表单设计器测评推荐,可拖拽生成表单

本文完整版:《多款顶级好用的 Vue 表单设计器测评推荐,可拖拽生成表单》 Vue 表单设计器form-generator - 适配 Element Plus UI 框架的表单设计器form-render - 阿里团队开源表单设计器,自家 Antd UI 框架友好form-create - 支持Vue3 及 Ele…

内网npm私有仓库搭建以及使用教程

前言 前端团队沉淀一套通用的UI库、工具类、脚手架,不允许在公网发布,内网npm私有库搭建需求应运而生。如何在内网环境搭建npm私有仓库并使用?主角登场了 —— Verdaccio。接下来我来教大家使用 verdaccio 在内网环境中搭建npm私有仓库。 基…

canvas详细入门教程(1W字 吐血分享)

大家好&#xff0c;我是潘潘 今天为大家带来的是我已经写了很久了的canvas详细教程&#xff0c;对入门canvas很有帮助。 点击跳转原文&#xff1a; canvas详细教程原文 canvas是什么&#xff1f; 简单来说&#xff0c;<canvas> 是HTML5中的标签&#xff0c;它是一个容…

20分钟学会flex布局,熊二都表示学会了,你呢?

✏️ 作者&#xff1a;大二计算机专业学生 ♉ 星座&#xff1a;金牛座 &#x1f3e0; 主页&#xff1a;查看更多文章 &#x1f3c2; 关键&#xff1a;flex 前端布局 熊二都会 大家好&#xff0c;我是小周&#xff0c;今天分享的是熊二都能学会的前端 flex 布局&#xff0c;篇幅…

小程序 getActivePinia was called with no active Pinia. Did you forget to install pinia?

小程序项目使用pinia做状态管理报错&#xff1a; Error: [&#x1f34d;]: getActivePinia was called with no active Pinia. Did you forget to install pinia? const pinia createPinia() app.use(pinia) app运行打包时有个同样的错误 错误原因是&#xff1a;在外部js/t…

Collections类详解

目录 一.Collections概述&#xff1a; 1.1什么是Collections类&#xff1a; 1.2 Collections类和collection的区别和联系&#xff1a; 二. Collections类的主要方法&#xff1a; 一.Collections概述&#xff1a; 1.1 什么是Collections类&#xff1a; Java.util.Collections…

【Node.js】Express框架的基本使用

✍️ 作者简介: 前端新手学习中。 &#x1f482; 作者主页: 作者主页查看更多前端教学 &#x1f393; 专栏分享&#xff1a;css重难点教学 Node.js教学 从头开始学习 目录 初识Express Express简介 什么是Express 进一步理解 Express Express能做什么 Express的基本使用 …

前端登录退出:处理Token问题(获取、缓存、失效处理)以及代码实现

目录一、什么是Token二、获取token三、Token失效处理注意点1、主动退出2、Token过期① 逻辑图②方案③代码实现3、被人顶号① 逻辑图② 方案③代码实现一、什么是Token Token是服务端生成的一串字符串&#xff0c;当用户第一次登陆成功后&#xff0c;服务器会生成一个token&am…

vue 实现自适应屏幕

1.安装自适应屏幕插件&#xff08;优先使用vscode安装&#xff0c;需要调整px转化rem比例&#xff09; &#xff08;1&#xff09;安装插件&#xff1a; npm i lib-flexible --save &#xff08;2&#xff09;mian.js引入&#xff1a; import lib-flexible/flexible.js 2. 如果…

java中controller层是干嘛的?

最近在研究开源框架的源码&#xff0c;打算改写开源框架&#xff0c;适用于自身的业务场景。于是找到了一个框架(spiderFlow)。 根据他的git上的教程&#xff0c;搭建了一个。 controller层&#xff0c;在我们写代码的时候&#xff0c;一般为接口层&#xff0c;与前端&#xf…

CSS锥形渐变实现环形进度条

10月份因为疫情原因、又开启了居家办公模式&#xff0c;空闲之余&#xff0c;与其选择“躺平”&#xff0c;不如去做一些有意义的事情&#xff0c;内心的想法驱使着我去做些什么&#xff0c;但是又没有合适的素材&#xff0c;直到接手了最近的一个可视化项目&#xff0c;一个图…

若依框架---权限管理设计

前言 若依权限管理包含两个部分&#xff1a;菜单权限 和 数据权限。菜单权限控制着我们可以执行哪些操作。数据权限控制着我们可以看到哪些数据。 菜单是一个概括性名称&#xff0c;可以细分为目录、菜单和按钮&#xff0c;以若依自身为例&#xff1a; 目录&#xff0c;就是页…

关于古老的jsp页面的知识汇总(超详细)

1. 为什么要开发出来jsp文件呢&#xff1f; 面对需要将大量的结果&#xff0c;甚至是一整个<html>页面返回给响应体&#xff0c;之前的方法就显得十分麻烦。 之前我们是这样将结果返回给响应体的&#xff0c;如下图&#xff1a; 于是就设计了jsp文件&#xff0c;用来解决…

antd upload上传格式.doc、.docx、.pdf、.png、.jpg、.rar和大小100兆限制

限制上传文件格式.rar、.zip、.pdf、.jpg、.png、.docx antd 中upload对于限制上传文件格式的属性是accept&#xff0c;在开发的过程中&#xff0c;accept对于.doc、.docx、.pdf、.png、.jpg、.rar&#xff0c;格式的限制是完全没有问题的。但是测试和我说&#xff0c;当选择文…

前端开发之vue-grid-layout的使用和实例

前端开发之vue-grid-layout的使用和实例前言效果图一、vue中简单案例1、安装组件NPMYarn2、vue文件二、vue3使用&#xff08;vue文件&#xff09;1、需要导入vue3支持的该版本插件2、在mian.js里引入&#xff1a;三、在IE上无法打开&#xff0c;并报错缺少&#xff1a;&#xf…