Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 求助:独立主机nignx服务器如何配置静态化??~~~~~~~~~

[复制链接]
dccpower 发表于 2010-10-28 19:35:00 | 显示全部楼层 |阅读模式
RT

使用的独立主机,听说nginx性能好些,我使用了LNMP组合来配置服务器,

之后的网站数据迁移一切顺利,网站首页能打开,可以进后台,但是论坛以及别的频道的列表页以及内容页都打不开。

均显示404页面。

当后台取消优化时,上述问题消失。

我尝试采用两种方式实现静态化

一:直接在nginx.conf文件里的server里添加静态规则:

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



      rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
      rewrite ^([^\.]*)/article-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page={page} last;
      rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
      rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
      rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
      rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
      rewrite ^([^\.]*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3 last;
        if (!-e $request_filename) {
        return 404;
}


二:在这个文件里inclued  /home/www/wwwroot/.htaceess

然后把.htaceess文件上传至网站根目录下



现在两种方法均失败!



谁能帮忙指点一下??????
huanghua581 发表于 2010-10-28 21:17:41 | 显示全部楼层
本帖最后由 huanghua581 于 2010-10-28 21:25 编辑

server
  {
    listen       80;
    server_name  www.hhhhhh.com;
    index index.html index.htm index.php;
    root  /home/www/wwwroot;  
    location / {
      rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
      rewrite ^([^\.]*)/article-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page={page} last;
      rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
      rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
      rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
      rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
      rewrite ^([^\.]*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3 last;
      if (!-e $request_filename) {
        return 404;
       }
    }        
}

注: 括号看清楚了,nginx 不使用 .htaceess。
回复

使用道具 举报

 楼主| dccpower 发表于 2010-10-28 21:27:36 | 显示全部楼层
回复 huanghua581 的帖子

谢谢您!

现在我尝试用您指点的方法来更改配置

但是在启动时出现以下提示:

[root@159 ~]# service nginx start
Starting nginx: [emerg]: directive "rewrite" is not terminated by ";" in /usr/local/nginx/conf/nginx.conf:60

这是什么原因啊??
回复

使用道具 举报

 楼主| dccpower 发表于 2010-10-28 21:28:36 | 显示全部楼层
回复 huanghua581 的帖子

谢谢您!!

我按照您的指点来配置,当启动时出现如下提示:

[root@159 ~]# service nginx start
Starting nginx: [emerg]: directive "rewrite" is not terminated by ";" in /usr/local/nginx/conf/nginx.conf:60
这是什么原因啊?
回复

使用道具 举报

 楼主| dccpower 发表于 2010-10-28 21:28:57 | 显示全部楼层
[root@159 ~]# service nginx start
Starting nginx: [emerg]: directive "rewrite" is not terminated by ";" in /usr/local/nginx/conf/nginx.conf:60
回复

使用道具 举报

huanghua581 发表于 2010-10-28 21:35:34 | 显示全部楼层

server
  {
    listen       80;
    server_name  www.hhhhhh.com;
    index index.html index.htm index.php;
    root  /home/www/wwwroot;  
    location / {
      rewrite "^([^\.]*)/topic-(.+)\.html$" $1/portal.php?mod=topic&topic=$2 last;
      rewrite "^([^\.]*)/article-([0-9]+)\.html$" $1/portal.php?mod=view&aid=$2&page={page} last;
      rewrite "^([^\.]*)/forum-(\w+)-([0-9]+)\.html$" $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
      rewrite "^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
      rewrite "^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$" $1/forum.php?mod=group&fid=$2&page=$3 last;
      rewrite "^([^\.]*)/space-(username|uid)-(.+)\.html$" $1/home.php?mod=space&$2=$3 last;
      rewrite "^([^\.]*)/([a-z]+)-(.+)\.html$" $1/$2.php?rewrite=$3 last;
      if (!-e $request_filename) {
        return 404;
       }
    }        
}

重新试试 这个。。
回复

使用道具 举报

huanghua581 发表于 2010-10-28 21:44:34 | 显示全部楼层
或者去掉
if (!-e $request_filename) {
        return 404;
       }
回复

使用道具 举报

 楼主| dccpower 发表于 2010-10-28 21:47:53 | 显示全部楼层
晕,还是404
回复

使用道具 举报

 楼主| dccpower 发表于 2010-10-28 21:48:43 | 显示全部楼层
回复 huanghua581 的帖子

即使去掉404,后台更新缓存,打开内容页面,晕,还是404
回复

使用道具 举报

 楼主| dccpower 发表于 2010-10-28 21:49:32 | 显示全部楼层
本帖最后由 dccpower 于 2010-10-28 21:51 编辑

回复 huanghua581 的帖子

user  www www;

worker_processes 4;

error_log  logs/nginx_error.log  crit;

pid        logs/nginx.pid;

worker_rlimit_nofile 65535;

events
{
  use epoll;
  worker_connections 65535;
}

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

  #charset  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;

  server
  {
    listen       80;
    server_name  www.hhhhhhhhh.com  hhhhhhhh.com;
    index index.html index.htm index.php;
    root  /home/www/wwwroot;
    location / {
      rewrite "^([^\.]*)/topic-(.+)\.html$" $1/portal.php?mod=topic&topic=$2 last;
      rewrite "^([^\.]*)/article-([0-9]+)\.html$" $1/portal.php?mod=view&aid=$2&page={page} last;
      rewrite "^([^\.]*)/forum-(\w+)-([0-9]+)\.html$" $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
      rewrite "^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$" $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
      rewrite "^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$" $1/forum.php?mod=group&fid=$2&page=$3 last;
      rewrite "^([^\.]*)/space-(username|uid)-(.+)\.html$" $1/home.php?mod=space&$2=$3 last;
      rewrite "^([^\.]*)/([a-z]+)-(.+)\.html$" $1/$2.php?rewrite=$3 last;
    }  
    }        
                             
    location ~ .*\.php?$
    {      
      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      1h;
    }   

    access_log  off;
      }

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-5-18 15:44 , Processed in 0.141651 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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