Windows下Nginx安装与配置教程

一、前言

1、Nginx是什么?

Nginx是一个开源的Web服务器,同时Nginx也提供了反向代理和负载均衡的功能。
Nginx通常作为负载均衡器暴露在外网接受用户请求,同时也使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器。

2、Windows什么情况下需要Nginx?

通常来说Windows下IIS就够用了,支持 .NET、ASP、PHP等等,不过如果你需要做负载均衡那你就需要Nginx,或者说你在一台服务器上,部署了Apache、IIS、Tomcat等多个Web服务器,这时候把80端口或443端口给Nginx在合适不过了。

当然,作为商业公司来说,通常不会有以上情况,但是如果你是个草根站长。或者说你想把你的Windows开发机作为服务器对外提供服务,那把你的Windows装上Nginx再合适不过了。

3、本篇环境信息

工具/环境版本
WindowsWindows 10 - 1803
Nginx1.15.2

二、安装过程

1、下载Nginx

官方下载地址:nginx: download

这次我们下载1.15.2版本:http://nginx.org/download/nginx-1.15.2.zip

下载后,将nginx-1.15.2.zip解压到 C:\Tools\Nginx

请注意,Nginx目录所在的路径中不要有中文字符,也不建议有空格。

2、启动Nginx

使用CMD命令start命令启动nginx

c: && cd c:\tools\nginx
start nginx

如果开启了Windows防火墙,记得允许访问网络。

image

3、访问测试

启动成功后,浏览器访问 localhost,即可看到Nginx 欢迎页

Nginx Welcome

如果启动启动失败,可能是IIS占用了80端口。去掉IIS监听的80端口即可。

三、Nginx常用配置

1、Nginx配置文件说明

Nginx所有配置文件都在Nginx根目录conf子目录中(C:\Tools\Nginx\conf)
Nginx核心配置文件: C:\Tools\Nginx\conf\nginx.conf

我们的常用配置只需要在nginx.conf中调整server节点就可以了
在nginx.conf文件末尾有如下示例

# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}

这个示例我们保留即可,我们配置反向代理、负载均衡直接在后面追加即可

2、Nginx配置示例

  • 反向代理配置示例
server {listen       80;        #监听80端口server_name  blog.test.ken.io; #监听的域名location / {            #转发或处理proxy_pass https://ken.io;}error_page   500 502 503 504  /50x.html;#错误页location = /50x.html {root   /usr/share/nginx/html;}
}
  • 负载均衡配置示例
upstream serverswitch {server 127.0.0.1:8080;server 127.0.0.1;
}server {listen       80;        #监听80端口server_name   ss.test.ken.io; #监听的域名location / {            #转发或处理proxy_pass https://serverswitch;}error_page   500 502 503 504  /50x.html;#错误页location = /50x.html {root   /usr/share/nginx/html;}
}

3、配置验证

修改C:\Windows\System32\drivers\etc\hosts文件将测试域名指向本机IP

127.0.0.1 blog.test.ken.io
127.0.0.1 ss.test.ken.io

重载Nginx配置

c: && cd c:\tools\nginx
nginx -s reload

然后浏览器访问域名即可验证

四、备注

1、Nginx常用命令说明

命令说明
nginx -h查看帮助信息
nginx -v查看Nginx版本
nginx -s stop停用Nginx
nginx -s quit优雅的停用Nginx(处理完正在进行中请求后停用)
nginx -s reload重新加载配置,并优雅的重启进程
nginx -s reopen重启日志文件

2、附录

  • 本篇参考

nginx for Windows

  • 延伸阅读

将Nginx作为Windows服务并开机启动:Windows下将nginx配置成服务并设置开机自启动-好记的博客

原文链接:Windows下Nginx安装与配置教程 - Ken的杂谈

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

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

相关文章

Power BI-云端报表定时刷新--ODBC、MySQL、Oracle等其他本地数据源的刷新(二)

ODBC数据源 一些小众的数据源无法直接连接,需要通过微软系统自带的应用“ODBC数据源”连接。 1.首次使用应安装对应数据库的ODBC驱动程序,Mysql的ODBC驱动需要手动安装 2.在web服务中进行数据源的配置 Mysql数据源 1.Powerbi与Gateway第一次连SQL…

Java工程师研学之路【002Java基础语法上】

