全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 3657|回复: 10
打印 上一主题 下一主题

[nginx] Nginx反向代理应该怎么设置?

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-15 13:26:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是用的DIAVPS,买这个VPS目的就是想做反向链接,在转到另外一台服务器上,重装系统选项里面有Nginx+centos ,所以我就选了这个。

因为从来也没有接触过Nginx,更不知道怎么设置做反向代理!

现在我假设我有个域名www.a.com  已经A记录指向了站台VPS IP:1.1.1.1  想转向代理到 www.b.com 2.2.2.2

是不是只要编辑/usr/local/nginx/conf/nginx.conf ?  还是需要再编辑其他文件?

我现在的代码贴出来,请帮我看看!

user  www www;

worker_processes 1;

error_log  /home/logs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
        {
                use epoll;
                worker_connections 51200;
        }

http
        {
                include       mime.types;
                default_type  application/octet-stream;

                #charse  gb2312;

                server_names_hash_bucket_size 128;
                client_header_buffer_size 32k;
                large_client_header_buffers 4 32k;
                client_max_body_size 8m;

                sendfile on;
                tcp_nopush     on;

                keepalive_timeout 60;

                tcp_nodelay on;

                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_buffer_size 64k;
                fastcgi_buffers 4 64k;
                fastcgi_busy_buffers_size 128k;
                fastcgi_temp_file_write_size 128k;

                gzip on;
                gzip_min_length  1k;
                gzip_buffers     4 16k;
                gzip_http_version 1.0;
                gzip_comp_level 2;
                gzip_types       text/plain application/x-javascript text/css application/xml;
                gzip_vary on;

                #limit_zone  crawler  $binary_remote_addr  10m;

server
        {
                listen       80;
                server_name diahosting.com;
                index index.html index.htm index.php;
                root  /home/www;

                #limit_conn   crawler  20;

                #location /status {
                #stub_status        on;
                #access_log        off;
                #}

                location ~ .*\.(php|php5)?$
                        {
                                fastcgi_pass  unix:/tmp/php-cgi.sock;
                                #fastcgi_pass  127.0.0.1:9000;
                                fastcgi_index index.php;
                                include fcgi.conf;
                        }

                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }

                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }

                log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
                access_log  /home/logs/access.log  access;
        }

server
        {
                listen  80;
                server_name  status.lnmp.org;

                location / {
                        stub_status on;
                        access_log   off;
                }
        }
}

[ 本帖最后由 9500pro 于 2010-1-15 14:20 编辑 ]
2#
发表于 2010-1-15 13:50:04 | 只看该作者
3#
 楼主| 发表于 2010-1-15 13:54:15 | 只看该作者
原帖由 zyypp 于 2010-1-15 13:50 发表
http://www.91ai.net/thread-9010-1-1.html


我按了C大这个代码设置,但是一直不成功!
4#
发表于 2010-1-15 13:59:10 | 只看该作者
提示什么?!
5#
 楼主| 发表于 2010-1-15 14:13:44 | 只看该作者
这个是我按照C大的那个代码改的!不知道正确吗?

user  www www;

worker_processes 1;

error_log  /home/logs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
        {
                use epoll;
                worker_connections 51200;
        }

