Nginx学习

article/2025/10/16 21:58:44

目录

  • 1. Nigix简介
    • 1.1 什么是 Nginx?
    • 1.2 Nginx的作用?
    • 1.3 正向代理和反向代理
    • 1.4 Windows上安装Nginx
    • 1.5 Linux上安装Nginx
  • 2. Nginx常用命令
  • docker 部署nginx

1. Nigix简介

1.1 什么是 Nginx?

Nginx是一个高性能的HTTP和反向代理web服务器(随着客户端逐渐增多,一台服务器根本承载不了,因此需要有多台服务器,这时候就需要一台代理服务器来对多个客户端请求对应到多个服务器。)。
其特点是占有内存少,并发能力强。
Nginx是一个安装非常简单、配置文件非常简洁、Bug非常少的服务。Nginx启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数几个月也不需要重新启动。官方数据测试表明能够支持高达50000个并发连接数的响应。

1.2 Nginx的作用?

Http代理,反向代理。

1.3 正向代理和反向代理

正向代理:在客户端和原始服务器之间架设一个代理服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标,然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
在这里插入图片描述
反向代理:以代理服务器来接受网络上的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。客户端无需做任何配置。
在这里插入图片描述
多台服务器通过同一代理服务器地址来访问!

共同点:

  • 都是做为服务器和客户端的中间层。
  • 都可以加强内网的安全性,阻止 Web 攻击。
  • 都可以做缓存机制,提高访问速度。

区别:

  • 正向代理其实是客户端的代理,反向代理则是服务器的代理。
  • 正向代理中,服务器并不知道真正的客户端到底是谁;而在反向代理中,客户端也不知道真正的服务器是谁。
  • 作用不同。正向代理主要是用来解决访问限制问题;而反向代理则是提供负载均衡、安全防护等作用

在前后端分离的网站架构中,服务器经常要配置反向代理,使前端通过固定地址访问后端接口,这样后端服务可以采取负载均衡等性能优化措施,对前端应用透明。

1.4 Windows上安装Nginx

下载地址:https://nginx.org/en/download.html

启动nginx:

在这里插入图片描述

启动成功:

在这里插入图片描述

1.5 Linux上安装Nginx

首先下载:
在这里插入图片描述
然后通过xftp 上传到 虚拟机,然后解压
解压后进入文件夹执行如下指令:

# 安装nginx相关依赖包
yum install pcre-devel zlib zlib-devel openssl openssl-devel
# 安装后验证
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module
# 编译和安装
make && make install 

然后通过whereis nginx 指令找到nginx位置,切到对应目录。
进入sbin,执行./nginx

注意还需要开放端口!
在这里插入图片描述
启动成功:
在这里插入图片描述

2. Nginx常用命令

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

配置文件中的大致配置如下:
在这里插入图片描述
比如说我们想要能够用nginx访问80端口达到两台服务器上,并且用户无感知。这时候就要在80端口的server下作代理
在这里插入图片描述

docker 部署nginx

version: "3"
services:nginx:image: nginx:latestcontainer_name: nginxhostname: nginxvolumes: // 数据卷挂载- ../html:/usr/share/nginx/html // 将当前目录上一目录下的html文件夹 挂载到 容器中的 /usr/share/nginx/html 目录,容器中不存在此目录时会创建。已存在此目录时会覆盖- ./nginx.conf:/etc/nginx/nginx.conf // 将当前目录下的 nginx.conf 文件挂载到 容器中的 /etc/nginx/nginx.conf,容器中不存在此文件时会创建,已存在此目录时会覆盖ports:- "80:80"restart: always // 每次容器启动时都自动启动 nginx

上面挂载 html 是为了修改 nginx 初始展示页面,使其展示为我们自定义的页面。
本机编写的 nginx.conf 为:

user  root;
worker_processes  1;
events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';sendfile        on;keepalive_timeout  65;server {listen         80;location / {root   /usr/share/nginx/html; // 当访问80端口时,会去容器中此位置展示 index.html。这与上面我们在主机与容器挂载 html 位置是一致的!index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}}
}

