VPS侦探论坛

 找回密码
 注册
查看: 6221|回复: 7

军哥给看一下吧,301转向的问题

[复制链接]
发表于 2013-1-12 17:26:06 | 显示全部楼层 |阅读模式

今天打算做个301转向
这个是我做好后的/usr/local/nginx/conf/nginx.conf
user  www www;
worker_processes 1;
error_log  /dev/null;
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;
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 50m;
  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 256k;
                fastcgi_intercept_errors on;
  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;
  #log format
  log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
server
{
  listen       80;
  server_name www.xxx.com xxx.com;
  index index.html index.htm index.php;
  root  /home/wwwroot;
location ~ .*\.(php|php5)?$
   {
    fastcgi_pass  unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include fcgi.conf;
   }
  location /p5ma/status {
   stub_status on;
   access_log   off;
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
   {
    expires      30d;
   }
  location ~ .*\.(js|css)?$
   {
    expires      12h;
   }
}
server {
                listen       80;
                server_name www.xxx.com xxx.com;
                if ($host = 'xxx.com') {
                rewrite ^/(.*)$ http://www.xxx.com/$1 permanent;
                }
}
include vhost/*.conf;
}
也就是在最后加上了一段:
server {
                listen       80;
                server_name www.xxx.com xxx.com;
                if ($host = 'xxx.com') {
                rewrite ^/(.*)$ http://www.xxx.com/$1 permanent;
                }
}

做好后,测试了一下:
测试nginx.conf正确性:
/usr/local/nginx/sbin/nginx -t
没改前是:
[root@centosos ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
加上后:
[root@centosos ~]# /usr/local/nginx/sbin/nginx -t
nginx: [warn] conflicting server name "www.xxx.com" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "xxx.com" on 0.0.0.0:80, ignored
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
百度了一下,nginx: [warn] conflicting server name "www.xxx.com" on 0.0.0.0:80, ignored
没有搞明白,所以不敢往下做了
想问一下军哥,这个正常不?该怎么做?
谢谢了

[ 本帖最后由 secendday 于 2013-1-12 19:32 编辑 ]
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2013-1-12 18:28:27 | 显示全部楼层


提示的域名添加了多次
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2013-1-12 18:43:19 | 显示全部楼层

可下面是军哥在论坛里给的
好象也是添加了两次
军哥给的
server {
                listen       80;
                server_name www.gyquan.com;
                index index.html index.htm index.php default.html default.htm default.php;
                root  /home/wwwroot/www.gyquan.com;

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

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

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

                access_log off;
        }

server {
                listen       80;
                server_name www.域名.com 域名.com;
                if ($host != 'www.域名.com' ) {
                rewrite ^/(.*)$ http://bbs.域名.com/$1 permanent;
                }
}

和我这个应该是一样的吧?
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2013-1-12 18:46:17 | 显示全部楼层



我就一个站,应该怎么修改?军哥,谢谢了
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2013-1-12 18:57:30 | 显示全部楼层

改成这样行不行?
server
{
  listen       80;
  server_name www.xxx.com xxx.com;
  index index.html index.htm index.php;
  root  /home/wwwroot;


              if ($host = 'xxx.com') {
                rewrite ^/(.*)$ http://www.xxx.com/$1 permanent;
                }





                error_page 404 /404.html;
  location ~ .*\.(php|php5)?$
   {
    try_files $uri =404;
    fastcgi_pass  unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include fcgi.conf;
   }
  location /p5ma/status {
   stub_status on;
   access_log   off;
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
   {
    expires      30d;
   }
  location ~ .*\.(js|css)?$
   {
    expires      12h;
   }
  access_log  /home/wwwlogs/access.log access;
}
server {
                listen       80;
                server_name www.xxx.com xxx.com;
  }
include vhost/*.conf;
}



也行就是用一个server {
                listen       80;


              if ($host = 'xxx.com') {
                rewrite ^/(.*)$ http://www.xxx.com/$1 permanent;
                }
加到
server
{
  listen       80;
  server_name www.xxx.com xxx.com;
  index index.html index.htm index.php;
  root  /home/wwwroot;
下面?
这个是否可行?谢谢

[ 本帖最后由 secendday 于 2013-1-12 18:59 编辑 ]

军哥运维代购:http://shop63846532.taobao.com/

 楼主| 发表于 2013-1-12 19:23:29 | 显示全部楼层

上面是方法一

下面是方法二:
server
        {
                listen       80;
                server_name www.zmanhua.com;
                index index.html index.htm index.php default.html default.htm default.php;
                root  /home/wwwroot/zmanhua.com;
。。。。。。。
        }

server {
server_name zmanhua.com;
rewrite ^/(.*)$ http://www.zmanhua.com$1 permanent;
}
注意一点:前面的server name只能包含带www的哦,不带www的写下面


方法一 和 方法二 哪个更好一些?谢谢

[ 本帖最后由 secendday 于 2013-1-12 19:45 编辑 ]
发表于 2013-1-12 21:03:36 | 显示全部楼层

方法一 和 方法二 一样
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
 楼主| 发表于 2013-1-13 05:40:15 | 显示全部楼层

谢谢 军哥,使用了方法二
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-9-24 05:25 , Processed in 0.027702 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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