http
        {
                include       mime.types;
                default_type  application/octet-stream;

                #charse  gb2312;

                server_names_hash_bucket_size 128;
                client_header_buffer_size 32k;
                large_client_header_buffers 4 32k;
                client_max_body_size 8m;

                sendfile on;
                tcp_nopush     on;

                keepalive_timeout 60;

                tcp_nodelay on;

                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_buffer_size 64k;
                fastcgi_buffers 4 64k;
                fastcgi_busy_buffers_size 128k;
                fastcgi_temp_file_write_size 128k;

                gzip on;
                gzip_min_length  1k;
                gzip_buffers     4 16k;
                gzip_http_version 1.0;
              # gzip_comp_level 2;
                gzip_types       text/plain application/x-javascript text/css application/xml;

                gzip_types       text/plain application/x-javascript text/css text/xml image/gif image/jpeg application/atom+xml application/rss+x
ml text/vnd.wap.wml text/x-component application/octet-stream application/x-rar-compressed;
                gzip_vary on;
                       upstream bbc {
                 server 2.2.2.2:80;  ★★★★这里是www.b.com的IP地址 ★★★★
             }

                #limit_zone  crawler  $binary_remote_addr  10m;

server
  {
    listen       80;
    server_name  www.a.com;  ★★★★这里是www.a.com的地址 ★★★★
    if ($host != 'www.a.com' )  ★★★★这里是www.a.com的地址 ★★★★
    {
      rewrite ^/(.*)$ http://www.a.com/$1 permanent;  ★★★★这里是www.a.com的地址 ★★★★
    }
    index index.html index.htm index.php;
    root  /web/htdocs/;


#    location / {
#        proxy_pass              http://212.58.253.68/;
#        proxy_redirect          off;
#        proxy_set_header        X-Real-IP       $remote_addr;
#        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
#    }

location / {
             root    /web/htdocs/;
             proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
             proxy_max_temp_file_size 128m;
             proxy_pass    http://www.b.com; ★★★★这里是www.b.com的地址 ★★★★
}


    log_format  daigoulogs  '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" $http_x_forwarded_for';
    access_log  /web/logs/host/host.log  daigoulogs;
  }

  server
  {
    listen  80;
    server_name  www.a.com;  ★★★★这里是www.a.com的地址 ★★★★

                location / {
                        stub_status on;
                        access_log   off;
                }
        }
}

评分

参与人数 1威望 +25 收起 理由
wzwen + 25

查看全部评分

6#
 楼主| 发表于 2010-1-15 14:15:03 | 只看该作者
原帖由 zyypp 于 2010-1-15 13:59 发表
提示什么?!

没有提示,打都打不开!
7#
发表于 2010-1-15 14:36:13 | 只看该作者
user  www www;

worker_processes 1;

error_log  /home/logs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
        {
                use epoll;
                worker_connections 51200;
        }

http
        {
                include       mime.types;
                default_type  application/octet-stream;

                #charse  gb2312;

                server_names_hash_bucket_size 128;
                client_header_buffer_size 32k;
                large_client_header_buffers 4 32k;
                client_max_body_size 8m;

                sendfile on;
                tcp_nopush     on;

                keepalive_timeout 60;

                tcp_nodelay on;

                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_buffer_size 64k;
                fastcgi_buffers 4 64k;
                fastcgi_busy_buffers_size 128k;
                fastcgi_temp_file_write_size 128k;

                gzip on;
                gzip_min_length  1k;
                gzip_buffers     4 16k;
                gzip_http_version 1.0;
                gzip_comp_level 2;
                gzip_types       text/plain application/x-javascript text/css text/xml image/gif image/jpeg application/atom+xml application/rss+xml text/vnd.wap.wml text/x-component application/octet-stream application/x-rar-compressed;
                gzip_vary on;

server
  {
    listen       80;
    server_name  www.a.com;
    if ($host != 'www.a.com' )
    {
      rewrite ^/(.*)$ http://www.a.com/$1 permanent;
    }
    index index.html index.htm index.php;
    root  /web/htdocs/;

location / {
             root    /web/htdocs/;
             proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
             proxy_max_temp_file_size 128m;
             proxy_pass    http://www.b.com;
}


    log_format  daigoulogs  '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" $http_x_forwarded_for';
    access_log  /web/logs/host/host.log  daigoulogs;
  }

评分

参与人数 1威望 +25 收起 理由
wzwen + 25

查看全部评分

8#
发表于 2010-1-15 14:36:54 | 只看该作者
然后再 nginx -t 看看 什么提示
然后 重启 nginx 就行了
9#
发表于 2010-1-15 14:41:54 | 只看该作者
这个要收藏。学习。。。
10#
 楼主| 发表于 2010-1-15 15:38:04 | 只看该作者
好的,先试试,谢谢啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-7 17:45 , Processed in 0.079016 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表