找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: gudu19882003

LANMP的伪静态应该用apache的还是nginx的?

[复制链接]

56

主题

336

回帖

850

积分

高级会员

积分
850
发表于 2011-1-18 18:55:12 | 显示全部楼层
原帖由 风声 于 2011-1-18 19:50 发表


我已经被你们折腾死了,到底是NGINX还是APACHE?

结论给过了,理由也给过了。
众说纷纭,自然大家都希望你信他的,但到底信谁的你自己决定吧。
回复

使用道具 举报

374

主题

4478

回帖

1万

积分

论坛元老

积分
10136
发表于 2011-1-18 19:18:08 | 显示全部楼层


用后端apache的配置
回复

使用道具 举报

56

主题

336

回帖

850

积分

高级会员

积分
850
发表于 2011-1-18 19:49:23 | 显示全部楼层
很奇怪。  LANMP1.0 的  REWRITE  直接放在 .HTACCESS 就可以

貌似没有再NGINX 那边再做设置 。不知道  1.0的那个一键包 和2楼达人 的方法有何不同
直接用.htaccess不行么? 我测试lanmP1.0 直接 .htaccess 就可以了啊
回复

使用道具 举报

21

主题

60

回帖

193

积分

注册会员

积分
193
发表于 2011-1-18 19:50:49 | 显示全部楼层
原帖由 eudx 于 2011-1-18 21:14 发表


很奇怪。  LANMP1.0 的  REWRITE  直接放在 .HTACCESS 就可以

貌似没有再NGINX 那边再做设置 。不知道  1.0的那个一键包 和2楼达人 的方法有何不同
直接用.htaccess不行么? 我测试lanmP1.0 直接 .htaccess 就可以了 ...

我给了两种处理办法,两种都写了理由。
回复

使用道具 举报

165

主题

3251

回帖

7045

积分

论坛元老

积分
7045
发表于 2011-1-18 20:04:53 | 显示全部楼层
不懂不懂~~原帖由 windywinter 于 2011-1-18 20:41 发表



结论给过了,理由也给过了。
众说纷纭,自然大家都希望你信他的,但到底信谁的你自己决定吧。

谢谢 上次读 没太读明白。。 这次仔细看了下 。理解了些

