Nginx基本使用以及部署前端项目

news2024/11/27 20:30:53

前言

最近学习了一下Nginx,整理了一个博客,主要参考的是狂神说的b站视频教程,文章链接如下:狂神说Nginx快速入门


一、下载、启动Nginx

1.下载Nginx

到Nginx官方选择自己电脑适用的稳定版本下载,我下载的的windows版本。
在这里插入图片描述
下载完,就会有一个压缩包。需要创建一个文件夹用于存放解压后的nginx内容(注意:存放Nginx的文件夹最好不要有中文,否则会报错),解压后的内容如下所示:
在这里插入图片描述

后续我们经常使用到的就是conf配置文件。

2.启动Nginx

Win+R,运行cmd,切换到nginx解压之后的目录:
在这里插入图片描述
可以查看下conf目录中的nginx.conf文件。
在这里插入图片描述
用记事本打开,可以看到它的默认端口是80端口,默认访问域名是以localhost访问。也就是以后只要访问80端口,就会被Nginx拦截。
在这里插入图片描述
接着,打开浏览器,输入 http://localhost:80并 回车,出现以下内容说明Nginx启动成功了!
在这里插入图片描述
也可以在任务管理器中看到nginx是在运行状态的。
在这里插入图片描述

3.常用命令

强制停止nginx:nginx -s stop
安全退出nginx:nginx -s quit
重新加载配置文件:nginx -s reload (如果修改了配置文件就执行这行命令,否则修改就是无效的。前提:nginx服务是启动的状态,否则reload是不成功的。)

二、nginx.conf配置文件分析

最上面的是全局配置;events是最大连接的数量;http中有一些小模块,比如静态资源文件配置,里面可以配置多个server,server可以配置不同的服务,比如location,比如负载均衡配置upstream。
在这里插入图片描述

1.配置反向代理

例如:修改nginx.conf配置文件,配置location中proxy_pass指向YSL官网。

// 这行代码就说明请求会代理到 https://www.yslbeautycn.com
proxy_pass  https://www.yslbeautycn.com 

在这里插入图片描述

注意:
proxy_pass后面跟的是空格
写完一个配置项后面需要以分号;结尾

修改了nginx.conf配置文件后,运行nginx -s reload
在浏览器输入http://localhost:80并回车,就可以发现出现的是YSL官网了。
在这里插入图片描述

2.负载均衡upstream

在一堆服务器中,Nginx能够将从客户端请求“均匀地”分配到这些服务器中,这就是负载均衡。

场景:如果请求很多,一台服务器忙不过来,就需要多个服务器一起合作。假如我们有100G的服务器、64G的服务器、16G的服务器,我们希望实现更多的请求能够到100G的服务器中,更少的请求到16G的服务器中。这就是负载均衡的功能了。

常用方式:

  • 轮询
    "轮询"会将客户端的请求循环分配给不同的后端服务器。轮询容易产生资源分配不合理的问题。
    在这里插入图片描述
    假设有三个服务器,那么就可以在nginx.conf文件中使用upstream块定义这三个服务器;然后再配置location中的proxy_pass指令指向upstream名称。写法如下所示:
    在这里插入图片描述

  • 加权轮询
    用于服务器性能不同的集群中,可以让资源分配更合理。
    在这里插入图片描述
    服务器性能越好的,权重就更高;性能越差的,权重就越低。
    如上图所示:如果请求很多的情况下,那么大量的请求都会到权重为4的第三个服务器中,只有一部分请求才会到权重为1的服务器中,这样可以确保服务器没有超负荷。权重weight越高的,请求就越多;这样,可以把保证服务器性能的最大化,哪怕有一台很小的服务器,也可以上线去使用,这样会节约成本。
    可以通过weight来设置服务器的不同权重,写法如下所示:
    在这里插入图片描述
    优点:分布式处理,提升网络的灵活性、稳定性,使得服务器性能最大化。

三、Nginx上部署前端项目

Vue项目需要打包好,打包项目运行npm run build即可,打包完成项目中会多出一个dist目录,我这里的项目叫demo。
我们将demo项目下dist目录中的内容都复制粘贴到nginx目录下的html目录中,将原本的nginx下的html中的内容删除掉。
在这里插入图片描述
效果就是这样:
在这里插入图片描述
配置文件依然是默认的80端口,localhost打开。运行一下:start nginx,可以看到vue项目运行成功了。
在这里插入图片描述


总结

以上就是我要分享的Nginx相关的内容了。

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

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

相关文章

Web Components

1、前期回顾 JavaScript沙箱 1.1、什么是沙箱 在计算机安全中,沙箱(Sandbox)是一种用于隔离正在运行程序的安全机制,通常用于执行未经测试或者不受信任的程序或代码,它会为待执行的程序创建一个独立的执行环境&#x…

图解LeetCode——206. 反转链表

一、题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 二、示例 2.1> 示例 1: 【输入】head [1,2,3,4,5] 【输出】[5,4,3,2,1] 2.2> 示例 2: 【输入】head [1,2] 【输出】[2,1] 2.3> 示例 3&#…

六级备考32天|CET-6|分数分布|题型分布|翻译·贴春联·CCTV·印章|16:30~17:47

目录 英语六级总分:710分 一、英语六级作文 二、听力部分 248.5分 三、阅读理解35% 248.5分 四、翻译部分 汉译英 15% 106.5分 五、做题技巧 写作和翻译需要重点强化练习! 六、积累 英语六级总分:710分 一、英语六级作文 说明&…

HTTP第13讲——HTTP的实体数据

数据类型与编码 在 TCP/IP 协议栈里,传输数据基本上都是“headerbody”的格式。但 TCP、UDP 因为是传输层的协议,它们不会关心 body 数据是什么,只要把数据发送到对方就算是完成了任务。 而 HTTP 协议则不同,它是应用层的协议&am…

