【中间件学习】Nginx快速入门(为了配置一个项目)

news2024/11/18 9:29:41

-----------------------------本文章借鉴遇见狂神说---------------------------

一、一个产品出现瓶颈??

       在一个产品刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应该就够用了,然后内部的tomcat返回内容给用户。

       但是,慢慢的,使用平台的用户越来越多了,并发量慢慢增大了,这时候,一台服务器满足不了我们的需求。

       于是,我们开始横向扩展,有增加看服务器,这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器,通过代理服务器来帮助我们转发和处理请求。

       我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮助我们转发到不同的服务器节点上。这个过程用户是无感知的,用户并不知道是哪一个服务器返回的结果,我们还希望他可以按照服务器的性能提供不同的权重选择,因此我们选择使用Nginx。

二、什么是Nginx??

       Nginx是一个高性能的HTTP和反向代理的web服务器,同时也提供了IMAP/POP3SMTP服务Nginx的特点是占有内存少,并发能力强,事实上,Nginx的并发能力在同类型的网页服务器中表现较好。

       Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

       Nginx可以支持高达50000个并发连接的响应。

三、Nginx的作用

  • HTTP代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理
  • Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询:加权轮询, IP hash
  • 动静分离:在我们的软件开发中,有些请求时不需要经过后台处理的(比如:html,css,JPG,js等文件),这些不需要经过后台处理的文件称为静态文件,让动态网站里的动态网页根据一定的规则把不变的资源和经常改变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,提供资源响应的速度。

四、Nginx的安装

1. 更新包索引

首先,打开终端并更新您的包索引,以确保您可以获取最新的软件包信息:

sudo apt update

2. 安装 Nginx

接下来,使用以下命令安装 Nginx:

sudo apt install nginx

3. 启动 Nginx

安装完成后,可以使用以下命令启动 Nginx 服务:

sudo systemctl start nginx

4. 设置开机自启

如果希望 Nginx 在系统启动时自动启动,可以使用以下命令:

sudo systemctl enable nginx

5. 检查 Nginx 状态

要检查 Nginx 是否正在运行,可以使用以下命令:

sudo systemctl status nginx

6. 访问 Nginx 默认页面

       在浏览器中输入你的服务器 IP 地址(或 http://localhost),如果一切正常,您应该会看到 Nginx 的默认欢迎页面。

五、Nginx的常用命令

cd /usr/local/nginx/sbin/
./nginx  启动
./nginx -s stop  停止
./nginx -s quit  安全退出
./nginx -s reload  重新加载配置文件
ps aux|grep nginx  查看nginx进程

六、Nginx的配置文件 

在 Ubuntu 上,Nginx 的主要配置文件通常位于以下路径:

主要配置文件

  • /etc/nginx/nginx.conf

这是 Nginx 的主配置文件,包含了全局设置和其他配置信息。

站点配置文件

此外,Nginx 通常会在以下目录下存放单独的站点配置文件:

  • /etc/nginx/sites-available/

    这个目录用于存放可用的站点配置文件。每个文件代表一个虚拟主机的配置。

  • /etc/nginx/sites-enabled/

    这个目录包含实际启用的站点配置文件的符号链接。您可以通过将 sites-available 中的配置文件链接到此目录中来启用它们。

操作示例

  1. 查看主配置文件:

    sudo nano /etc/nginx/nginx.conf
  2. 添加或编辑站点配置: 在 sites-available 目录中创建或编辑配置文件,例如:

    sudo nano /etc/nginx/sites-available/example.com
  3. 启用站点: 创建符号链接到 sites-enabled 目录:

    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  4. 测试配置: 在修改配置后,您可以使用以下命令测试 Nginx 配置是否正确:

    sudo nginx -t
  5. 重启 Nginx: 如果配置没有问题,可以重启 Nginx 使更改生效:

    sudo systemctl restart nginx

通过以上步骤,您可以找到并编辑 Nginx 的配置文件

七、Nginx配置我的项目

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

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

相关文章

Anaconda虚拟环境默认路径在C盘怎么更改

笔者已经新建好了虚拟环境并且安装了对应库,输入conda env list查询发现虚拟环境竟然安装到了C盘(。•́︿•̀。),为避免下一次创建虚拟环境出错,笔者现在修改默认路径置D盘(软件安装盘) 参考两…

SSH连接Vscode

1.安装扩展包ssh 2-1.获取ssh登录命令 输入连接命令 2-2.获取虚拟机秘钥给vscode 查看远程主机的信息 打开工作目录 打开远程终端 3.RSA免密登录 打开power shell输入命令,获取秘钥 添加公钥到虚拟机 名字会自动更新,下一次进入虚拟机就不需要输入密码了

使用apipost工具导入通过swag生成的golang接口文档步骤

1.通过swag init 生成docs接口文档 见使用swag init --parseDependency生成api文档报错解决办法 2.导入操作 ok,操作完成

数据结构双链表和循环链表

目录 一、循环链表二、双向链表三、循环双向链表 一、循环链表 循环链表就是首尾相接的的链表,就是尾节点的指针域指向头节点使整个链表形成一个循环,这就弥补了以前单链表无法在后面某个节点找到前面的节点,可以从任意一个节点找到目标节点…

Windows11安装Docker Desktop教程

目录 一.安装前置步骤 ▐ 开启虚拟化 ▐ 安装WSL2 ▐ 安装Linux环境 二.Windows上安装Docker 一.安装前置步骤 ▐ 开启虚拟化 首先确保虚拟化的开启,打开任务管理器后查看: 确保图中的虚拟化是已启用,没有开启的需要通过BIOS进行开启&…

vmware 操作系统安装

下面选择你要装入的iso镜像 下面选择要装入的磁盘,建议别装c盘. 之后等待安装即可。

k8s架构,从clusterIP到光电半导体,再从clusterIP到企业管理

clusterIP作为k8s中的服务, 也是其他三个服务的基础 ~]$ kubectl create service clusterip externalname loadbalancer nodeport 客户端的流量到service service分发给pod,pod由控制器自动部署,自动维护 那么问题是service的可用…

