由于apache处理静态页面的效率不高,而一般网站大多数的内容都是静态文件(如图片、html、css、js等),经过nginx前端的反向代理加速和过滤,后端apache处理请求的压力便可大大减少,只需负责处理动态内容就可以了。在性能与稳定性的权衡下,使用nginx+apache搭配便可让它们在各自擅长的领域大展拳脚。
推荐阅读:
一、安装与配置Apache
1. 安装Apache2
# sudo yum install httpd
2. 修改配置文件
修改服务端口号,将80端口改成8080。
# sudo vim /etc/httpd/conf/httpd.conf
#Listen 12.34.56.78:80
Listen 8080
...
3. 启动服务并设置开机自启动
# sudo /etc/init.d/httpd start
# sudo /sbin/chkconfig httpd on
二、安装与配置Nginx
1. 启用 EPEL repo源
如果使用的CentOS 5.x版本,安装以下repo源:
# sudo rpm -Uvh Fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
如果使用的CentOS 6.x版本,安装以下repo源:
# sudo rpm -Uvh
2. 安装nginx
# sudo yum install nginx
3. 修改配置文件
主配置文件/etc/nginx/nginx.conf无需做太大改动,只需将worker_processes设置成与机器CPU核数相等即可(如CPU数为1,则worker_processes 1;)。
# sudo vim /etc/nginx/conf.d/virtual.conf
listen 80;
server_name 192.168.85.83;
root /var/www/html;
index index.html index.htm index.php;
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 :8080;
}
location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$ {
expires 15d;
}
location ~ .*.(js|css)?$ {
expires 1h;
}
}
4. 启动服务并设置开机自启动
# sudo /etc/init.d/nginx start
# sudo /sbin/chkconfig nginx on