Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4178
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2017-06-16 09:26
文章分类

全部博文(1)

文章存档

2017年(1)

我的朋友
最近访客

分类: LINUX

2017-06-18 23:00:18

 


LNMP下Fastcgi的简单配置解释



Fastcgi的配置




        
  1. 首先,准备配置环境:

  2.     
          
              
    • Nginx服务器nginx/1.10.2 IP(172.16.88.88)外网地址 (192.168.153.137)内网地址,用来连接内部的php,mariadb
              
    • php-fpm服务器,PHP 5.4.16 IP(192.168.153.139) 同时也兼安装了mariadb    
          



        
  3. 修改nginx服务的配置参数,首先在配置文件/etc/nginx/conf.d/里添加了个配置文件并加上如下代码片段:


  4. http {
    
        fastcgi_cache_path /cache levels=1:2:2 keys_zone=fcgi_cache:5m inactive=60m max_size=1g;
    
        ....
    
    }
    
    
    
    server {
    
            listen 80 backlog=100;
    
            server_name 
    
            root /data/wordpress;
    
            index index.php;
    
    
    
    
    
             location ~* \.php$ {
    
                    fastcgi_pass 192.168.153.139:9000;
    
                    fastcgi_index index.php;
    
                    fastcgi_param SCRIPT_FILENAME /php/wordpress/$fastcgi_script_name;
    
                    include fastcgi_params;
    
                    fastcgi_cache fcgi_cache;
    
                    fastcgi_cache_key $request_uri;
    
                    fastcgi_cache_methods GET HEAD;
    
                    fastcgi_cache_min_uses 3;
    
                    fastcgi_cache_valid 200 301 302 1h;
    
    
    
            }
    
    






    •     
    • fastcgi_cache_path:   定义fcgi的缓存


              
    • path:   定义缓存存放的路径


    •     
    • levels:   缓存目录的层级数量,以每一级的目录数量,只能接受1和2


    •     
    • keys_zone:   k/v结构映射的内存的名称及大小


    •     
    • inactive:   非活动时长


    •     
    • max_size:   磁盘上用于缓存数据的缓存空间上限


    •         

      fastcgi_cache_path还有很多选项可以选择,可以参考nginx.org去获取相应的资料






    •     
    • 在这里最容易造成错误的一点就是:   index index.php
      这里一定是要设置 的,因为只有这样,你在访问时直接输入域名,就可以自动的去添加index.php并发送给后端fcgi服务器上去处理。



    •     
    • location ~* \.php$:   正则表达式匹配,只要是以.php结尾的文件,就都到后端的fcgi服务器上去处理









    •     
    • fastcgi_pass 192.168.153.139:9000;:   将匹配到的.php文件都去以下的给定的地址去处理,也就是fastcgi服务器的地址+端口(fcgi的默认端口是9000)



    •     
    • fastcgi_index index.php:   fcgi的默认主页资源



    •     
    • fastcgi_param SCRIPT_FILENAME /php/wordpress/$fastcgi_script_name:   将客户端发来的URL的值赋值给SCRIPT_FILENAME以交给fcgi能够实别,记录,并且,/php/wordpress/是fcgi存放文件路径的绝对地址,因为只有这样,fcgi服务器才能将/php/wordpress/SCRIPT_FILENAME结合起来去找到相对应的文件,并加载处理。



    •     
    • include fastcgi_params :   将fcgi大多数的变量都放在此文件中(/etc/nginx/fastcgi_params)一并将客户端的对数发往后端fcgi服务器去处理



    •     
    • fastcgi_cache:   调用指定的缓存空间来缓存数据,也就上而keys_zone里定义的name




    •     
    • fastcgi_cache_key $request_uri:   定义用作缓存项的key字符串,将此值做哈希,并将其存储,



    •     
    • path:   定义缓存存放的路径


    •     
          
    • fastcgi_cache_methods:   为哪些请求方法使用缓存



    •     
    • fastcgi_cache_min_uses:   缓存空间中缓存项在inactive定义的的非活动时间内至少要被访问到此处所指定的次数方可被认作为活动项



    •     
    • fastcgi_cache_valid :   不同的响应码各自缓存多长时间








  1. nginx上的操作:


    ~]# yum install nginx -y
    
    ~]# mkdir /data
    
    ~]# unzip wordpress-4.7.4-zh_CN.zip      //解压安装包
    
    ~]# vim /etc/nginx/conf.d/fcgi.conf    //并将上面的代码添加至些文件中,并修改/etc/nginx/nginx.conf,定义fcgi缓存功能
    
    




  2. fastcgi上的操作:


    ~]# yum install php-fpm php-mysql php-mbstring mariadb-server -y
    
    ~]# mkdir /php
    
    ~]# cd /php/
    
    ~]# unzip wordpress-4.7.4-zh_CN.zip
    
    ~]# vim /etc/php-fpm.d/  listen = 192.168.153.139:9000    //在本机上监听的地址和端口
    
    listen.allowed_clients = 192.168.153.137   //允许哪些个客户端来连接并处理
    
    pm.status_path = /fpm_status     //查看fcgi的状态属性
    
    ping.path = /fpm_ping            //查看状态是否在线
    
    ping.response = pong  


  3. mariadb上的操作:


    ~]# mysql_install_db --user=mysql --datadir=/data  //初始化数据库
    
    ~]# mysql_secure_installation      //安全加固
    
    ~]# systemctl start mairadb 
    
    ~]# mysql
    
    > GRANT ALL ON wp.* TO wordpress@'%' IDENTIFIED BY 'wordpress';  //创建一个只能给wordpress连进来并在wp数据库中操作的用户的权限
    
    > CREATE DATABASE wp;
    
    > FLUSH PRIVILEGES;      //重读授权表
    
    





  4. wordpress的安装与配置:


    ~]# unzip wordpress-4.7.4-zh_CN.zip
    
    ~]# cd /php/wordpress
    
    ~]# mv wp-config.simaple wp-config.php    
    
    ~]# vim wp-config.php
    
    /** WordPress数据库的名称 */
    
    define('DB_NAME', 'wp');
    
    
    
    /** MySQL数据库用户名 */
    
    define('DB_USER', 'wordpress');
    
    
    
    /** MySQL数据库密码 */
    
    define('DB_PASSWORD', 'wordpress');
    
    
    
    /** MySQL主机 */
    
    define('DB_HOST', '127.0.0.1');
    
    
    
    /** 创建数据表时默认的文字编码 */
    
    define('DB_CHARSET', 'utf8');
    
    
    
    /** 数据库整理类型。如不确定请勿更改 */
    
    define('DB_COLLATE', '');
    
    


  5. 在浏览器打开:







阅读(416) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~