Nginx + php

Nginx + php 目前有两种方式
1.nginx + apache  
        nginx 负责静态内容、反向代理和保持连接,apache则负责处理动态内容。
2.nginx + fastcgi php-fpm
        
 
 
 
一、nginx + apache 
       采用Nginx前端Apache后端的服务器架构,这样可以很好地结合了Nginx高并发静态页面高效率以及Apache稳定的动态页面处理特点,再也不用担心Nginx以FastCGI模式运行PHP时的502问题和Apache处理静态页面过慢、负载过高的问题。
       这里不再重复nginx和apache 的安装步骤,直接上配置文件。
 
apache部分:
      修改监听端口    
               Listen 8080
     增加虚拟主机
 NameVirtualHost 127.0.0.1:8080
 
# Define Server document root
DocumentRoot /var/www/html/

# Define the virtual hos t
<VirtualHost 127.0.0.1:8080>
ServerName www.xxx.com
ServerAlias xx.com
DocumentRoot /var/www/html/
<Directory "/var/www/html/">
Options FollowSymLinks -Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
RewriteEngine on
</VirtualHost>
 
nginx 部分:
     修改配置文件
      location / {
             root   /var/www/html;      #apache的网站根目录
            index  index.php index.html index.htm;
        }
          #将php文件请求分发给后端的apache
        location ~ \.php$ { 
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass http://127.0.0.1:8080;
        }

         
#最简方式 #location ~ \.php$ {  #    proxy_pass   http://127.0.0.1;  #}

          #将图像和静态文件由nginx处理
        location ~ \.*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|        doc|ppt|pdf|xls|mp3|wma)$ {
                root /var/www/html;
                expires 15d;     更新时间 15天
        }
           #将js文件由nginx处理 
        location ~ \.*.(js|css)$ {
                expires 1h;      更新时间 1小时
}

 # 如果你需要客户端缓存的内容以及媒体,图片等文件固定放置一些目录下的话,就把上面那个
        # location注释掉,用下面这种方式
        # location ~ ^/(images|javascript|js|css|flash|media|static)/  {
        #  expires 2d;
        #}

posted @ 2017-10-10 21:55  乌托邦眺望  阅读(153)  评论(0编辑  收藏  举报