Apache的網站,使用Nginx進行反向代理(1個IP綁定多個域名,對應多個網站)解決方案


同一個端口是不能同時有兩個程序監聽的。所以換個思路解決同一台服務器下某些網站運行在nginx下,某些網站運行在Apache下共存。


解決思路:

將nginx作為代理服務器和web服務器使用,nginx監聽80端口,Apache監聽除80以外的端口,我這暫時使用8080端口。

解決方案:

  • 在Linux 一經搭建好環境 先后安裝了Nginx 和Apache 由於 默認端口都是:80
  • 一般客戶請求的服務器端口默認為80 所以Nginx作為靜態頁端口設置:80;Apache設置端口為:8080(在httpd.conf 文件中修改Listen:8080)
  • Apache下的網站:

在nginx.conf中 添加

  server {
            listen       80; server_name www.one.ityangs.cn one.ityangs.cn; location / { proxy_pass http://127.0.0.1:8080; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
  • Nginx下的網站:

在nginx.conf中 添加

 server {
        listen       80; server_name two.ityangs.cn www.two.ityangs.cn; root /www/two; location /{ index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } error_page 404 /var/www/html/404.html; } location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }


實際配置截圖:
Apache的配置文件,httpd.conf配置

Nginx的配置文件,nginx.conf的配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM