Nginx 动静分离的配置方法

发布时间:2020-09-13编辑:脚本学堂
本文介绍下,nginx中动态程序与静态页面进行分离的配置方法,有需要的朋友,参考下吧。

在负载较高时,可以考虑把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等这样的程序,所以安装时选择默认路径即可,这样会在后面安装其它东西时避免一些不必要的麻烦。
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中的内容。

您可能感兴趣的文章:
nginx缓存html静态文件 解析php及反向代理IIS的配置
nginx对静态文件cache的处理机制分析
如何让nginx只缓存静态文件
Nginx 设置静态文件缓存时间
nginx缓存本地静态文件
nginx缓存静态文件的配置方法
nginx rewrite 伪静态配置参数详解
nginx 预压缩(gzip)静态文件
nginx rewrite 伪静态配置参数和使用例子