全球主机交流论坛

标题: LANMP的伪静态应该用apache的还是nginx的? [打印本页]

作者: gudu19882003    时间: 2011-1-18 17:31
标题: LANMP的伪静态应该用apache的还是nginx的?
很菜,用这个不知道伪静态用什么?求解
作者: windywinter    时间: 2011-1-18 17:32
http://www.gebi.eu.org/thread-44432-1-1.html
配置Nginx那一节,往下多看几段。
作者: gudu19882003    时间: 2011-1-18 17:39
谢谢楼上
作者: Rey    时间: 2011-1-18 17:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: qiqi13245    时间: 2011-1-18 18:17
lanmp我的规则是nginx的
作者: 风声    时间: 2011-1-18 18:23
我日,楼上2个是不是说真的?
吧配置贴出来
作者: sbbaa    时间: 2011-1-18 18:42
提示: 作者被禁止或删除 内容自动屏蔽
作者: yculer    时间: 2011-1-18 18:48
交给apache处理会方便点。
作者: Zeddicus    时间: 2011-1-18 18:54
交给APACHE好,灵活
作者: 风声    时间: 2011-1-18 18:54
给个典型的DX1.5的配置吧
作者: Rey    时间: 2011-1-18 18:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 风声    时间: 2011-1-18 19:18
原帖由 Rey 于 2011-1-18 18:59 发表

http://www.mgrei.com/archives/206.html 这个是我自己用的安装步骤,采用的是apache的规则



这个女神的好像还没优化好,跑在毒妇上好像不怎么好.
作者: qiqi13245    时间: 2011-1-18 19:49
原帖由 风声 于 2011-1-18 19:18 发表



这个女神的好像还没优化好,跑在毒妇上好像不怎么好.

伪静态规则用nginx
作者: 风声    时间: 2011-1-18 19:50
我已经被你们折腾死了,到底是NGINX还是APACHE?
作者: sbbaa    时间: 2011-1-18 20:04
提示: 作者被禁止或删除 内容自动屏蔽
作者: windywinter    时间: 2011-1-18 20:41
原帖由 风声 于 2011-1-18 19:50 发表
我已经被你们折腾死了,到底是NGINX还是APACHE?

结论给过了,理由也给过了。
众说纷纭,自然大家都希望你信他的,但到底信谁的你自己决定吧。
作者: 诡谲    时间: 2011-1-18 21:11
用后端apache的配置
作者: eudx    时间: 2011-1-18 21:14
很奇怪。  LANMP1.0 的  REWRITE  直接放在 .HTACCESS 就可以

貌似没有再NGINX 那边再做设置 。不知道  1.0的那个一键包 和2楼达人 的方法有何不同
直接用.htaccess不行么? 我测试lanmP1.0 直接 .htaccess 就可以了啊
作者: windywinter    时间: 2011-1-18 21:27
原帖由 eudx 于 2011-1-18 21:14 发表
很奇怪。  LANMP1.0 的  REWRITE  直接放在 .HTACCESS 就可以

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

我给了两种处理办法,两种都写了理由。
作者: yansthisisit    时间: 2011-1-18 21:32
不懂不懂~~
作者: eudx    时间: 2011-1-18 22:14
原帖由 windywinter 于 2011-1-18 20:41 发表

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

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

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