http://chatgpt.dhexx.cn/article/ZgeGbkct.shtml

相关文章

Nginx教程(小白必看,看了必会,不看血亏),

Notice 测试请打开浏览器禁止缓存 Notice:再使用前,请打开浏览器 F12 然后网络 然后点禁用缓存,避免nginx配置后磁盘缓存的情况。而且,请确认host没问题。 备注:你本地设置的host对服务器反向代理后的就没用了 一、介绍 概述 Nginx是lgor…

学习Nginx,看完这篇超详细的文章就够了

目录 本文简介一、Nginx的基本概念1.1、Nginx是什么?1.2、Nginx能帮助我们做些什么?1.3、Nginx的特性 二、Nginx的安装2.1、环境介绍2.2、安装Nginx2.3、Docker安装运行Nginx 三、Nginx的常用命令介绍3.1、操作Nginx【Centos6和7通用】3.2、命令总结 四、…

html img调用js,html调用js变量 如何在html中输出js文件中的变量

html页面代码中怎么调用js变量?html页面代码中怎么调用js变量,例如 在html代码中插入js代码: a=取浏览你把index1.js 中的onReady 去掉,把index1.js改成 function index1() { 请确定他们在一个文件夹下,然后就可以直接调用了 直接把两段代码合并 。 希望能给你帮助。 要实现…

如何在html中使用js

1.使用script标签&#xff0c;将js代码写入标签(html和js没有分离) 在 HTML 中&#xff0c;JavaScript 代码必须位于 <script> 与 </script> 标签之间。 <script>console.log(Number.MAX_VALUE)var s hello worldvar n 10var u undefinedvar l nullvar …

html中script相互调用,HTML调用JavaScript

仅使用HTML和CSS创建动态网页很困难。例如&#xff0c;仅使用CSS是无法很好完成下拉菜单和滑入式页面的&#xff0c;这是一项很难的技术。此时就需要使用JavaScript&#xff0c;那么如何在HTML中调用JavaScript&#xff1f;下面本篇文章就来给大家介绍一下在HTML中调用JavaScri…

html5文档加载前调用函数,html调用javascript外部文件显示函数未定义

在html的head标签中调用了外部js文件&#xff0c;路径没有错&#xff0c;浏览器中也没有报错。但是触发事件调用函数的时候却显示loginWarm函数未定义。怎么回事&#xff0c;查了很久都没有一个正确的解决办法 οninput"setCustomValidity();" οnchange"loginW…

html引入css js,html中如何调用css和js?

html中如何调用css和js&#xff1f;下面本篇文章就来给大家介绍一下在html中调用css和js的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。 在HTML中调用css的方法 行内样式 在HTML标签的style属性中设定CSS样式 行内样式 内嵌式…

在HTML文档中使用JavaScript的方法详解

在HTML文档中使用JavaScript的方法详解 本文详细介绍&#xff0c;在HTML文档&#xff08;也称为HTML页面或网页&#xff09;中使用JavaScript脚本代码的多种方法。 假设要用JS生成字符☆直角三角形 实现JavaScript代码为&#xff1a; function RightTriangle(){ for(var j1;j&…

html中怎么引用js语言,HTML怎么引用javascript?

仅使用HTML和CSS创建动态网页很困难&#xff1b;例如&#xff0c;仅使用CSS是无法很好完成下拉菜单和滑入式页面的。此时就需要使用JavaScript。下面本篇文章就来给大家介绍一下在html中引用javascript的方法&#xff0c;希望对大家有所帮助。 在HTML中引用JavaScript的方法有两…

html中调用javascript函数,如何在HTML中调用JavaScript函数

如何在HTML中调用JavaScript函数? 在HTML文档中有很多方法可以调用JavaScript函数,这也不是一件容易的事。首先,我们使用了最简单的方法之一来调用HTML文档中的JavaScript函数: 在这种方法中,我们将在HTML文档的头部创建并定义一个函数。要在html文档中调用此函数,我们必…

html怎么引入JavaScript代码

学习了HTML入门教程之后&#xff0c;我们都知道HTML页面是静态的&#xff0c;要实现某些动态效果&#xff0c;就要引入JavaScript。本节课就来给大家讲解一下怎样在HTML页面中引入JavaScript。 这节课不涉及太多编程方面的知识&#xff0c;先给大家说一下引用方式&#xff0c;这…

IOS逆向之frida安装

首先手机要越狱&#xff0c;这个就不说了&#xff0c;博主就是咸鱼搞了个160的苹果6&#xff0c; 自己刷到苹果6支持最新的12.5.7版本后越狱&#xff1b; 谁让他低版本&#xff0c;不支持 CrackerXI砸壳呢&#xff0c;当时你要是使用 frida-ios-dump 也是可以的&#xff1b; …

android ios 逆向工程,iOS 逆向工程--懒人的砸壳方法

iOS 砸壳教程(iOS 9.0) 砸壳后可以对APP进行反编译, 可以看到ipa内头文件, 具体请查看我之前写的:反编译 iOS APP .当然, 关于逆向工程有太多的教程了, 但一般都比较复杂, 本着能偷懒就偷懒, 能不造轮子就不造轮子的坚定理念, 我正努力地学习偷懒... 声明:本文纯粹技术上的探讨…

iOS逆向——带你深入了解LLDB调试

写在前面 日常开发中经常会用到LLDB调试&#xff0c;可能用的最多的命令就是po&#xff0c;而在逆向领域中根本不可能让你在代码中下断点调试&#xff0c;于是乎LLDB就成了非常重要的手段 一、LLDB LLDB&#xff08;Low Lever Debug&#xff09;的缩写&#xff0c;是默认内置…

ios逆向小记

ios逆向小记 定位关键点 抓包 利用charles进行抓包来定位一些关键字符串&#xff0c;其中抓包配置如下&#xff1a; reveal reveal分析图层界面&#xff0c;找到图层所属类&#xff0c;利用frida-trace hook该类进行栈回溯确定关键点&#xff0c;同时可以通过图层类名称来推…

iOS逆向 和班尼特福迪一起攻克难关(unity)

Getting Over It这款游戏发布都五年了&#xff0c;热度也不是那么低&#xff0c;我寻思怎么就没人折腾iOS的goi呢&#xff0c;改个重力啥的我到现在都没发现。。 项目地址 dnSpy il2cppdumper IDA Pro 汇编码转机器码工具 密码:i36p 先从安卓goi里面拿到Assembly-CSharp.dl…

IOS逆向需用到的工具汇总

1、Mac 上自带的一些命令工具 file&#xff1a;查看Mach-O的文件类型 file 文件路径 otool&#xff1a;查看Mach-O特定部分和段的内容 otool -L Mach-O文件 # 查看当前 Mach-O 文件的动态链接库。 lipo&#xff1a;常用于多架构Mach-O文件的处理 查看架构信息&#xff1a;lip…

IOS 逆向分析基础篇

一、环境准备 已经越狱的IOS手机一台&#xff0c;如果使用的是Windows笔记本另外需要mac 虚拟机 1、IOS 手机越狱及环境配置 IOS12.0 以前版本&#xff0c;可以用impactor 写入签名&#xff0c;安装越狱IPA包 IOS 12以上版本&#xff0c;并小于IOS12.1.2&#xff0c;此时需要…

IOS逆向-LLVM、代码混淆

LLVM、代码混淆 1 LLVM1.1 传统编译架构1.2 LLVM的编译架构1.3 Clang1.3.1 什么是Clang1.3.2 Clang与LLVM 2. OC源文件的编译过程2.1 编译过程和预编译2.2 词法分析2.3 语法树-AST2.4中间代码&#xff08;LLVM IR&#xff09; 3. LLVM源码3.1 LLVM的源码下载3.2 源码编译3.2.1 …

【iOS逆向与安全】frida-trace入门

前言 frida-trace是一个用于动态跟踪函数调用的工具。支持android和ios。安装教程请参考官网。工欲善其事必先利其器。本文将以某App为示范&#xff0c;演示frida-trace的各种方法在iOS中的应用。 一、目标 让看文章的你在使用frida-trace时更得心应手。 二、工具 mac系统f…