32位windows下Nginx的简单使用及配置

前几天工作中和前端部门的同学配合时遇到一个问题:前端同学调用服务器端接口时,服务器端接口获取不到cookie。项目是前后端分离,服务器端使用spring mvc提供java接口,前端使用nginx做反向代理解决跨域问题,前端框架使用vue。

当时由于对ngix不太了解,只知道前端同学使用nginx做反向代理时,在测试环境配置的是ip+端口号的方式访问接口,于是就误以为是没有通过域名访问接口,所以服务器端接口才获取不到cookie。还理所当然的找前端同学“纠正错误”,经过一番排查,最终发现问题的罪魁祸首是vue,vue的工作原理是首页页面加载和刷新页面是会通过前端虚拟服务器和后端服务器接口交互,这时是服务器端之间的接口调用,前端同学没有在前端服务器向后端服务器接口正确的发送cookie,导致接口获取不到cookie。

现在想想真的很汗颜,真是无知者无畏,所以就决定要学一学Nginx。这篇文章就记录一下我的一个入门实验,实验目的:在本机配置一个nginx反向代理服务器,监听8089端口。达到访问http://localhost:8089,会通过nginx代理,访问http://localhost:8080的目的。

环境:32位windows、tomcat 、Spring MVC

前期准备:安装tomcat,并新建Spring MVC项目,访问http://localhost:8080/,能够打开Sping MVC项目对应的action,具体做法这里不多说,详情请见我的博文:http://www.cnblogs.com/cs-js/p/7295414.html

第一步:安装Nginx

下载链接:https://kevinworthington.com/nginx-for-windows/

我本机安装在了C:\nginx目录下,安装完成后,可以在文件夹里面看到Strat-nginx和Stop-nginx两个文件,一个是启动nginx服务,一个是关闭nginx服务。另外,还可以看到conf这个文件夹,ngix的配置文件nginx.conf就是放在这个文件夹里面。配置反向代理服务器只需要在配置文件里增加几个配置就可以了。

第二步:配置nginx

打开nginx.conf配置文件,会看到在http节点,在http节点下有一个默认的server子节点,我们不用去管它,要做的就是在http节点下新增一个server节点,具体的配置如下:

 	#虚拟主机的配置
     server {
     	#监听端口
        listen       8090;
        #域名可以有多个,用空格隔开,代理访问的真实服务器
        server_name  localhost:8080;

        error_page  404              /404.html;

        charset utf-8;

        #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_set_header X-Forwarded-Server $host;

        #以下是一些反向代理的配置

        #反向代理时候,设置nginx将域名携带到tomcat服务器
		proxy_set_header Host $host; 

		#允许客户端请求的最大单文件字节数
        client_max_body_size 10m;

		#对 "/" 启用反向代理
        location / {
        	 #配置代理访问的真实uri
             proxy_pass http://localhost:8080;
        }
    }

这样,就配置了一个简单的反向代理服务器。是不是很简单,这里需要重点解释一下server节点和它里面的各个配置项的含义:

server:配置一个虚拟主机,一个server接口可以监听一个端口,nginx可以配置监听多个端口,做多个反向代理,每个反向代理都需要配置一个server节点。

listen:监听的端口,就是访问的nginx服务器的端口。

server_name:真实服务器的名称,可以配成ip+端口或者域名+端口

location:把不同方式的请求定位到不同的处理方式上,这里我配置的是“/”,意思就是配置成nginx对"/"这种请求做转发

proxy_pass:转发到真实服务器的uri。这里就是拦截http:localhost:8089/,然后转发到http://localhost:8080

总结,nginx的使用很简单,只需要简单的配置就可以完成高性能的反向代理和负载均衡功能,有兴趣的同学可以在网上深入研究一下,然后把好的资源共享一下,我的邮箱[email protected]。

  

时间: 2024-12-24 16:30:21

32位windows下Nginx的简单使用及配置的相关文章

在32位Windows下安装Mongodb的过程:

在32位Windows下安装Mongodb的过程: 1.    下载Mongodb的zip文件 下载网站:https://fastdl.mongodb.org/win32/mongodb-win32-i386-2.6.9.zip 2.    将文件解压并放在D:\Mongodb(手动创建该目录) 3.    手动创建文件夹D:\Mongodb\data 4.    进入cmd,进入到D:\Mongodb\bin目录下 输入命令:mongod -dbpath "d:\Mongodb\data&qu

Windows下Nginx Virtual Host多站点配置详解

Windows下Nginx Virtual Host多站点配置详解 此教程适用于Windows系统已经配置好Nginx+Php+Mysql环境的同学. 如果您还未搭建WNMP环境,请查看 windows7配置Nginx+php+mysql教程. 先说明一下配置多站点的目的:在生产环境中,如果将系统所有代码文件都放在公开目录中,则很容易被查看到系统源码,这样是很不安全的,所以需要只公开index.php的入口文件目录.而同一个服务器中,可能运行多个系统,这样就必须公开多个入口文件目录,以便用不同的

windows下nginx+php简单配置

Nginx+php运行环境搭建 虽然目前nginx使用很广泛,在大陆主流的互联网站点或多或少会用到这个俄国人开发的小应用(占用资源小).但是我这个土鳖还是第一次自己独立配置,网上资料不少,但是还是遇到了些问题. 第一步,下载nginx和php.由于mysql已经在本机安装,就没有再重新安装mysql.安装mysql应该没什么问题,在其他开发环境的配置中也会使用,一般都很熟练了,也就不提mysql的安装和配置云云. Php在之前的测试环境中曾经下载过.我使用的版本是php5.2.14:nginx下

在64位windows下使用instsrv.exe和srvany.exe创建windows服务

在64位windows下使用instsrv.exe和srvany.exe创建windows服务 在32位的windows下,包括windows7,windows xp以及windows 2003,都可以使用instsrv.exe和srvany.exe来创建自定义的windows服务.比如,我们有一个bat文件,用于将指定的程序作为服务进行启动,使用一般的工具都不可以进行此类工作,而使用由windows 2003的资源工具包windows toolkit中所带的instsrv就可以. 详细的用法这

Windows下Nginx配置SSL实现Https访问(包含证书生成)

Vincent.李 Windows下Nginx配置SSL实现Https访问(包含证书生成) Windows下Nginx配置SSL实现Https访问(包含证书生成) 首先要说明为什么要实现https? HTTP全名超文本传输协议,客户端据此获取服务器上的超文本内容.超文本内容则以HTML为主,客户端拿到HTML内容后可根据规范进行解析呈现.因此,HTTP主要负责的是"内容的请求和获取".问题就出在这部分.行监控.劫持.阻挡等行为很容易导致网站泄密,一些关键参数比如登录密码开发者会在客户端

64位Windows下安装Redis教程

这篇文章主要介绍了64位Windows下安装Redis教程,本文使用Microsoft Open Tech group 在 GitHub上开发的一个Win64版本的Redis,需要的朋友可以参考下 Redis对于Linux是官方支持的,安装和使用没有什么好说的,普通使用按照官方指导,5分钟以内就能搞定.详情请参考:http://redis.io/download 但有时候又想在windows下折腾下Redis,可以从redis下载页面看到如下提示: 复制代码 代码如下: Win64 Unoffi

windows下nginx基本命令

Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启动: C:\server\nginx-1.0.2>start nginx 或 C:\server\nginx-1.0.2>nginx.exe 注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作. 2.停止: C:\server\nginx-1.0.2>nginx

Windows下Nginx的启动、停止等命令(转)

Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍.1.启动: C:\server\nginx-1.0.2>start nginx 或 C:\server\nginx-1.0.2>nginx.exe 注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作. 2.停止: C:\server\nginx-1.0.2>nginx

windows下nginx的启动关闭

Windows下Nginx的启动.停止等命令 在Windows下使用Nginx,我们需要掌握一些基本的操作命令,比如:启动.停止Nginx服务,重新载入Nginx等,下面我就进行一些简单的介绍. 1.启动: C:\server\nginx-1.0.2>start nginx 或 C:\server\nginx-1.0.2>nginx.exe 注:建议使用第一种,第二种会使你的cmd窗口一直处于执行中,不能进行其他命令操作. 2.停止: C:\server\nginx-1.0.2>ngin