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服务器的技术方式大概有以下六个,可能多少都会涉及到端口、页面路径索引、网络通信,汇总在这里与诸位分享,欢迎大家交流共同学习探讨,推动技术进步,毕竟百花齐放、百家争鸣:
Node.js启动Express文件服务器Python命令启动文件服务器IIS启动Web站点服务器(Windows环境)Apache系列服务器,如众所周知的Tomcat;Nginx服务器;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服务器。
| |
2.3 熟悉Nginx文件夹目录结构
对于Nginx文件目录结构,相必大家都十分了解,当然还是想说明一下,conf文件夹中存放服务器的配置文件,用户可以自行修改后重启服务器方可使得配置生效;docs文件夹存放相关的使用说明文档,轻量化后都是需要在线访问官网文档;html文件夹可存放静态html页面或者打包部署的Web项目,十分常用;logs文件夹存放服务器运行过程中的日志文件,便于查看日志记录数据,分析相关行为;temp文件夹为临时缓存文件夹;nginx.exe是最主要的启动程序。
| |
| |
| |
2.4 熟悉Nginx常用命令
在nginx-1.23.3文件夹下打开命令行窗口,可以直接在文件夹下空白处按住Shift不放同时鼠标点击右键打开终端命令行窗口;也可以Win+R在左下角弹出的文本框中输入cmd命令后启动命令行窗口,然后输入如下命令:cd D:\program files\nginx-1.23.3
| |
然后就可以输入以下命令查看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
| |
2.8.2 成功部署API文档(以Cesium为例)
直接将Documentation文件夹拷贝到nginx/html目录下即可,然后无需重启nginx服务器之后且无需其他配置就可更新访问,如BaseLayerPickerViewModel.html。
| |
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常用的接口及其说明…...
【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.下列关于舞台的描述,不正确的是?( )…...
【Integrated Electronics系列——数字电子技术基础】
目录 序言...
【微信小程序】-- 页面处理总结(三十一)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
Vue3 PC端 UI组件库我更推荐Naive UI
一、Vue3生态现状与UI库选择的重要性 随着Vue3的稳定发布和Composition API的广泛采用,前端开发者面临着UI组件库的重新选择。一个好的UI库不仅能提升开发效率,还能确保项目的长期可维护性。本文将对比三大主流Vue3 UI库(Naive UI、Element …...
Appium下载安装配置保姆教程(图文详解)
目录 一、Appium软件介绍 1.特点 2.工作原理 3.应用场景 二、环境准备 安装 Node.js 安装 Appium 安装 JDK 安装 Android SDK 安装Python及依赖包 三、安装教程 1.Node.js安装 1.1.下载Node 1.2.安装程序 1.3.配置npm仓储和缓存 1.4. 配置环境 1.5.测试Node.j…...
用鸿蒙HarmonyOS5实现国际象棋小游戏的过程
下面是一个基于鸿蒙OS (HarmonyOS) 的国际象棋小游戏的完整实现代码,使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├── …...
