Nginx配置反向代理实例

阿里云主机一台,模拟对外主机。美国主机一台,模拟服务器A,本机模拟服务器 B,使用阿里云主机搭建vpn,美国主机和本地主机都使用不同账号链接,分别得到内网ip:192.168.1.101(本机),192.168.1.102(美国)。注:这里是模拟局域网,也可以直接指向公网ip或域名,需要设置下css和js即可。

本机和美国主机都安装配置好nginx,配置.本机完整配置如下:88端口

worker_processes  1;

pid     logs/nginx.pid;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {

listen       88;

server_name  localhost;

location / {

root   e:/textweb/;

index  index.html index.htm;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;} }}

美国主机配置如下:89端口

worker_processes  1;

pid     logs/nginx.pid;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

server {

listen       89

server_name  localhost;

location / {

root   c:/textweb/;

index  index.html index.htm;

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;} }}

阿里云主机配置:

worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

upstream myServer{ #配置代理服务器列组

#ip_hash;每个客户端分配固定的主机,防止session丢失,不可以和weight=8同时使用

server 192.168.1.102:89 weight=8; #设置权重,权重越大被分配的概率越大

server 192.168.1.101:88 weight=5;

}

server {

listen       80; #对外端口

server_name  nginx.vsalw.com; #对外域名

location / {

#root   html;

index  index.html index.htm;

proxy_pass http://myServer; #使用代理服务器组

}

error_page   500 502 503 504  /50x.html;

location = /50x.html {

root   html;

}

location ~* .(gif|jpg|jpeg|png|bmp|html|htm|flv|swf|ico)$ {

root html;   #图片和静态文件从本地读取

add_header Last-Modified $date_gmt;

add_header Via $server_addr;

expires 30d;

}

location ~ .*.(js|css)?${

proxy_pass http://myserver#使用代理那边的样式

add_header Last-Modified $date_gmt;

add_header Via $server_addr;

expires      1h;

}

}

}

这样访问的时候会在美国和本机之间切换,如果一个挂了会切换到另一个上

WindowsNginx的启动、停止等命令     1、启动:

C:\server\nginx-1.0.2>start nginx

2、停止:

C:\server\nginx-1.0.2>nginx.exe -s stop

C:\server\nginx-1.0.2>nginx.exe -s quit 注:stop是快速停止nginx,可能并不保存相关信息;quit是完整有序的停止nginx,并保存相关信息。

3、重新载入Nginx:

C:\server\nginx-1.0.2>nginx.exe -s reload

当配置信息修改,需要重新载入这些配置时使用此命令。

4、重新打开日志文件:

C:\server\nginx-1.0.2>nginx.exe -s reopen

5、查看Nginx版本:

C:\server\nginx-1.0.2>nginx -v

LinuxNginx的启动、停止等命令

启动:/usr/local/nginx/sbin/nginx  这里是默认安装路径

停止:/usr/local/nginx/sbin/nginx  -s  stop

检测配置: /usr/local/nginx/sbin/nginx  -t

重新加载配置文件: /usr/local/nginx/sbin/nginx  -s  reload