nginx创建反向代理和虚拟主机的例子,有需要的朋友可以参考下。
windows环境下做Nginx实验,用NPMserv工具搭建好系统运行环境。
1.编辑nginxconfnginx.conf
添加修改以下内容:
#user nobody;
worker_processes 1;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
events {
worker_connections 64;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $request '
# '"$status" $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#设定请求缓冲
client_header_buffer_size 1k;
large_client_header_buffers 4 4k;
#开启gzip模块
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 1 32k;
postpone_output 1460;
#指向本地服务器的不同端口做虚拟主机
upstream web1.jb200.com {
server 192.168.70.199:8001;
}
upstream web2.jb200.com {
server 192.168.70.199:8002;
}
upstream web3.jb200.com {
server 192.168.70.199:8003;
}
#指向其他服务器做反向代理
upstream www.jb200.com {
server 192.168.70.17:80;
}
#整站做反向代理
server {
listen 80;
server_name www.jb200.com;
#charset koi8-r;
access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://www.jb200.com;
include proxy.conf;
}
}
#将某个虚拟目录做反向代理
server {
listen 80;
server_name app.jb200.com;
#charset koi8-r;
access_log logs/host.access.log main;
location / {
#root html;
index index.html index.htm;
proxy_pass http://www.jb200.com/apps/home/;
include proxy.conf;
}
}
#为本地虚拟主机web3做反向代理
server {
listen 80;
server_name web3.jb200.com;
#charset koi8-r;
access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://web3.jb200.com;
include proxy.conf;
}
#location /NginxStatus {
# stub_status on;
# access_log on;
#auth_basic "NginxStatus";
#auth_basic_user_file conf/htpasswd;
#}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to apache listening on 127.0.0.1:80
#
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to fastcgi server listening on 127.0.0.1:9000
#
#location ~ .php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /.ht {
# deny all;
#}
}
# 以下为指定虚拟机及端口号
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
server {
listen 8001;
server_name web1.jb200.com;
access_log logs/jbxue1.access.log main;
location / {
index index.html;
root html1;
}
}
server {
listen 8002;
server_name web2.jb200.com;
access_log logs/jbxue2.access.log main;
location / {
index index.html;
root html2;
}
}
server {
listen 8003;
server_name web3.jb200.com;
access_log logs/jbxue3.access.log main;
location / {
index index.html;
root html3;
}
}
}
2.vi proxy.conf
3.重启nginx
4.测试:可以修改本地的host文件试试效果
127.0.0.1 web1.jb200.com
127.0.0.1 web2.jb200.com
127.0.0.3 web3.jb200.com
在nginx下复制html文件夹为html1、html2、html3,即对应虚拟主机的主目录,然后进行测试。
您可能感兴趣的文章:
Nginx负载均衡与反向代理的例子(图文)
Nginx Proxy 代理配置图片缓存的实例参考
nginx正向代理配置简单一例
nginx反向代理配置简单示例
学习Nginx反向代理实现简单负载均衡(图文)
nginx缓存html静态文件 解析php及反向代理IIS的配置
nginx中配置proxy正向代理
Nginx实现简单的反向代理
nginx的反向代理配置与优化
nginx反向代理与varnish缓存配置
nginx反向代理与负载均衡
Nginx 反向代理的小例子
nginx反向代理与缓存详解
nginx反向代理配置一例
Nginx反向代理Nginx
nginx反向代理配置和优化
Nginx Proxy代理和图片缓存配置
nginx配置反向代理的简单示例