nginx结合Apache动静分离

apache的安装与配置

apache下载地址:http://httpd.apache.org/download.cgi#apache24

wget   https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.51.tar.gz
tar -zxvf httpd-2.4.51.tar.gz  #解压安装包
cd httpd-2.4.51
./configure --prefix=/usr/local/apache --enable-rewrite --enable-so --enable-headers --enable-expires --with-mpm=worker --enable-modules=most --enable-deflate
make && make install  # 编译安装
cp /usr/local/apache/bin/apachectl /etc/init.d/httpd  #复制启动文件到/etc/init.d目录
service httpd start #启动Apache

因为Apache与nginx默认都会监听80端口,所以我们在安装Apache或者启动Apache之前先关闭nginx,或者先把Apache的配置进行修改

Apache的配置修改

apache的配置目录在/usr/local/apache/conf/httpd.conf。注:这里只是我配置文件的地址。
Apache的虚拟主机可以在conf/httpd.conf中进行配置,也可以在conf/extra/httpd-vhost.conf中配置。后者是在httpd.conf文件中通过include指令引入的子配置文件,但是在使用前需要现在httpd.conf中找到如下一行配置取消注释,否则配置将不会生效。

#include conf/extra/httpd-vhost.conf  #去掉前面的#号

然后打开httpd-vhost.conf文件,可以看到Apache提供的默认配置。我们只需要删除多余的配置,添加自己的配置即可:

<VirtualHost *:81>
    DocumentRoot "/www/study_nginx"
    ServerName www.study_apache.com
    ServerAlias study_apache.com
</VirtualHost>
<Directory "/www/study_nginx">
    Require all granted
</Directory>

在 httpd.conf 文件中修改 listen 并添加 ServerName

listen 81
ServerName localhost

保存之后,重启Apache

Apache配置访问php文件

Apache处理PHP动态请求的稳定性高于NGINX+PHP-fpm的方式,这个是因为PHP利用Apache的动态模块机制实现了高度整合。在安装Apache时,编译选项中有一个–enable-so,添加此选项后,Apache就会在bin目录下生成一个apxs程序,apxs是Apache提供的一个扩展工具,用于编译模块,PHP能够利用apxs编译一个用于Apache访问PHP的模块,以实现整合。

因为之前我已经安装了nginx+php-fpm,这里需要整合php-fpm与Apache,所以对于php需要重新编译

cd /home/php-7.4.16   #php所在位置
make clean #清除之前安装过的nginx+PHP

./configure --prefix=/usr/localphp --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --enable-zip --enable-mbstring --with-mcrypt --with-mysql --with-mysqli --with-pdo-mysql --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-curl --with-openssl --with-mhash --enable-bcmath --enable-opcache

make && make install

Apache配置的修改:

在 httpd.conf文件加入:

<FilesMatch "\.php$">
setHandler application/x-httpd-php
</FilesMatch>

<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>

编译完成之后,使用在之前我们添加的Apache服务下新增PHP代码文件,并访问:
在这里插入图片描述

nginx结合Apache动静分离

=静分离的优势
api接口服务化:动静分离之后,后端应用更为服务化,只需要通过提供api接口即可,可以为多个功能模块甚至是多个平台的功能使用,可以有效的节省后端人力,更便于功能维护。

前后端开发并行:前后端只需要关心接口协议即可,各自的开发相互不干扰,并行开发,并行自测,可以有效的提高开发时间,也可以有些的减少联调时间

减轻后端服务器压力,提高静态资源访问速度:后端不用再将模板渲染为html返回给用户端,且静态服务器可以采用更为专业的技术提高静态资源的访问速度。

修改nginx对动态请求的处理

server{
   listen       80;
   server_name  www.study_nginx.com;
   root   /www/study_nginx;
   index index.html index.htm;

   location ~ \.php$ {
      proxy_pass http://127.0.0.1:81;
      proxy_set_header Host $host;
      proxy_set_header X-Client-IP $remote_addr;
      # root           /www/study_nginx;
      # fastcgi_pass   127.0.0.1:9000;
      # fastcgi_index  index.php;
      # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ;
      # include        fastcgi_params;
   }
}

访问 www.study_nginx.com
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值