当前位置: 首页 > news >正文

Ngnix安装教程(2023.3.8)

Nginx安装教程(2023.3.8)

  • 引言
  • 1、Nginx简介
  • 2、Nginx安装
    • 2.1 下载Nginx安装包
    • 2.2 免安装启动Nginx(切记解压后将nginx-1.23.3文件夹需要放在英文路径下,实测中文路径不识别且启动不成功)
    • 2.3 熟悉Nginx文件夹目录结构
    • 2.4 熟悉Nginx常用命令
    • 2.5 查看版本号
    • 2.6 查看编译信息
    • 2.7 修改端口号80为8090
    • 2.8 部署静态html页面和API文档
      • 2.8.1 成功部署单个html页面
      • 2.8.2 成功部署API文档(以Cesium为例)
  • 3、Nginx小结

引言

        对于许多开发者而言,往往需要Web容器来寄宿网页、API文档或部署项目供用户或者同事查看和使用,其中最常见的就是文件服务器,在局域网内确保在同一网段即可访问,在公网环境申请公网IP(进一步申请公开域名)可供互联网用户访问,那么你所了解的Web服务器有哪些呢?
        目前本人所接触和使用过的网站服务器、文件服务器或者Web服务器的技术方式大概有以下六个,可能多少都会涉及到端口、页面路径索引、网络通信,汇总在这里与诸位分享,欢迎大家交流共同学习探讨,推动技术进步,毕竟百花齐放、百家争鸣:

  1. Node.js启动Express文件服务器
  2. Python命令启动文件服务器
  3. IIS启动Web站点服务器(Windows环境)
  4. Apache系列服务器,如众所周知的Tomcat
  5. Nginx服务器;
  6. Vue项目启动后的public文件夹或static文件夹

1、Nginx简介

        Nginx作为一个高性能、轻量级、开源Web服务器,不但支持HTTP反向代理和负载均衡,还能提供电子邮件服务IMAP/SMTP/POP3),因功能丰富、配置简单、内存占用少、稳定性高、灵活性大、并发支持性强而深受广大开发者的喜爱,同时还能够兼容Windows、Linux、Unix操作系统。

在这里插入图片描述

2、Nginx安装

        首先到Nginx下载页面需要下载Nginx安装包,然后按照官方文档中的说明步骤Installing nginx进行即可,之后熟悉文件目录结构和常用命令来满足一些基本的使用需求。

2.1 下载Nginx安装包

        这里下载的是WIndows操作系统下的安装包文件nginx-1.23.3.zip,下载完成后对zip文件进行解压,解压后的文件夹如下图所示:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2 免安装启动Nginx(切记解压后将nginx-1.23.3文件夹需要放在英文路径下,实测中文路径不识别且启动不成功)

        需要注意的是,Windows下启动Nginx非常简单,无需安装将软件写进注册表,只需双击nginx.exe在cmd命令行中输入命令start nginx即可启动nginx服务器。另外,当nginx服务器启动后,默认会一直启动,可以在cmd命令行中输入命令来关闭nginx服务器

中文路径下启动Nginx不成功
英文路径下启动Nginx成功
英文路径下关闭Nginx服务器

2.3 熟悉Nginx文件夹目录结构

        对于Nginx文件目录结构,相必大家都十分了解,当然还是想说明一下,conf文件夹中存放服务器的配置文件,用户可以自行修改后重启服务器方可使得配置生效docs文件夹存放相关的使用说明文档,轻量化后都是需要在线访问官网文档html文件夹可存放静态html页面或者打包部署的Web项目,十分常用logs文件夹存放服务器运行过程中的日志文件,便于查看日志记录数据,分析相关行为temp文件夹为临时缓存文件夹nginx.exe是最主要的启动程序

conf文件夹
contrib文件夹
docs文件夹
html文件夹
logs文件夹
temp文件夹
各个文件夹下的文件截图

2.4 熟悉Nginx常用命令

        在nginx-1.23.3文件夹下打开命令行窗口,可以直接在文件夹下空白处按住Shift不放同时鼠标点击右键打开终端命令行窗口;也可以Win+R在左下角弹出的文本框中输入cmd命令后启动命令行窗口,然后输入如下命令:cd D:\program files\nginx-1.23.3

第一种方式启动cmd
第二种启方式动cmd

        然后就可以输入以下命令查看nginx程序的常用命令

nginx -h(查看nginx命令帮助)
nginx -v(查看nginx版本)
nginx -V
start nginx
nginx -s stop

2.5 查看版本号

        Win+R打开cmd命令行窗口,输入命令:nginx -v,然后下方可看到版本是1.23.3

2.6 查看编译信息

        Win+R打开cmd命令行窗口,输入命令:nginx -V,然后下方可看到编译详情。

具体编译信息如下:

nginx version: nginx/1.23.3
built by cl 16.00.30319.01 for 80x86
built with OpenSSL 1.1.1s  1 Nov 2022
TLS SNI support enabled
configure arguments: --with-cc=cl --builddir=objs.msvc8 --with-debug --prefix= --conf-path=conf/nginx.conf --pid-path=logs/nginx.pid --http-log-path=logs/access.log --error-log-path=logs/error.log --sbin-path=nginx.exe --http-client-body-temp-path=temp/client_body_temp --http-proxy-temp-path=temp/proxy_temp --http-fastcgi-temp-path=temp/fastcgi_temp --http-scgi-temp-path=temp/scgi_temp --http-uwsgi-temp-path=temp/uwsgi_temp --with-cc-opt=-DFD_SETSIZE=1024 --with-pcre=objs.msvc8/lib/pcre2-10.39 --with-zlib=objs.msvc8/lib/zlib-1.2.13 --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_stub_status_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_slice_module --with-mail --with-stream --with-openssl=objs.msvc8/lib/openssl-1.1.1s --with-openssl-opt='no-asm no-tests -D_WIN32_WINNT=0x0501' --with-http_ssl_module --with-mail_ssl_module --with-stream_ssl_module

2.7 修改端口号80为8090

        首先应该了解到nginx服务器的端口默认为80,如果想要修改其端口,除了要找到配置文件外,也要查看修改后的端口当前是否已经被占用,可输入以下命令来查看:netstat -aon|findstr 80
在这里插入图片描述
在这里插入图片描述
        用记事本打开nginx-1.23.3\conf文件夹下的nginx.conf文件,修改http下的server里的listen端口,由80改为8090后重启nginx即可。

在这里插入图片描述

        如下是修改端口为8090后访问html下的默认两个html文件index.html和50x.html,可以看到端口修改成功且可以正常访问页面。
在这里插入图片描述
在这里插入图片描述

2.8 部署静态html页面和API文档

2.8.1 成功部署单个html页面

        将XMLHttpRequest_get.html文件复制到nginx/html文件夹下,之后无需其他配置就可以成功访问XMLHttpRequest_get.html

Nginx部署单页面html文件成功访问

2.8.2 成功部署API文档(以Cesium为例)

        直接将Documentation文件夹拷贝到nginx/html目录下即可,然后无需重启nginx服务器之后且无需其他配置就可更新访问,如BaseLayerPickerViewModel.html。

Nginx部署Cesium对应的API文档成功访问

3、Nginx小结

        (1)首先,大家在安装软件或者配置一些环境变量时,切记尽可能使用英文路径文件夹,这样相对来说更容易安装或配置成功;
        (2)其次,Nginx服务器特别灵活,简单易用,与Tomcat相比确实十分轻量化,整个nginx文件夹所占用的存储空间不超过5MB,而tomcat则占用几十兆以上
        (3)最后,从安装启动方式来看,tomcat还需要配置环境变量,二者都为免安装启动,采用配置文件方式可修改服务器相关设置,都可当作文件服务器寄宿Web项目页面,以便外部公开访问。

        Nginx涉及到的反向代理负载均衡等内容也值得大家去学习和使用,有机会需要多加尝试探索,tomcat、nginx、express、IIS、Vue、Nodejs(Express)等多种方法都能实现一定的效果,但其中的利弊还需仔细对比,正所谓真金不怕火炼经得起实践检验的才是真理!!!

        本次就先记录到这里,在此恭祝朋友们国际妇女节快乐,万事如意!!!❤️❤️❤️

亲爱的孟营,节日快乐🎁🎁🎁

相关文章:

Ngnix安装教程(2023.3.8)

Nginx安装教程(2023.3.8)引言1、Nginx简介2、Nginx安装2.1 下载Nginx安装包2.2 免安装启动Nginx(切记解压后将nginx-1.23.3文件夹需要放在英文路径下,实测中文路径不识别且启动不成功)2.3 熟悉Nginx文件夹目录结构2.4 …...

【C语言】每日刷题 —— 牛客(2)

前言 大家好,继续更新专栏c_牛客,不出意外的话每天更新十道题,难度也是从易到难,自己复习的同时也希望能帮助到大家,题目答案会根据我所学到的知识提供最优解。 🏡个人主页:悲伤的猪大肠9的博客…...

关于算法的一些简单了解

文章目录ALGORITHMBASIC INFORMATIONBasic algorithm design technology穷举法分治法减治法动态规划法贪心法Algorithm design technology based on search回溯法分支限界法PRACTICECONCEPTCALATION*CODEprim&dijkstra&kruskal分治法Q&AT(n)T(n)T(n) 是渐进时间复杂…...

mysql无法启动服务及其他问题总结

文章目录1.安装后关于配置的问题显示【发生系统错误,拒绝访问】命令行Command Line Client闪退2.显示【MySQL服务无法启动】问题检查端口被占用删除data文件并初始化配置my.ini/.conf文件重新安装MySQL1.安装后关于配置的问题 显示【发生系统错误,拒绝访…...

数据库表字段命名规范

因为近期笔者在数据库命名规范上产生了一些疑问,故特此记录下来了一些开发规范,望做参考。 摘要: 当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会…...

23种设计模式-命令模式(android应用场景介绍)

命令模式是一种行为设计模式,它允许将请求封装成一个独立的对象,并将请求的不同参数化。通过这种方式,命令模式可以在不同的请求间切换,或者将请求放入队列中等待执行。 在Java中,命令模式通常由一个抽象命令类和具体…...

vector你得知道的知识

vector的基本使用和模拟实现 一、std::vector基本介绍 1.1 常用接口说明 std::vector是STL中的一个动态数组容器,它可以自动调整大小,支持在数组末尾快速添加和删除元素,还支持随机访问元素。 以下是std::vector常用的接口及其说明&#xf…...

【C++进阶】四、AVL树(二)

目录 前言 一、AVL树的概念 二、AVL树节点的定义 三、AVL树的插入 四、AVL树的旋转 4.1 左单旋 4.2 右单旋 4.3 左右双旋 4.4 右左双旋 五、AVL树的验证 六、AVL树的性能 七、完整代码 前言 前面对 map/multimap/set/multiset 进行了简单的介绍,在其文…...

React 服务端渲染

React 服务器端渲染概念回顾什么是客户端渲染CSR(Client Side Rendering)服务器端只返回json数据,Data和Html的拼接在客户端进行(渲染)。什么是服务器端渲染SSR(Server Side Rendering)服务器端返回数据拼接过后的HTML,Data和Html…...

【算法设计-搜索】回溯法应用举例(1)

文章目录0. 回溯模板1. 走楼梯2. 机器走格子,但限定方向3. 中国象棋,马走日字4. 走迷宫5. 积木覆盖0. 回溯模板 搜索算法中的回溯策略,也是深度优先搜索的一种策略,比较接近早期的人工智能。毕竟,搜索是人工智能技术中…...

C++基础了解-23-C++ 多态

C 多态 一、C 多态 多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。 C 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。 下面的实例中,基类 Shape 被…...

【GNN/深度学习】常用的图数据集(资源包)

【GNN/深度学习】常用的图数据集(图结构) 文章目录【GNN/深度学习】常用的图数据集(图结构)1. 介绍2. 图数据集2.1 Cora2.2 Citeseer2.3 Pubmed2.4 DBLP2.5 ACM2.6 AMAP & AMAC2.7 WIKI2.8 COCS2.9 BAT2.10 EAT2.11 UAT2.12 C…...

Clickhouse中bitmap介绍以及计算留存Demo

前言 参考了腾迅的大数据分析-计算留存,能够根据用户自定义属性,以及玩家行为进行留存的计算。最初计算留存的方法使用的是clickhosue自带的rentention函数,使用这个函数不用关注太多细节,只需要把留存条件放入函数即可。但是这个如果需要关联用户属性,就比较麻烦了。因此…...

大数据是什么?学习后能找高薪工作么

大数据是什么,比较官方的定义是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 简单来说,大数据就是结构化的…...

如何提取视频中的音频转文字?分享提效减负视频转文字方法

最近我在学做短视频,就看了很多博主怎么做视频,像他们的拍摄方法、剪辑角度还有怎么写文案。我一开始只看了一两个博主,写文案时就是边看视频边打字,这视频量少还好,视频多了就觉得这种方法好费时间,感觉一…...

脑机接口科普0018——前额叶切除手术

本文禁止转载!!! 首先说明一下,前额叶切除手术,现在已经不允许做了。 其次,前额叶切除手术,发明这个手术的人居然还获得了诺贝尔奖。太过于讽刺。1949年的那次诺贝尔医学奖(就是我…...

FPGA工程师面试——基础知识

1. 简述FPGA等可编程逻辑器件设计流程 答:系统设计电路构思,设计说明与设计划分, 电路设计与输入(HDL代码、原理图), 功能仿真与测试, 逻辑综合, 门级综合, 逻辑验证与测…...

全国青少年软件编程(Scratch)等级考试一级真题——2019.12

青少年软件编程(Scratch)等级考试试卷(一级)分数:100 题数:37一、单选题(共25题,每题2分,共50分)1.下列关于舞台的描述,不正确的是?( &#xff09…...

【Integrated Electronics系列——数字电子技术基础】

目录 序言...

【微信小程序】-- 页面处理总结(三十一)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

Zustand 状态管理库:极简而强大的解决方案

Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

数据链路层的主要功能是什么

数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...