Linux服务器下Nginx与Apache共存的实现方法分析

本文实例讲述了Linux服务器下Nginx与Apache共存的实现方法。分享给大家供大家参考,具体如下:

同一个端口是不能同时有两个程序监听的。所以换个思路解决同一台服务器下某些网站运行在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;
   }
}

在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服务器维护有所帮助。

(0)

相关推荐

  • Linux系统中设置多版本PHP共存配合Nginx服务器使用

    应用环境 LNMP的环境,当前PHP版本5.3.8,遇到一个应用需求只支持PHP 5.2.x,又希望保持现有应用还是用PHP 5.3.8.也就是说需要两个版本的PHP同时存在,供nginx根据需要调用不同版本. 思路 Nginx是通过PHP-FastCGI与PHP交互的.而PHP-FastCGI运行后会通过文件.或本地端口两种方式进行监听,在Nginx中配置相应的FastCGI监听端口或文件即实现Nginx请求对PHP的解释. 既然PHP-FastCGI是监听端口和文件的,那就可以让不同版本的P

  • linux服务器部署tomcat和Nginx的教程

    项目需要,申请了三台测试机器,好在测试机里面光秃秃的什么都没有,我就可以好好的学习一把玩一把了!接下来以图文的形式讲一下我所碰到的坑以及小小的收获吧! 一.准备工作 首先你得有一台可以玩的linux服务器,知道用户名和密码,然后你需要在windows电脑上安装两个可以连上linux服务器的工具,Xshell 5和Xftp 5,安装教程不多说,补图说明如何连上服务器: xshell连接界面如下,输入好主机ip后点击确定,xshell会弹出窗口输入用户名和密码即可连接成功! xftp连接界面如下,填

  • Linux下从零开始安装配置Nginx服务器+PHP开发环境

    Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,以事件驱动的方式编写,所以有非常好的性能,同时也是一个非常高效的反向代理.负载平衡.其拥有匹配Lighttpd的性能,同时还没有Lighttpd的内存泄漏问题,而且Lighttpd的mod_proxy也有一些问题并且很久没有更新. 因此我打算用其替代Apache应用于Linux服务器上.但是Nginx并不支持cgi方式运行,原因是可以减少因此带来的一些程序上的漏洞.那么我们必须使用FastCGI方式来执行PHP程序. 下面是我成功地配置Ngi

  • 详解阿里云LINUX服务器配置HTTPS(NGINX)

    背景说明 服务器为阿里云 ECS,操作系统为 CentOS 6.5. 部署配置说明 第一步,安装nginx 之所以要先安装 nginx,是因为下面配置域名解析的时候可以直接在浏览器看到效果,当然了,先配置域名,然后 ping 一下也是可以的 下载Nginx源码包,解压源码包,进入解压后的目录,编译配置,命令如下: ./configure --prefix=/usr/local/nginx --with-http_ssl_module 以上命令将nginx安装到usr/local/nginx目录下

  • Linux下查看nginx apache mysql php的编译参数

    快速查看服务器软件的编译参数:1.nginx编译参数: your_nginx_dir/sbin/nginx -v 2.apache编译参数: cat your_apache_dir/build/config.nice 3.php编译参数: your_php_dir/bin/php -i |grep configure 4.mysql编译参数: cat your_mysql_dir/bin/mysqlbug |grep configure 以下是完整的实操例子: 查看获取nginx的编译参数: 复

  • Linux环境下nginx搭建简易图片服务器

    主要使用Nginx和vsftpd. 安装方面可以直接从nginx官网上下载,或者... 复制代码 代码如下: yum install nginx 如果没有yum源则需要自行添加再进行install. 复制代码 代码如下: yum install wget wget http://www.atomicorp.com/installers/atomic  sh ./atomic  yum check update 如果是从官网上下载的则进行如下操作: 复制代码 代码如下: [root@admin l

  • Linux+Nginx+Php架设高性能WEB服务器

    Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器 . Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行超过两年半了.Igor 将源代码以类BSD许可证的形式发布.尽管还是测试版,但是,Nginx 已经因为它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名了. 本文是W3CGROUP在成功架设Nginx+Php Web服务

  • lanmp(Linux Apache Nginx Mysql Php) 的安装配置

    1 ) 安装Centos 5 , 下载地址 http://mirrors.sohu.com/centos/5/isos/i386/ 安装过程请禁用selinux 和 防火墙 2) 安装必要的组件 LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc

  • 禁止IP访问网站的多种方法分享(linux,php,nginx,apache)

    PHP禁止某个IP或IP段访问 废话不多说,客官请看: <? //禁止某个IP $banned_ip = array ( "127.0.0.1", //"119.6.20.66", "192.168.1.4" ); if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) ) { die ("您的IP禁止访问!"); } //禁止某个IP段 $ban_ran

  • LNMP服务器环境配置 (linux+nginx+mysql+php)

    一.简介 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X", 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过三年了.Igor Sysoev在建立的项目时,使用基于BSD许可. 在高并发连接的情况下,Nginx是Apache服务器不错的替代品.Nginx同时也可以作为7层负

随机推荐