还有不明白的[ol]
  • # proxy the PHP scripts to Apache listening on 127.0.0.1:81
  • location ~ \.php$ {
  •         proxy_pass http://127.0.0.1:81;
  •         include proxy_params;
  • }[/ol]复制代码是不是之这样写就行了?  nginx绑定好网站的目录。 然后APACHE配置不用设置什么, 就实现了 访问的静态文件都是NGINX处理的,PHP 是由apache处理的
    ----------


    下面是  lanmp1.0自动生成的VHOST[ol]
  • server {
  • error_log /usr/local/nginx/logs/test1.test.com-error_log warn;
  • listen 222.222.222.222:80;
  • server_name test1.test.com www.test1.test.com test.com www.test.com;
  • access_log off;
  • location ~ .*\.(jpg|jpeg|png|gif|bmp|ico|js|css|mp3|wav|swf|mov|doc|pdf|xls|ppt|docx|pptx|xlsx)$ {
  • access_log /usr/local/apache/domlogs/test1.test.com combined;
  • root /home/test/public_html;
  • expires 7d;
  • try_files $uri @backend;
  • }
  • error_page 400 401 402 403 404 405 406 407 408 409 500 501 502 503 504 @backend;
  • location @backend {
  • internal;
  • client_max_body_size    100m;
  • client_body_buffer_size 128k;
  • proxy_send_timeout   300;
  • proxy_read_timeout   300;
  • proxy_buffer_size    4k;
  • proxy_buffers     16 32k;
  • proxy_busy_buffers_size 64k;
  • proxy_temp_file_write_size 64k;
  • proxy_connect_timeout 30s;
  • proxy_redirect http://test1.test.com:81 http://test1.test.com;
  • proxy_redirect http://www.test1.test.com:81 http://www.test1.test.com;
  • proxy_pass http://222.222.222.222:81;
  • proxy_set_header   Host   $host;
  • proxy_set_header   X-Real-IP  $remote_addr;
  • proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  • }
  • location ~* \.(ftpquota|htaccess|asp|aspx|jsp|asa|mdb)$ {
  • deny  all;
  • }
  • location / {
  • client_max_body_size    100m;
  • client_body_buffer_size 128k;
  • proxy_send_timeout   300;
  • proxy_read_timeout   300;
  • proxy_buffer_size    4k;
  • proxy_buffers     16 32k;
  • proxy_busy_buffers_size 64k;
  • proxy_temp_file_write_size 64k;
  • proxy_connect_timeout 30s;
  • proxy_redirect http://test1.test.com:81 http://test1.test.com;
  • proxy_redirect http://www.test1.test.com:81 http://www.test1.test.com;
  • proxy_pass http://222.222.222.222:81/;
  • proxy_set_header   Host   $host;
  • proxy_set_header   X-Real-IP  $remote_addr;
  • proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  • }
  • }[/ol]复制代码效果 和上面的一样么?谢谢了。实在头晕了。好想用上lanmp啊
  • 回复

    使用道具 举报

    86

    主题

    908

    回帖

    2128

    积分

    金牌会员

    积分
    2128
    发表于 2011-1-18 20:41:01 | 显示全部楼层
    我需要恪守一个原则,即我不能无偿完整的给出适用于某一个站或某一个人的配置文件,希望你能理解。

    配置Apache时要当作没有Nginx前端,即该怎么配置怎么配置,除了监听的端口不一样,以及不用配置SSL(配了也没事)。

    Nginx的配置文件大概应该是这样的:[ol]
  • server {
  •         listen   ...;
  •         server_name xxx;
  •         root xxx;
  •         index xxx;
  •         #rewrite规则写在下面
  •         rewrite xxx;
  •         rewrite xxx2;
  •         # proxy the PHP scripts to Apache listening on 127.0.0.1:81
  •         location ~ \.php$ {
  •                 proxy_pass http://127.0.0.1:81;
  •                 include proxy_params;
  •         }
  •         ...
  • }[/ol]复制代码上面这种写法,适用于你能够写出完整、正确的rewrite规则,即uri经过你的rewrite规则,最后都会变成实际存在的静态文件或.php文件。如果你给不出这样的规则,但是你能够给出Apache的rewrite规则,那么可以把上面的rewrite xxx替换成下面这一段,把rewrite的任务交给Apache。[ol]
  •         try_files $uri $uri/ @apache;
  •         location @apache {
  •                 proxy_pass http://127.0.0.1:81;
  •                 include proxy_params;
  •         }[/ol]复制代码我给出的第一种写法与lnamp 1.0生成的vhost文件效果是不一样的。lnamp 1.0直接将rewrite的任务交给了Apache,与我给出的第二种写法类似。
    我想我举个例子你就知道问题在哪了——如果有一条rewrite规则是/archive/110 => /cache/110.html,那么rewrite在nginx写和rewrite在Apache写就有了本质区别——写在nginx中,110.html由nginx返回给客户端,写在Apache中,110.html是由Apache通过ngnix返回给客户端。如果你的网页都是这种情况,那还要nginx前端干什么?
  • 回复

    使用道具 举报

    206

    主题

    1511

    回帖

    3692

    积分

    论坛元老

    积分
    3692
    发表于 2011-1-18 21:11:19 | 显示全部楼层
    谢谢

    。 我要慢慢理解  关于rewrite写在哪里 已经稍微明白一点了。放在APACHE里好像处理REWRITE就要多步骤
    不看rewrite的话  lanmp1.0 的处理PHP 的方式应该和
    笔记里说的大概相同吧
    我看 lanmp1.0 没有 location ~ \.php$

    而是 location ~ .*\.(jpg|jpeg|png|gif|bmp|ico|js|css|mp3|wav|swf|mov|doc|pdf|xls|ppt|docx|pptx|xlsx)
    只处理静态文件 然后剩下的PHP 由 APACHE来处理
    是这样的吧  这样的效果应该是一样的吧

    [ 本帖最后由 eudx 于 2011-1-19 00:30 编辑 ]
    回复

    使用道具 举报

    165

    主题

    3251

    回帖

    7045

    积分

    论坛元老

    积分
    7045
    发表于 2011-1-18 21:14:32 | 显示全部楼层
    lanmp 1.0列举了一些静态文件,归nginx处理,余者归apache。但是里面少了html、txt等等。
    location ~ \.php$这个写法是指定php归apache处理,其他的由nginx另想办法。
    回复

    使用道具 举报

    165

    主题

    3251

    回帖

    7045

    积分

    论坛元老

    积分
    7045
    发表于 2011-1-18 21:27:42 | 显示全部楼层
    感谢。哈哈  我去多折腾折腾。


    我这菜鸟也要进步的嘛
    回复

    使用道具 举报

    206

    主题

    1511

    回帖

    3692

    积分

    论坛元老

    积分
    3692
    发表于 2011-1-18 21:32:35 | 显示全部楼层
    弄了半天 nginx 的rewrite 愣是没起作用 规则改了好多次 DZ1.5的
    哎。只好用APACHE的REWRITE
    回复

    使用道具 举报

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

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-1-11 17:58 , Processed in 0.025148 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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