Windowsnginx安装配置的方法(windowsnginx启动)

Windowsnginx安装配置的方法(windowsnginx启动)

浏览次数:
信息来源: 用户投稿
更新日期: 2026-04-21
文章简介

什么是nginx?nginx(enginex)是一款轻量级的web服务器、反向代理服务器及电子邮件(imap/pop3)代理服务器。反向代理(reverseproxy)方式是指以代理服务器来接受

2025阿里云双十一服务器活动

什么是nginx?

nginx(enginex)是一款轻量级的web服务器、反向代理服务器及电子邮件(imap/pop3)代理服务器。

反向代理(reverseproxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。可参考下图的示例:

安装与使用

发布版本分为linux和windows版本。

也可以下载源码,编译后运行。

从源代码编译nginx

把源码解压缩之后,在终端里运行如下命令:

https://www.fruan.com/post/configure

sudomakeinstall

默认情况下,nginx会被安装在/usr/local/nginx。通过设定编译选项,你可以改变这个设定。

windows安装

为了安装nginx/win32,需先下载它。然后解压之,然后运行即可。下面以c盘根目录为例说明下:

ginx-0.8.54startnginx

nginx/win32是运行在一个控制台程序,而非windows服务方式的。服务器方式目前还是开发尝试中。

nginx的使用比较简单,就是几条命令。

nginx-sstop快速关闭nginx,可能不保存相关信息,并迅速终止web服务。nginx-squit平稳关闭nginx,保存相关信息,有安排的结束web服务。nginx-sreload因改变了nginx相关配置,需要重新加载配置而重载。nginx-sreopen重新打开日志文件。nginx-cfilename为nginx指定一个配置文件,来代替缺省的。nginx-t不运行,而仅仅测试配置文件。nginx将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。nginx-v显示nginx的版本。nginx-v显示nginx的版本,编译器版本和配置参数。

如果不想每次都敲命令,可以在nginx安装目录下新添一个启动批处理文件startup.bat,双击即可运行。内容如下:

rem如果启动前已经启动nginx并记录下pid文件,会kill指定进程

rem测试配置文件语法正确性

nginx.exe-t-cconf/nginx.conf

rem按照指定配置去启动nginx

nginx.exe-cconf/nginx.conf

nginx.conf配置文件如下:

注:conf/nginx.conf是nginx的默认配置文件。你也可以使用nginx-c指定你的配置文件

#启动进程,通常设置成和cpu的数量相等

error_logd:/tools/nginx-1.10.1/logs/error.log;

error_logd:/tools/nginx-1.10.1/logs/notice.lognotice;

error_logd:/tools/nginx-1.10.1/logs/info.loginfo;

#pid文件,记录当前启动的nginx的进程id

pidd:/tools/nginx-1.10.1/logs/nginx.pid;

worker_connections1024;#单个后台workerprocess进程的最大并发链接数

#设定http服务器,利用它的反向代理功能提供负载均衡支持

#设定mime类型(邮件支持类型),类型由mime.types文件定义

included:/tools/nginx-1.10.1/conf/mime.types;

default_typeapplication/octet-stream;

log_formatmain'[$remote_addr]-[$remote_user][$time_local]"$request"'

'$status$body_bytes_sent"$http_referer"'

'"$http_user_agent""$http_x_forwarded_for"';

access_logd:/tools/nginx-1.10.1/logs/access.logmain;

#sendfile指令指定nginx是否调用sendfile函数(zerocopy方式)来输出文件,对于普通应用,

#必须设为on,如果用来进行下载等应用磁盘io重负载应用,可设置为off,以平衡磁盘与网络i/o处理速度,降低系统的uptime.

#监听80端口,80端口是知名端口号,用于http协议

server_namewww.helloworld.com;

rootd:_workspace\project\github\zp\springnotes\spring-security\spring-shiro\src\main\webapp;

proxy_connect_timeout180;

proxy_set_headerhost$host;

proxy_set_headerx-forwarder-for$remote_addr;

#反向代理的路径(和upstream绑定),location后面设置映射的路径

proxy_passhttp://zp_server1;

location~^/(images|javascript|js|css|flash|media|static)/{

rootd:_workspace\project\github\zp\springnotes\spring-security\spring-shiro\src\main\webapp\views;

#过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。

auth_basic_user_fileconf/htpasswd;

#错误处理页面(可选择性配置)

#error_page500502503504/50x.html;

}Windowsnginx安装配置的方法,windowsnginx启动

1.启动webapp,注意启动绑定的端口要和nginx中的upstream设置的端口保持一致。

2.更改host:在c:\windows\system32\drivers\etc目录下的host文件中添加一条dns记录

127.0.0.1www.helloworld.com

3.启动前文中startup.bat的命令

4.在浏览器中访问www.helloworld.com,不出意外,已经可以访问了。

负载均衡配置

上一个例子中,代理仅仅指向一个服务器。

网站在实际运营过程中,多半都是有多台服务器运行着同样的app,这时需要使用负载均衡来分流。

nginx也可以实现简单的负载均衡功能。

假设这样一个应用场景:将应用部署在192.168.1.11:80、192.168.1.12:80、192.168.1.13:80三台linux环境的服务器上。网站域名叫www.helloworld.com,公网ip为192.168.1.11。在公网ip所在的服务器上部署nginx,对所有请求做负载均衡处理。

#设定mime类型,类型由mime.type文件定义

include/etc/nginx/mime.types;

default_typeapplication/octet-stream;

access_log/var/log/nginx/access.log;

#设定负载均衡的服务器列表

upstreamload_balance_server{

#weigth参数表示权值,权值越高被分配到的几率越大

server192.168.1.11:80weight=5;

server192.168.1.12:80weight=1;

server192.168.1.13:80weight=6;

server_namewww.helloworld.com;

#对所有请求进行负载均衡请求

root/root;#定义服务器的默认网站根目录位置

indexindex.htmlindex.htm;#定义首页索引文件的名称

proxy_passhttp://load_balance_server;#请求转向load_balance_server定义的服务器列表

#以下是一些反向代理的配置(可选择性配置)

proxy_set_headerhost$host;

proxy_set_headerx-real-ip$remote_addr;

#后端的web服务器可以通过x-forwarded-for获取用户真实ip

proxy_set_headerx-forwarded-for$remote_addr;

proxy_connect_timeout90;#nginx跟后端服务器连接超时时间(代理连接超时)

proxy_send_timeout90;#后端服务器数据回传时间(代理发送超时)

proxy_read_timeout90;#连接成功后,后端服务器响应时间(代理接收超时)

proxy_buffer_size4k;#设置代理服务器(nginx)保存用户头信息的缓冲区大小

proxy_buffers432k;#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置

proxy_busy_buffers_size64k;#高负荷下缓冲大小(proxy_buffers*2)

proxy_temp_file_write_size64k;#设定缓存文件夹大小,大于这个值,将从upstream服务器传

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

client_body_buffer_size128k;#缓冲区代理缓冲用户端请求的最大字节数

}

那么,问题来了,用户在实际访问站点时,访问不同webapp,总不会还带着对应的端口号去访问吧。所以,你再次需要用到反向代理来做处理。

配置也不难,来看看怎么做吧:

serverwww.helloworld.com:8081;

serverwww.helloworld.com:8082;

serverwww.helloworld.com:8083;

proxy_passhttp://product_server;

proxy_passhttp://product_server;

proxy_passhttp://admin_server;

proxy_passhttp://finance_server;

#监听443端口。443为知名端口号,主要用于https协议

server_namewww.helloworld.com;

#ssl证书文件位置(常见证书文件格式为:crt/pem)

ssl_certificate_keycert.key;

#ssl配置参数(选择性配置)

ssl_session_cacheshared:ssl:1m;

ssl_ciphershigh:!anull:!md5;

ssl_prefer_server_cipherson;

indexindex.htmlindex.htm;

}

以上就是Windowsnginx安装配置的方法的详细内容,更多请关注主机测评网其它相关文章!

标签:
如何评估潜在供应商的网络风险(潜在供应商评价)
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!