分类: LINUX
2017-06-18 23:00:18
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 : 不同的响应码各自缓存多长时间
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缓存功能
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
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; //重读授权表
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', '');
在浏览器打开: