日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Nginx 笔记与总结(15)nginx 实现反向代理 ( nginx + apache 动静分离)

發(fā)布時(shí)間:2025/5/22 183 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx 笔记与总结(15)nginx 实现反向代理 ( nginx + apache 动静分离) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在 nginx 中,proxy 用來(lái)實(shí)現(xiàn)反向代理,upstream 用來(lái)實(shí)現(xiàn)負(fù)載均衡。

例如有兩臺(tái)服務(wù)器,nginx 服務(wù)器作為代理服務(wù)器,執(zhí)行 .html 文件,apache 服務(wù)器上執(zhí)行 .php 文件,客戶端發(fā)來(lái)的請(qǐng)求首先發(fā)送給 nginx 服務(wù)器,如果發(fā)送請(qǐng)求的是 .php 文件,則把請(qǐng)求通過(guò) proxy pass 轉(zhuǎn)發(fā)給 apache 服務(wù)器,apache 服務(wù)器處理后把結(jié)果返回給 nginx 服務(wù)器,nginx 服務(wù)再把結(jié)果返回給客戶端。該例中 nginx 服務(wù)器實(shí)現(xiàn)了反向代理,或者說(shuō)實(shí)現(xiàn)了 nginx + apache 的動(dòng)靜分離。 ?

?

配置過(guò)程:

① 首先不讓 nginx 服務(wù)器執(zhí)行 .php 文件,修改 /usr/local/nginx/conf/nginx.conf 文件,把以下 location 段注釋:

location ~ \.php$ {#root html;#fastcgi_pass 127.0.0.1:9000;#fastcgi_index index.php;#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#include fastcgi_params;}

保存退出。平滑重啟 nginx。

此時(shí)訪問(wèn)?http://192.168.254.100/test.php:

nginx 已經(jīng)不能解析 .php 文件了。

?

② 編輯 apache 的配置文件?httpd.conf

[root@localhost nginx]# find / -name httpd /usr/local/apache2/bin/httpd /root/httpd-2.2.21/httpd /root/httpd-2.2.21/.libs/httpd [root@localhost nginx]# vim /usr/local/apache2/conf/httpd.conf

修改監(jiān)聽(tīng)端口(nginx 已經(jīng)監(jiān)聽(tīng) 80 端口,所以把 apache 的監(jiān)聽(tīng)端口改為 8080):Listen 8080

保存退出。

?

③ 啟動(dòng) apache:

[root@localhost nginx]# /usr/local/apache2/bin/apachectl start

?

訪問(wèn)?http://192.168.254.100:8080:

?

?

④ 配置 apache 的虛擬主機(jī)及端口:

[root@localhost nginx]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

?修改 httpd-vhosts.conf:

NameVirtualHost *:8080# # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any <VirtualHost> block. # <VirtualHost *:8080>DocumentRoot "/usr/local/nginx/html"ServerName test.com </VirtualHost>

把 DocumentRoot 定義到 /usr/local/nginx/html 目錄下。保存退出。

?

編輯?httpd.conf:

<Directory />Options FollowSymLinksAllowOverride NoneOrder deny,allowDeny from all </Directory>

改為

<Directory />Options FollowSymLinksAllowOverride allOrder deny,allowAllow from all </Directory>

?

把 line:151

AllowOverride None

改為

AllowOverride All

保存退出。重啟 apache。

?

⑤ 測(cè)試:訪問(wèn)?http://192.168.254.100:8080

?

?

訪問(wèn)?http://192.168.254.100:8080/ecshop/

?

?

?

⑥ 配置 nginx 的反向代理

[root@localhost nginx]# vim conf/nginx.conf

nginx.conf,修改 location ~ \.php$,只需要添加一句:proxy_pass 192.168.254.100:8080;

location ~ \.php$ {proxy_pass http://192.168.254.100:8080;#root html;#fastcgi_pass 127.0.0.1:9000;#fastcgi_index index.php;#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#include fastcgi_params;}

?保存退出。平滑重啟 nginx。

?

測(cè)試動(dòng)靜分離:此時(shí)訪問(wèn)?http://192.168.254.100/test.php

也就是說(shuō),此時(shí)的 url 不帶 8080 端口,訪問(wèn) .php 文件,同樣能夠解析,而且是通過(guò) apache 進(jìn)行解析。

?

測(cè)試動(dòng)靜分離 2:

修改 /usr/local/nginx/html/test.php

[root@localhost nginx]# vim html/test.php

test.php:

<?php //phpinfo(); echo rand(1,100000); ?> <img src='image/nginx.png'>

保存退出。

?

再次訪問(wèn)?http://192.168.254.100/test.php

此時(shí)分析 apache 日志:

[root@localhost nginx]# tail -f /usr/local/apache2/logs/access_log

access.log:

apache 沒(méi)有響應(yīng)圖片。

?

再分析 nginx 日志:

[root@localhost nginx]# tail -f /usr/local/nginx/logs/access.log

nginx 響應(yīng)的圖片。

?

總結(jié)

以上是生活随笔為你收集整理的Nginx 笔记与总结(15)nginx 实现反向代理 ( nginx + apache 动静分离)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。