首頁 > 運維 > Nginx > 主體

Linux伺服器下Nginx與Apache共存如何實現

王林
發布: 2023-05-25 23:28:13
轉載
1919 人瀏覽過

同一个端口是不能同时有两个程序监听的。所以换个思路解决同一台服务器下某些网站运行在nginx下,某些网站运行在apache下共存。

解决思路:

将nginx作为代理服务器和web服务器使用,nginx监听80端口,apache监听除80以外的端口,我这暂时使用8080端口。

Linux伺服器下Nginx與Apache共存如何實現

解决方案:

  • 在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;
   }
}
登入後複製

在httpd.conf中 添加

<virtualhost *:8080>
servername www.one.ityangs.cn
serveralias www.one.ityangs.cn one.ityangs.cn
documentroot /www/one
directoryindex index.php index.html
<directory /www/one>
options +includes +followsymlinks -indexes
allowoverride all
order deny,allow
allow from all
</directory>
</virtualhost>
登入後複製

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;
  }
}
登入後複製

以上是Linux伺服器下Nginx與Apache共存如何實現的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!