分享好友 系统运维首页 频道列表

Windows上搭个Nginx集群环境玩玩 windows部署nginx

Nginx教程  2023-02-10 01:590

一、在windows上安装nginx

1、从这里下载nginx的windows版本

2、把压缩文件解压至c盘根目录,并将文件夹重命名成nginx

3、在conf目录下的nginx.conf文件中,指定一个不冲突的端口号,这里测试用8088,代码段如下:

server {
listen
8088;
server_name localhost;
}

4、打开cmd命令行,运行如下命令:

>cd c:\nginx
>nginx

好了,试试吧,打开浏览器,输入127.0.0.1:8088,如果出现下图,那就说明nginx服务器已经成功安装并已经在跑了。

Windows上搭个Nginx集群环境玩玩

二、简单配置一下,搞个负载均衡集群测试环境

这里我就只有一台电脑,2G的内存,由于不做性能测试,就用虚拟机算了,虚拟机我用的是VMware,下面描述一下整个测试环境吧:

*物理主机一台,CPU:core2 T5750,2G内存,Windows 7操作系统,IP地址192.168.1.98,主机名sxwgf-PC,该主机用来当作Nginx代理服务器(P)和一台Web服务器(A)

*在物理主机中开一台虚拟主机,Windows Server 2003操作系统,IP地址192.168.1.99,主机名hzdk-vpc,该主机用来当作另一台Web服务器(B)

1、打开conf目录下的nginx.conf,具体配置代码如下:

Windows上搭个Nginx集群环境玩玩
worker_processes  1;

events {
worker_connections
1024;
}

http {
include mime.types;
default_type application
/octet-stream;
sendfile on;
keepalive_timeout
65;

upstream wgf.com{
server
192.168.1.98; #真实服务器A(sxwgf-PC)
server 192.168.1.99; #真实服务器B(hzdk-vpc)
}

server {
#Nginx代理服务器
listen 8088;

server_name localhost;

location
/ {
root html;
index index.html index.htm;
proxy_pass http:
//wgf.com;
proxy_redirect
default;
}

error_page
500502503504/50x.html;
location
=/50x.html {
root html;
}

}
}
Windows上搭个Nginx集群环境玩玩

2、重启一下nginx吧,你可以在任务管理器中将原来的两个nginx进程结束然后按前面安装时的方法启动nginx,也可以直接输入命令:nginx -s reload来重启

3、准备两个完全一样的ASP.NET测试网站程序,分别放在主机A和虚拟主机B的IIS中,输入对应的ip地址试一下吧:

输入192.168.1.98

Windows上搭个Nginx集群环境玩玩

输入192.168.1.99

Windows上搭个Nginx集群环境玩玩

最后我们再来访问一下我们的nginx代理服务器,看看他能不能让我们访问到真实的服务器A和B,访问结果是每刷新一次就在A和B之间切换,好像我们在轮次访问A和B一样,但我们表面上都是访问的代理服务器127.0.0.1:8088,以下是截图:

Windows上搭个Nginx集群环境玩玩

刷新一次后:

Windows上搭个Nginx集群环境玩玩

这样就起到了简单的轮询访问的效果,一定程度上起到了负载分流的作用,当然这个是最简单,更高级的用法正在研究中。。。谢谢阅读!

一、在windows上安装nginx

1、从这里下载nginx的windows版本

2、把压缩文件解压至c盘根目录,并将文件夹重命名成nginx

3、在conf目录下的nginx.conf文件中,指定一个不冲突的端口号,这里测试用8088,代码段如下:

server {
listen
8088;
server_name localhost;
}

4、打开cmd命令行,运行如下命令:

>cd c:\nginx
>nginx

好了,试试吧,打开浏览器,输入127.0.0.1:8088,如果出现下图,那就说明nginx服务器已经成功安装并已经在跑了。

Windows上搭个Nginx集群环境玩玩

二、简单配置一下,搞个负载均衡集群测试环境

这里我就只有一台电脑,2G的内存,由于不做性能测试,就用虚拟机算了,虚拟机我用的是VMware,下面描述一下整个测试环境吧:

*物理主机一台,CPU:core2 T5750,2G内存,Windows 7操作系统,IP地址192.168.1.98,主机名sxwgf-PC,该主机用来当作Nginx代理服务器(P)和一台Web服务器(A)

*在物理主机中开一台虚拟主机,Windows Server 2003操作系统,IP地址192.168.1.99,主机名hzdk-vpc,该主机用来当作另一台Web服务器(B)

1、打开conf目录下的nginx.conf,具体配置代码如下:

Windows上搭个Nginx集群环境玩玩
worker_processes  1;

events {
worker_connections
1024;
}

http {
include mime.types;
default_type application
/octet-stream;
sendfile on;
keepalive_timeout
65;

upstream wgf.com{
server
192.168.1.98; #真实服务器A(sxwgf-PC)
server 192.168.1.99; #真实服务器B(hzdk-vpc)
}

server {
#Nginx代理服务器
listen 8088;

server_name localhost;

location
/ {
root html;
index index.html index.htm;
proxy_pass http:
//wgf.com;
proxy_redirect
default;
}

error_page
500502503504/50x.html;
location
=/50x.html {
root html;
}

}
}
Windows上搭个Nginx集群环境玩玩

2、重启一下nginx吧,你可以在任务管理器中将原来的两个nginx进程结束然后按前面安装时的方法启动nginx,也可以直接输入命令:nginx -s reload来重启

3、准备两个完全一样的ASP.NET测试网站程序,分别放在主机A和虚拟主机B的IIS中,输入对应的ip地址试一下吧:

输入192.168.1.98

Windows上搭个Nginx集群环境玩玩

输入192.168.1.99

Windows上搭个Nginx集群环境玩玩

最后我们再来访问一下我们的nginx代理服务器,看看他能不能让我们访问到真实的服务器A和B,访问结果是每刷新一次就在A和B之间切换,好像我们在轮次访问A和B一样,但我们表面上都是访问的代理服务器127.0.0.1:8088,以下是截图:

Windows上搭个Nginx集群环境玩玩

刷新一次后:

Windows上搭个Nginx集群环境玩玩

这样就起到了简单的轮询访问的效果,一定程度上起到了负载分流的作用,当然这个是最简单,更高级的用法正在研究中。。。谢谢阅读!

查看更多关于【Nginx教程】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
Nginx端口占用问题
错误信息:nginx: [emerg] listen() to 0.0.0.0:80, backlog 511 failed (98: Address already in use)主要是端口被占用,通过如下命令,可以查看该端口被那个应用占用:sudo netstat -ntpl 然后kill -9 PID将其杀死关闭即可解决

0评论2023-02-13565

Linux使用nginx反向代理。可实现域名指向特定端口
在配置80指向域名的时候出现端口占用,使用kill -9无法杀死端口,应使用下面的命令来杀死进程killall -9 nginx(使用完本命令需要再把配置过的配置文件重新启动。命令写在了PS下面)后在root权限下的nginx的sbin下使用./nginx -t(命令重启nginx并检查是否有语

0评论2023-02-13636

装tomcat和nginx心得
开机启动tomcat1:在/etc/rc.d/init.d目录下生成一个文件tomcat80802:在文件里添加如下内#!/bin/bash#2345 linux运行级别#10开机启动优先级,数值越大越排在前面,最大值100#90关机优先级#chkconfig:2345 10 90#description: tomcat8080 start....start(){ec

0评论2023-02-13333

nginx 之 proxy_pass的使用
使用注意事项proxy_pass在nginx中作代理转发使用。如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。第一种:location /proxy/

0评论2023-02-13675

用Nginx代理请求,处理前后端跨域 用nginx代理请求,处理前后端跨域文件
  自从前端spa框架出现后,都是前后端分离开发了。我们在开发的时候难免会遇到跨域的问题。跨域这种问题解决的方法基本都是在服务端实现的。以java为例,我知道的有3种方法处理跨域:  1.使用 @CrossOrigin 注解对每一个接口进行跨域处理,缺点是比较麻烦

0评论2023-02-13771

手动上传图片到nginx下可访问,程序上传后访问图片报403
1. 首先查看文件权限2. 初步确定是服务器权限问题2.1 解决方案一:更改文件权限2.2 解决方案二:修改nginx运行用户 1. 首先查看文件权限#指令如下ls -l2. 初步确定是服务器权限问题403 forbidden错误是禁止读取访问,也就是说服务器理解了请求,但是不允许访问

0评论2023-02-13745

check nginx配置文件错误:[emerg]: getpwnam(“nginx”) failed
 1、错误提示:[root@server include]# /application/nginx/sbin/nginx -t -c /applications/nginx/nginx/nginx.confnginx: [emerg] getpwnam("nginx") failed in /applications/nginx/nginx/nginx.conf:2nginx: configuration file /application/nginx/ngin

0评论2023-02-13620

Nginx 499的问题 PHP 异步 HTTP 与 NGINX 499
PHP 异步 HTTP在 PHP 代码中提交异步 HTTP 请求比较常用的方式是通过 fsockopen/fwrite/fclose 来实现,请参考如下代码。function post($host, $path, $port, $data) {$post = http_build_query($data);$len = strlen($post);$fp = fsockopen($host, $port,

0评论2023-02-13458

nginx FastCGI模块(FastCGI)配置
http://www.howtocn.org/nginx:nginx%E6%A8%A1%E5%9D%97%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%89%88:standardhttpmodules:fastcginginx官方文档:http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html 摘要这个模块允许nginx

0评论2023-02-10486

nginx+tomcat反向代理下使用tomcat-redis-session-manager进行session共享中值得注意的一个问题
公司目前项目使用nginx反向代理+多个tomcat进行负载均衡,之前使用ip_hash策略进行session控制。近期有考虑不再使用ip_hash策略,所以需要进行session共享。根据项目实际情况,拟考虑使用开发配置比较简单,应用比较广泛的tomcat-redis-session-manager方式进

0评论2023-02-10303

更多推荐