[問題] Nginx + Apache2設定

看板Linux作者 (太陽拳vs野球拳)時間11年前 (2014/05/01 12:11), 11年前編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
安安 版主早 先進早 及在場的各位版眾早 小弟最近在架frontend, backend Server 用了Nginx及apache來做測試 安裝方面就不多做說明了 其它規格如下: OS: Ubuntu 12.04 Cpu: 1 Ram: 512MB Storage: 8G (說這些好像沒什麼幫助) 有兩個子網域在"同一台"機器上 兩個分別打到"同一台機器"上不同的資料夾去 nginx的 server設定如下: vim test.com server { listen 80; root /var/www/test1; index index.php; server_name test1.my.com; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { echo $uri; proxy_pass http://127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; } location ~ /\.ht { deny all; } } server { listen 80; root /var/www/test2; index index.php; server_name test2.my.com; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { echo $uri; proxy_pass http://127.0.0.1:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; } location ~ /\.ht { deny all; } } =============================================================== Apache2的設定如下 NameVirtualHost *:8080 Listen 8080 <VirtualHost *:8080> DocumentRoot /var/www/test1 ServerName test1.my.com </VirtualHost> <VirtualHost *:8080> DocumentRoot /var/www/test2 ServerName test2.my.com </VirtualHost> apache2這也調效過很多次,一開始defalut的設定都有帶進去過 .htaccess也有開關試過 rewritemod也有開關試過 最後問題是: 可以正常work任何在URL下有指定 *.php的東西進來 可是碰到要rewrite url的app 好比test1是wordpress (有用.htaccess設定 rewrite) test2是drupal或yii之類也有rewrite url的 只要是乾淨的url(除了root) ex: test1.my.com/controller/action ex: test2.my.com/login 也就是為了要吃index.php來rewrite 乾淨url的 後面的在nginx pass給apache後,都會讓apache執行完index.php後 不知道要去解決 index.php/controller/action 後的東西 因為nginx已經把index.php 這URI (不是url喔) 吃掉了 而URI 也沒帶給Apache 所以Apache那邊不管怎樣都只會解析.index.php 而不會解析 .index.php/controller/action 這問題已經弄了兩天 試過幾百種方法都無法解決 想請問先進們能不能指點一下問題出在哪呢? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.25.232.121 ※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1398917518.A.651.html

05/01 15:24, , 1F
為什麼不跑在 fpm 上 @@?
05/01 15:24, 1F
要也可以用apache跑fpm 或是用兩台nginx,一台當前一台當後 不過問題不是在這邊 這些考量會在這次測試後去進行 當下問題要解決的還是當clean url後 pass到app server無法帶進uri(或其它等方法...) ※ 編輯: dlikeayu (114.25.232.121), 05/01/2014 15:51:53

05/01 17:09, , 2F
為什麼要用兩個 web server...
05/01 17:09, 2F
nginx可以當loadbalance或web server apache是拿來跑backend application server 就算不用apache 我一樣得用二台(以上)的nginx 不過就會分別在不同主機上實做了 p.s以IBM來說,處理靜態檔案的叫web server 處理struts之類程式或運算的叫application server 這在處理大量用戶時,可以省下很多不必要的成本 ※ 編輯: dlikeayu (1.34.4.90), 05/01/2014 22:37:22

05/02 00:12, , 3F
nginx 搭 php-fpm 不就動靜分離了嗎?
05/02 00:12, 3F
文章代碼(AID): #1JOScEPH (Linux)
文章代碼(AID): #1JOScEPH (Linux)