下面是对上述代码的含义进行介绍。
第一行代码是为FastCGI缓存指定一个文件路径、目录结构等级、关键字区域存储时间和非活动删除时间。
fastcgi_connect_timeout指定���接到后端FastCGI的超时时间。
fastcgi_send_timeout指定向FastCGI传送请求的超时时间,这个值是已经完成两次握手后向FastCGI传送请求的超时时间。
fastcgi_read_timeout指定接收FastCGI应答的超时时间,这个值是已经完成两次握手后接收FastCGI应答的超时时间。
fastcgi_buffer_size用于指定读取FastCGI应答第一部分需要用多大的缓冲区,这个值表示将使用1个64KB的缓冲区读取应答的第一部分(应答头),可以设置为fastcgi_buffers选项指定的缓冲区大小。
fastcgi_buffers指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答请求。如果一个PHP脚本所产生的页面大小为256KB,那么会为其分配4个64KB的缓冲区来缓存;如果页面大小大于256KB,那么大于256KB的部分会缓存到fastcgi_temp指定的路径中,但是这并不是好方法,因为内存中的数据处理速度要快于硬盘。一般这个值应该为站点中PHP脚本所产生的页面大小的中间值,如果站点大部分脚本所产生的页面大小为256KB,那么可以把这个值设置为“16 16k”、“4 64k”等。
fastcgi_busy_buffers_size的默认值是fastcgi_buffers的两倍。
fastcgi_temp_file_write_size表示在写入缓存文件时使用多大的数据块,默认值是fastcgi_buffers的两倍。
fastcgi_cache表示开启FastCGI缓存并为其指定一个名称。开启缓存非常有用,可以有效降低CPU的负载,并且防止502错误的发生,但是开启缓存也会引起很多问题,要视具体情况而定。
fastcgi_cache_valid、fastcgi用来指定应答代码的缓存时间,实例中的值表示将200和302应答缓存一个小时,将301应答缓存1天,其他应答均缓存1分钟。
测试Nginx对PHP的解析功能
这里在/usr/local/nginx/html目录下创建一个phpinfo.php文件,内容如下:
<?php phpinfo(); ?>
然后通过浏览器访问,默认会在浏览器显示“Welcome to Nginx!”表示Nginx正常运行。
接着在浏览器中访问,如果PHP能够正常解析,会出现PHP安装配置以及功能列表统计信息。
三.yum 安装Mariadb数据库
删除全部MySQL/MariaDB相关的rpm包
MySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;
1、使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:
如果存在,使用rpm -e --nodeps mariadb-*将全部删除
2、使用rpm -qa | grep mysql搜索 mysql现有的包:
如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql全部删除;
我比较推荐使用系统自带的mariadb,所以直接yum安装比较方便
3、yum安装mariadb
# yum install -y mariadb mariadb-server
注:mariadb为数据库客户端,mariadb-server是数据库服务器端
4、命令启动MariaDB 服务
# systemctl start mariadb
5、查看mariadb进程服务是否在跑
# ps -ef | grep mariadb
root 10131 10095 0 19:24 pts/2 00:00:00 grep --color=auto mariadb
mysql 10197 10009 0 Jan19 ? 15:56:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/lib/mysql/zgz.pid --socket=/var/lib/mysql/mysql.sock
6、查看数据库状态
#systemctl status mariadb
7、接着运行 mysql_secure_installation初始化配置MariaDB:
#mysql_secure_installation
在这个阶段进入时root初始密码为空,所以回车即可。我个人觉得可以选择在这个时候修改设定数据库root密码,然后接下来的设定中,除了Disallow root login remotely 、Remove test database and accesss to it 可以为n,其他都是y
8、登录 MariaDB 并创建相应的数据库用户与数据库
(1)使用mysql -uroot -p登录,回车之后会提示输入密码。
(2)创建新用户,CREATE USER 'git'@'localhost' IDENTIFIED BY '$password';其中$password填写自己设置的密码。当然后面也可以修改;
(3)设置存储引擎
mariadb[none]> set storage_engine=INNODB;
(4)创建数据库
mariadb[none]>create database database_name character set utf8;
(5)设置用户权限
grant all privileges on *.* to 'root'@'%' identified by '$password' with option;
#上述可以定义为:root用户可以从任何机器上远程连接数据库里的所有内容且具备最高权限,并且具有授予权他人远程连接的权限。
经过上述操作步骤,lnmp环境就算是基本搭建完毕。后面只需要把应用代码放进Nginx的html内,并将应用与数据库连接的配置文件设定完毕即可。