MySQL-MySQL访问

文章目录 前言一、使用步骤1.MYSQL *mysql_init(MYSQL *mysql);2.MYSQL *mysql_real_connectint mysql_query(MYSQL *mysql, const char *q);MYSQL_RES *mysql_store_result(MYSQL *mysql);my_ulonglong mysql_num_rows(MYSQL_RES *res);unsigned int mysql_num_fields(MYSQL_R…

秋招内推2025--招联金融

【投递方式】 直接扫下方二维码,或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus,使用内推码 igcefb 投递) 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…

CRC循环校验的功能

CRC (Cyclic Redundancy Check,循环冗余校验) 是一种常用的错误检测码,用于检测数据传输或存储过程中发生的错误。它通过在数据末尾添加一个校验码(CRC码)来实现。接收方通过同样的算法计算接收数据的CRC码,并将结果与…

DC00022基于ssm高校社团管理系统web社团管理系统java web+MySQL项目web程序设计

1、项目功能演示 DC00022基于ssm高校社团管理系统web社团管理系统java web项目MySQL 2、项目功能描述 社团管理系统分为普通用户、管理员 2.1 普通用户功能 01 系统登录、系统注册 02 系统首页、新闻公告、规章制度、社团活动、互动交流 03 修改密码 04 个人信息修改 05 我的…

Tair简介

概述 Tair是淘宝团队开源的高可用分布式KV存储引擎,采用服务端自动负载均衡方式,使客户端逻辑简单。Tair,即TaoBao Pair缩写,Pair表示一对、一双等意思,即Key-Value数据对。 Tair分为持久化和非持久化两种方式。非持…

C++ 发布包问题汇总

C 发布包问题汇总 1、64位系统 拷贝 C:\Windows\SysWOW64 文件夹下面的DLL 2、32位系统 拷贝C:\Windows\System32文件夹下面的DLL 3、 程序所需dll问题 使用vs调试,在调试界面会打印出加载的dll 4、拷贝dll问题 64位拷贝了32位的dll就会出现加载失败的问题&a…

Java语言之数据类型与变量

Java的数据类型主要分为两类 基本数据类型:整形(包括:字节型:byte、1个字节,短整型:short、两个字节,整形:int、4个字节,长整型:long、8个字节),…

swagger v2默认访问地址

SpringBoot项目启动默认访问地址:swagger-ui.html 2024-09-27 08:40:59.744 INFO 248900 --- [ main] o.a.coyote.http11.Http11NioProtocol : Starting ProtocolHandler ["http-nio-9090"] 2024-09-27 08:40:59.756 INFO 248900 --- […

三数之和为0

1. 问题描述 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元…

Vscode超好看的渐变主题插件

样式效果: 插件使用方法: 然后重启,之后会显示vccode损坏,不用理会,因为这个插件是更改了应用内部代码,直接不再显示即可。

GUPAO-AI大模型实战训练营-大模型原理及训练技巧、大模型微调的核心原理

在当今科技日新月异的时代,大模型已经成为人工智能领域的重要支柱。GUPAO-AI大模型实战训练营,正是为了深入解析这些庞然大物背后的原理,以及如何有效利用它们进行实际操作和微调。本文将带你走进大模型的殿堂,揭示其原理&#xf…

【重学 MySQL】四十二、单行子查询

【重学 MySQL】四十二、单行子查询 单行子查询的基本用法示例1:查找薪资高于公司平均水平的员工示例2:查找没有分配项目的员工示例3:使用单行子查询进行等值比较 注意事项 在MySQL中,子查询(Subquery)是一种…

VUE 整合 ECharts

一、vue 引入 ECharts依赖 npm install echarts --save 二、创建盒子 <div ref"chars" style"height: 500px;width:800px;"></div> 解释说明 ref"chars" 是 Vue.js 中一个非常有用的特性&#xff0c;用于给 DOM 元素或组件实例…