pytorch实战11:基于pytorch简单实现DCGAN

基于pytorch简单实现DCGAN 前言 ​ 最近会把一些简单的CV领域的架构进行复现,完整的代码在最后。 本系列必须的基础 ​ python基础知识、CNN原理知识、pytorch基础知识 本系列的目的 ​ 一是帮助自己巩固知识点; ​ 二是自己实现一次,可以发…

ZED使用指南(五)Camera Controls

六、其他 1、相机控制 (1)选择视频模式 左右视频帧同步,以并排格式作为单个未压缩视频帧流式传输。 在ZED Explorer或者使用API可以改变视频的分辨率和帧率。 (2)选择输出视图 ZED能以不同的格式输出图像&#xf…

Android系统原理性问题分析 - Android Native程序的结构设计方式

Android核心原理 5.3 声明 在Android系统中经常会遇到一些系统原理性的问题,在此专栏中集中来讨论下。Android系统主要由Java和C/C两个世界构成,此篇分析处于Java世界和C/C世界的两个进程如何实现进程间通信的问题。此篇参考一些博客和书籍&#xff0c…

Go程序设计语言翻译问题(goroutine)

中文:Go程序设计语言 2017.1 英文:The Go Programming Language 2016 8.4.2. Pipelines 8.4.2管道章节 修正: 第一个管道应该改成通道,cannel是概念词汇 重要概念词汇不能混淆 来自chatGPT3.5: Go Pipelines和channel…

(kubernetes yaml文件|--dry-run导出yaml文件

kubernetes yaml文件|--dry-run导出yaml文件 YAML 语法格式:二 查看 api 资源版本标签三 写一个nignx.yaml文件demo四、编写service服务的资源清单详解k8s中的port五 用–dry-run命令生成yaml资源清单六 将现有的资源生成模板导出写yaml太累怎么办? YAML…

【Linux】1. Linux常见指令

专栏导读 🍁作者简介:余悸,在读本科生一枚,致力于 C方向学习。 🍁收录于 C 专栏,本专栏主要内容为 C 初阶、 C 进阶、 STL 详解等,持续更新中! 🍁相关专栏推荐&#xff1…

社会关系抽取赛题提交指南

社会关系抽取赛题提交指南 一、赛题背景 本次主要为大家介绍社会科学计算大赛的赛题之一---社会关系抽取。 1.技术发展 关系抽取(Relationship Extraction, RE)是信息抽取的一个重要任务,其目标是从文本中抽取实体之间的关系。RE技术发展历程主要有以下几个阶段:1. 规则与模…

初窥机器视觉与卷积神经网络

文章目录 1. 什么是卷积神经网络2. 卷积运算3. 池化层4. 卷积神经网络的整体架构 1. 什么是卷积神经网络 卷积神经网络(convolutional neural network,CNN)主要用于计算机视觉相关任务,但处理对象并不局限于图像,CNN在序列和语音等上的应用也…

2023年陕西省《网络建设与运维》技能大赛试题

项目简介: 某集团公司原在北京建立了总公司,后在成都建立了分公司,广东设立了办事处。集团设有产品、营销、法务、财务、人力5个部门,全网采用OSPF、RIP、ISIS、BGP路由协议进行互联互通。集团在北京建立两个数据中心,贵州建立异地灾备数据中心。 公司网络拓扑如图1所示,…

功能要进阶自动化测试,你必须要了解的十大自动化测试框架

什么是自动化测试框架? 自动化测试框架,即是应用于自动化测试所用的框架。按照框架的定义,自动化测试框架要么是提供可重用的基础自动化测试模块,如:selenium 、watir等,它们主要提供最基础的自动化测试…

【Python入门篇】——Python中循环语句(while循环的嵌套应用,嵌套案例)

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句…

监控系统经典架构详解

要了解一个监控系统那么我们就先要了解他的架构,看看监控系统是由哪些模块组成,各个模块是如何相互协调。我们将众多主流监控系统架构进行逻辑抽象和概括。 典型架构 从上图(监控系统经典架构图)来看,从左往右&#x…

Android RecyclerView实现吸顶动态效果

文章目录 一、ItemDecoration二、实现RecyclerView吸顶效果1、实现一个简单的RecyclerView2、通过ItemDecoration画分割线3、画出每个分组的组名4、实现吸顶效果 完整demo 链接:https://download.csdn.net/download/JasonXu94/87786702 一、ItemDecoration ItemDecoration 允…

python实现学生成绩管理程序,包含各科成绩的录入,计算各个学生的总分和平均分,统计各个科目的最高分、最低分和平均分。

一、编程题目 编程题目:使用python实现学生各科成绩的录入,计算各个学生的总分和平均分,统计各个科目的最高分、最低分和平均分。其中学生人数通过输入来决定,科目包括语文、数学和英语这三门课程。(保留一位小数&…

JavaEE 5 (4/28)

1.wait() 和notify() 调用wait后做的三件事 1.释放锁 2.等待其他线程通知 3.收到通知后重新上锁,继续执行 要想实用wait和notify就得搭配synchronized 获取锁 wait哪个对象就要针对哪个对象加锁 Java中线程是随机抢占式执行的,实际上线程的执行我们一定要有一个顺序. join可以…

阿里云服务器可以做什么?十大使用场景举例说明

使用阿里云服务器可以做什么?阿里云百科分享使用阿里云服务器常用的十大使用场景,说是十大场景实际上用途有很多,阿里云百科分享常见的云服务器使用场景,如本地搭建ChatGPT、个人网站或博客、运维测试、学习Linux、跑Python、小程…