Nginx做网站前端,Apache后端处理PHP文件

转自:http://www.mihua.net/list/3/3027.htm


这种结构俗称LNAMP(Linux+Nginx+Apache+MySQL+PHP),结合了Nginx高并发和静态页面高效率以及Apache稳定的动态页面处理特点。
这样一来再也不用担心Nginx以FastCGI模式运行PHP时的502问题,也不必担心Apache处理静态页面过慢,负载过高的问题。

请先自己搭建好LAMP环境,
如果你没有按我的步骤搭建LAMP环境,可能会出现一些错误。

一、使Apache监听非80端口
首先先把Apache的中心主机取消掉,仅使用虚拟主机。
在httpd.conf里把Listen 80改成Listen 0.0.0.0:81
反正你加了虚拟主机之后中心主机也自动失效的,除非你们用的不是同一个端口。Apache文档上说,“如果你想在现有的web服务器上增加虚拟主机,你必须也为现存的主机建造一个定义块。这个虚拟主机中ServerName和DocumentRoot所包含的内容应该与全局的ServerName和DocumentRoot保持一致。还要把这个虚拟主机放在配置文件的最前面,来让它扮演默认主机的角色。”

然后把最底下那个Include conf/extra/httpd-vhosts.conf前面的注释块去掉。
编辑conf/extra目录下的httpd-vhosts.conf文件,参考一下这个配置自己配置一个虚拟主机:

 
 
NameVirtualHost 127.0.0.1:81 <VirtualHost 127.0.0.1:81>     ServerAdmin webmaster@domain.com     DocumentRoot "/home/wwwroot/domain.com"     ServerName domain.com     ErrorLog "/home/wwwlogs/domain.com/error_log"     CustomLog "/home/wwwlogs/domain.com/access_log" common </VirtualHost>

二、下载并安装PCRE
Nginx的Rewrite功能需要用到PCRE(正式表达式库),如果你不需要rewrite功能,可以跳过此步,然后在下一步的配置中加上--without-http_rewrite_module
最新版本请查看官方网站http://pcre.org/

 
 
wget ftp: //ftp.csx.cam.ac.uk /pub /software /programming /pcre /pcre- 8.13.tar.gz tar zxvf pcre- 8.13.tar.gz cd pcre- 8.13 . /configure make make install

三、下载并配置Nginx
进入这个网站http://nginx.org/en/download.html,下载最新版本Nginx。
然后在root目录下wget。

 
 
wget http: //nginx.org /download /nginx-1.1.6.tar.gz tar zxvf nginx-1.1.6.tar.gz cd nginx-1.1.6 . /configure --prefix= /usr /local /nginx --user=www --group=www \ --with-http_stub_status_module make make install

有关安装时的参数可以参考http://wiki.nginx.org/InstallOptions

你可以使用这几个命令完成对应的操作

 
 
/usr /local /nginx /sbin /nginx (启动) /usr /local /nginx /sbin /nginx -s stop (停止) /usr /local /nginx /sbin /nginx -s reload (重启)

咱真的不会看shell代码,网上流传很多nginx的开机脚本但是不放心用。还是老老实实在rc.local文件里增加一条/usr/local/nginx/sbin/nginx命令达到开机启动的效果。rc.local文件位于/etc/rc.d/目录下(CentOS5.5)。
在root下建立一个软连接文件方便我们对nginx重启之类的操作

 
 
ln -s /usr /local /nginx /sbin /nginx /root /nginx

在nginx安装目录下的conf文件夹里建立一个proxy_apache文件,内容如下:

 #转发IP等HTTP头信息
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_connect_timeout 30;#与后端连接成功后等待响应时间(已进入处理队列等候处理)
proxy_read_timeout 60;#后端服务器回传数据时间(后端必须在指定时间内将数据传送完毕)
proxy_send_timeout 30;#保存用户的头信息大小
proxy_buffer_size 4k;#用于读取后端应答的缓冲区数目和大小,默认情况为分页大小,根据系统不同可为4K或8K
proxy_buffers 16 32k;#高负载时可请求更大proxy_buffers(一般设为proxy_buffers的两倍)
proxy_busy_buffers_size 64k;#临时缓存文件夹大小(proxy_temp)
proxy_temp_file_write_size 128k;#允许请求的最大单个文件大小
client_max_body_size 10m;

#如果一个请求的body比这个缓存还要大,那么整个body或它的一部分将被写入一个临时文件
#(简单地说就是POST一个比这个缓存大的文件,会暂存到client_body_temp文件夹中)
#默认为两个页面大小,根据系统不同可能是8K或16K
#若一个请求的Content-Length header比这个缓存小,它将被使用到缓存里。
#因此Nginx将不会为每个请求分配一个这么大的缓存。
client_body_buffer_size 128k;

修改nginx.conf文件,主要是改server段。

默认有个Location ~{root /home/wwwroot/;index index.html}。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值