nginx是一个高性能的web服务器和反向代理服务器,因为稳定,底系统资源消耗而闻名。
但nginx效率虽然高,面临巨大的访问量时还是避免不了出现瓶颈。如今web服务器都会跑动态+静态的页面。后面的solr也有专门的动态静态的索引分工。当访问量较大的时候,有一种可行的应用:把nginx装一台服务器上,php+mysql装到另一台服务器。这样就减轻了服务器的负载。
环境描述:
192.168.253.129 服务器上装有nginx
192.168.253.131 服务器上装有php+mysql
一 在129上安装nginx
1 安装pcre ,因为nginx要根据正则表达式查询php请求
#rpm -qa | grep pcre //查询系统中有没有安装PCRE,一般装系统是默认装有,所以我们要删掉系统自带的
#cp /lib64/libpcre.so.0 / //在删除系统自带的PCRE之前,要先备份一下libpcre.so.0这个文件,因为RPM包的关联性太强,在删除后没libpcre.so.0这个文件时我们装PCRE是装不上的
rpm -e --nodeps pcre-6.6-2.el5_1.7 //删除系统自带的PCRE
tar -zxf pcre-7.8.tar.gz
cd pcre-7.8
cp /libpcre.so.0 /lib64/ //把我们删除系统自带的PCRE之前备份的libpcre.so.0拷贝到/lib 目录下
./configure //配置PCRE,因为PCRE是一个库,而不是像pache、php、postfix等这样的程序,所以我们安装时选择默认路径即可,这样会在后面安装其它东西时避免一些不必要的麻烦,执行完这部后会显示出下图,上面显示了我们对PCRE的配置
make & make install
2 安装nginx
tar -zxf nginx-0.7.30.tar.gz
cd nginx-0.7.30
./configure --prefix=/usr/local/nginx //此处在本环节只需指定一个路径
make && make install
二 在31上安装php+mysql
1 安装mysql
useradd mysql
tar zxvf mysql-5.0.40.tar.gz
cd mysql-5.0.40
./configure --prefix=/usr/local/mysql
make && make install
/usr/local/mysql/bin/mysql_install_db --user=mysql //初始化MySQL数据库
chown -R mysql /usr/local/mysql/var
/usr/local/mysql/bin/mysqld_safe & //启动MySQL
/usr/local/mysql/bin/mysqladmin -u root password 123456 //设置MySQL密码
cp support-files/my-medium.cnf /etc/my.cnf
echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.local
安装php
首先我们把PHP和PHP-FPM下载到同一目录下,此次用的为php-5.3.0.tar.bz2和php-5.3.0-fpm-0.5.12.diff.gz,下载到了同一目录下
tar xvf php-5.3.0.tar.bz2
gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1 //将php-5.3.0-fpm-0.5.12.diff.gz以补丁形式加到php-5.3.0里面
cd php-5.3.0
./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --with-mysql=/usr/local/mysql
make && make install
cp php.ini-dist /usr/local/php/etc/php.ini
三 在131上进行配置
修改php-fpm配置文件
1把127.0.0.1改成本机ip <value name="listen_address">192.168.253.131:9000</value>
2去掉注释,以nobody用户来运行php
Unix user of processes
<value name="user">nobody</value>
Unix group of processes
<value name="group">nobody</value>
3修改客户端ip为192.168.253.129 ,只接受nginx的请求
<value name="allowed_clients">192.168.253.129</value>
建立一个php测试页面
Mkdir –p /www/html
Vim /www/html/index.php
<?php
Phpinfo();
?>
四 配置nginx在192.168.253.129
Vim /usr/local/nginx/conf/nginx/conf
打开CGI部分的注释,修改ip成192.168.253.131 ,并修改php文件的路径为/www/html
location ~ \.php$ {
root html;
fastcgi_pass 192.168.253.131:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/html$fastcgi_script_name;
include fastcgi_params;
}
测试:
http://192.168.253.129/index.php
会显示存放在131下的测试页面index.php