下面是  lanmp1.0自动生成的VHOST
  1. server {
  2. error_log /usr/local/nginx/logs/test1.test.com-error_log warn;
  3. listen 222.222.222.222:80;
  4. server_name test1.test.com www.test1.test.com test.com www.test.com;
  5. access_log off;
  6. location ~ .*\.(jpg|jpeg|png|gif|bmp|ico|js|css|mp3|wav|swf|mov|doc|pdf|xls|ppt|docx|pptx|xlsx)$ {
  7. access_log /usr/local/apache/domlogs/test1.test.com combined;
  8. root /home/test/public_html;
  9. expires 7d;
  10. try_files $uri @backend;
  11. }
  12. error_page 400 401 402 403 404 405 406 407 408 409 500 501 502 503 504 @backend;
  13. location @backend {
  14. internal;
  15. client_max_body_size    100m;
  16. client_body_buffer_size 128k;
  17. proxy_send_timeout   300;
  18. proxy_read_timeout   300;
  19. proxy_buffer_size    4k;
  20. proxy_buffers     16 32k;
  21. proxy_busy_buffers_size 64k;
  22. proxy_temp_file_write_size 64k;
  23. proxy_connect_timeout 30s;
  24. proxy_redirect http://test1.test.com:81 http://test1.test.com;
  25. proxy_redirect http://www.test1.test.com:81 http://www.test1.test.com;
  26. proxy_pass http://222.222.222.222:81;
  27. proxy_set_header   Host   $host;
  28. proxy_set_header   X-Real-IP  $remote_addr;
  29. proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  30. }
  31. location ~* \.(ftpquota|htaccess|asp|aspx|jsp|asa|mdb)$ {
  32. deny  all;
  33. }
  34. location / {
  35. client_max_body_size    100m;
  36. client_body_buffer_size 128k;
  37. proxy_send_timeout   300;
  38. proxy_read_timeout   300;
  39. proxy_buffer_size    4k;
  40. proxy_buffers     16 32k;
  41. proxy_busy_buffers_size 64k;
  42. proxy_temp_file_write_size 64k;
  43. proxy_connect_timeout 30s;
  44. proxy_redirect http://test1.test.com:81 http://test1.test.com;
  45. proxy_redirect http://www.test1.test.com:81 http://www.test1.test.com;
  46. proxy_pass http://222.222.222.222:81/;
  47. proxy_set_header   Host   $host;
  48. proxy_set_header   X-Real-IP  $remote_addr;
  49. proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
  50. }
  51. }
复制代码
效果 和上面的一样么?谢谢了。实在头晕了。好想用上lanmp啊
作者: windywinter    时间: 2011-1-18 23:16
我需要恪守一个原则,即我不能无偿完整的给出适用于某一个站或某一个人的配置文件,希望你能理解。

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

Nginx的配置文件大概应该是这样的:
  1. server {
  2.         listen   ...;

  3.         server_name xxx;
  4.         root xxx;
  5.         index xxx;

  6.         #rewrite规则写在下面
  7.         rewrite xxx;
  8.         rewrite xxx2;

  9.         # proxy the PHP scripts to Apache listening on 127.0.0.1:81
  10.         location ~ \.php$ {
  11.                 proxy_pass http://127.0.0.1:81;
  12.                 include proxy_params;
  13.         }

  14.         ...
  15. }
复制代码
上面这种写法,适用于你能够写出完整、正确的rewrite规则,即uri经过你的rewrite规则,最后都会变成实际存在的静态文件或.php文件。如果你给不出这样的规则,但是你能够给出Apache的rewrite规则,那么可以把上面的rewrite xxx替换成下面这一段,把rewrite的任务交给Apache。
  1.         try_files $uri $uri/ @apache;
  2.         location @apache {
  3.                 proxy_pass http://127.0.0.1:81;
  4.                 include proxy_params;
  5.         }
复制代码
我给出的第一种写法与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前端干什么?
作者: eudx    时间: 2011-1-19 00:29
谢谢 。 我要慢慢理解  关于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 编辑 ]
作者: windywinter    时间: 2011-1-19 00:37
lanmp 1.0列举了一些静态文件,归nginx处理,余者归apache。但是里面少了html、txt等等。
location ~ \.php$这个写法是指定php归apache处理,其他的由nginx另想办法。
作者: eudx    时间: 2011-1-19 00:41
感谢。哈哈  我去多折腾折腾。
我这菜鸟也要进步的嘛
作者: eudx    时间: 2011-1-19 03:55
弄了半天 nginx 的rewrite 愣是没起作用 规则改了好多次 DZ1.5的
哎。只好用APACHE的REWRITE




欢迎光临 全球主机交流论坛 (https://gebi.eu.org/) Powered by Discuz! X3.4