windows下的nginx配置与使用

简介

请添加图片描述
若window配置使用nginx后,则启动项目就要同时启动nginx才行,否则无法使用对应的nginx配置的请求转发等服务

nginx配置请求转发

在这里插入图片描述

DEBUG

80端口已占用报错如下:
nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)
注意要改一下启动nginx的默认端口,否则启动nginx时可能会出错,因为默认端口极有可能已被占用。(80端口号太靠前容易被占用可以使用四位端口号
端口的取值范围是:0-65535

端口号的分类
(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定(binding)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。

(2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。

(3)动态和/或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN的RPC端口从32768开始。

在nginx对应安装目录上方搜索框使用cmd命令行启动nginx.exe才能查看是否可用
在这里插入图片描述
nginx转发请求时对转发的http数据包大小限制(POST,文件上传)
在这里插入图片描述

运行原理

首先是配置所有前端中微服务的基本访问路径(BaseURL)为nginx监听端口地址:http://localhost:9001/~,然后再配置映射具体微服务的访问路径

  • 先是配置nginx的监听路径和端口:http://localhost:9001
  • 然后再配置其映射(正则表达式)和转发的访问路径和端口
    http://localhost:9001/~/eduservice/的url会被映射为http://localhost:8001/~/eduservice/
    相当于将请求中的http://localhost:9001换为http://localhost:8001
  • 同样经过nginx配置转发的不仅仅是url还有http包中的数据,所以注意配置nginx的大小设置。

注意:上述nginx的启动端口号(81)和nginx的监听端口号(9001)是不一样的,功能也是不同的。

server {
	listen 81;
	server_name localhost lcsf.com;
	#charset koi8-r;
	#access_log logs/host.access.log main;

	location / {
		proxy_pass http://lcsf.com; 
		proxy_redirect default; 
}


server {
	listen  9001;
	server_name loaclhost;
	location ~/eduservice/ {
		proxy_pass http://localhost:8001;	
	}
	location ~/eduoss/ {
		proxy_pass http://localhost:8002;	
	}
}
}

注意:配置完nginx后需要在任务管理器中关闭全部nginx进程再重新启动才可以启动新配置(或者直接电脑重启)。

nginx命令行语句

nginx -s reopen #重启Nginx

nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx

nginx -s stop #强制停止Nginx服务:常用

nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)

nginx -t #检测配置文件是否有语法错误,然后退出

nginx -?,-h #打开帮助信息

nginx -v #显示版本信息并退出

nginx -V #显示版本和配置选项信息,然后退出

nginx -t #检测配置文件是否有语法错误,然后退出

nginx -T #检测配置文件是否有语法错误,转储并退出

nginx -q #在检测配置文件期间屏蔽非错误信息

nginx -p prefix #设置前缀路径(默认是:/usr/share/nginx/)

nginx -c filename #设置配置文件(默认是:/etc/nginx/nginx.conf)

nginx -g directives #设置配置文件外的全局指令

killall nginx #杀死所有nginx进程 ————————————————
版权声明:本文为CSDN博主「ruoxiyun」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ruoxiyun/article/details/86980913


版权声明:本文为qq_43813373原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。