知识体系(Knowledge system) 练习(practice) 要求:从控制台输入两个数字,然后输出两个数字的求和结果。 import java.util.Scanner; public class HelloJava {public static void sum(){System.out.print…

maven编译报错

参考链接:mvn打包No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK_51CTO博客_mvn打包命令 在执行 yum install -y java-1.8.0-opensdk命令后,使用maven去编译打包,结果报错, …

【Leetcode】62.不同路径

一、题目 1、题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例1: 输入:m = 3, n = 7 输出:…

云安全攻防(三)之 面向云原生环境的安全体系

面向云原生环境的安全体系 根据云原生环境的构成,面向云原生环境的安全体系可包含三个层面的安全体制,它们分别是容器安全、编排系统安全和云原生应用安全,下面,我们逐步来讲解这三点: 容器安全 容器环境&#xff0…

7.ES使用

ES多条件查询 and , or这种的 ES模糊查询 like这种的 {"wildcard": {"title.keyword": {"value": "*宣讲*"}}}说明: title是要匹配的关键字段名称keyword是属性,表示匹配的是关键字信息,如果不用.ke…

《向量数据库指南》——使用Milvus Cloud操作员安装Milvus Cloud独立版

Milvus cloud操作员HelmDocker Compose Milvus cloud Operator是一种解决方案,帮助您在目标Kubernetes(K8s)集群上部署和管理完整的Milvus cloud服务堆栈。该堆栈包含所有Milvus cloud组件和相关依赖项,如etcd、Pulsar和MinIO。本主题介绍如何使用Milvus cloud Operator安…

文心一言 VS 讯飞星火 VS chatgpt (67)-- 算法导论6.5 6题

文心一言 VS 讯飞星火 VS chatgpt (67)-- 算法导论6.5 6题 六、在 HEAP-INCREASE-KEY 的第 5 行的交换操作中,一般需要通过三次赋值来完成。想一想如何利用INSERTION-SORT 内循环部分的思想,只用一次赋值就完成这一交换操作? 文…

SpringBoot3 响应式网络请求客户端

SpringBoot是一个基于Spring的快速开发框架,它可以帮助我们快速构建、部署和运行Java应用程序。HTTP接口是Web应用程序与外部系统进行通信的一种方式,通过HTTP协议,我们可以实现客户端与服务器之间的数据交互。 SpringBoot 整合提供了很多方…

STUN工作原理

目录 一. 前言 二. STUN报文格式 STUN Header RFC3489 RFC5389 STUN Message Body RFC3489 RFC5389 三. WebRTC对STUN协议的支持 四. STUN工作流程 1. 使用STUN获取NAT映射后的地址 五. 参考资料 一. 前言 现实网络环境中绝大多数主机都是处于 NAT 之后&#xff0c…

Docker 容器高级操作

Docker容器高级操作 Docker容器创建、停止、启动、删除等基础操作上篇已述,然Docker容器被广大开发者青睐,不可能只有如此简单的功能,必有高阶功法。那么接下来 让我们一同走进容器操作的高级篇,领略其高级操作的魅力。 查看容器 docker ps -a | grep tomcat [root@tudou…

Java中的代理模式

Java中的代理模式 1. 静态代理JDK动态代理CGLib动态代理 1. 静态代理 接口 public interface ICeo {void meeting(String name) throws InterruptedException; }目标类 public class Ceo implements ICeo{public void meeting(String name) throws InterruptedException {Th…

LearnOpenGL_Day1

文章目录 前期准备下载GLFW下载GLAD 引入库文件生成窗口重要概念——双缓冲 (double buffer)代码实现 学习总结 前期准备 下载GLFW GLFW DOWNLOAD 解压后使用CMake编译至新创建的bulid文件夹下: 下载GLAD 引入库文件 创建好工程&#x…

01 矩阵(力扣)多源广度优先搜索 JAVA

给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 输入:mat [[0,0,0],[0,1,0],[0,0,0]] 输出:[[0,0,0],[0,1,0],[0,0,0]] 输入…

RWEQ模型教程

详情点击链接:基于“RWEQ”集成技术在土壤风蚀模拟与风蚀模数估算、变化归因分析中的实践应用及SCI论文撰写 前沿 土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的…

03-树1 树的同构(C++)

03-树1 树的同构 给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 现…

MySQL学习笔记 ------ 子查询

#进阶7:子查询 /* 含义: 出现在其他语句中的select语句,称为子查询或内查询 外部的查询语句,称为主查询或外查询 分类: 按子查询出现的位置: select后面: 仅仅支持标量子查询 …

【Linux】Docker 网络与资源控制

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Docker 网络与资源控制 Docker 网络实现原理Docker 的网络模式网络模式详解host模式container模式none模式bridge模式自定义网络 资源控制(Cgroup)CPU…

在 Amazon EMR 上构建实时数据湖

前言 当公司业务发展遇到瓶颈时,业务分析师以及决策者们总会希望通过交叉分析大量的业务数据和用户行为数据,以解答“为什么利润会下滑?”“为什么库存周转变慢了?”等问题,最终整点“干货”出来从而促进业务发展。 …

企业级业务架构学习笔记<二>

一.业务架构基础 业务架构的定义 以实现企业战略为目标,构建企业整体业务能力规划并将其传导给技术实现端的结构化企业能力分析方法 (业务架构可以从企业战略触发,按照企业战略设计业务及业务过程,业务过程时需要业务能力支撑的&#xff0…