一、背景
- 近期在开展新项目,计划使用最新的
CentOS7+nginx+mysql+PHP7
,作为一位linux
下的小白,在整个操作过程中,搜索了大量的信息,个人推荐以下几篇博客,也算是作为自己以后的备忘参考. - 环境:VMWare14.0 、CentOS7
二、centOS7 安装
注意
centos7 的静态 IP 配置较centOS6.5
要麻烦些,此处,本人暂时对网络配置选择了“桥接模式”
,以方便后面的软件安装进行.
三、LNMP 配置指导
⑴. centOS7 安装 nginx
- 在命令行下运行以下命令,本人使用的是 root 账号.
yum install epel-release -y
yum install nginx
systemctl start nginx
nginx -v #(检测版本)
curl -i localhost #(测试安装成功?)
systemctl stop firewalld #(关闭防火墙)
- 在主机浏览器中输入其虚拟机IP进行访问(关闭了防火墙的前提),效果如下:
【补充】:
⑵. centOS7 安装mysql
- 参考指导-MySQL5.7
- #mysql -umoTzxx -pmoTzxx007!
⑶. centOS7 安装PHP7
- 可以参考这篇文章:yum安装新版 php7.0 ,个人觉得较为方便,如果是单独的软件安装,可以参考:Centos7.2 编译安装PHP7
以第一种方法为例
①. 更新yum源:
- 按照系统更新yum源,如果是 centos7,可以运行下面的代码 CentOS/RHEL 7.x
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
- 如果是centos6,那么执行以下代码 CentOS/RHEL 6.x
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
②. 然后直接运行命令
yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel
- 可以查看一下 php 拓展:
php -m
- PHP7 安装完成之后,可以输入命令
php -v
,查看是否显示其安装版本.
⑷. nginx 整合 php-fpm
- 检查PHP7 成功安装之后,接下来就是配置 Nginx 来支持 php解析,不然是无法访问 php 文件的.此处我是参考文章【 配置Nginx来支持php 】而完成的,尤其注意自己的文件路径可能不一样.
以我的操作系统为例:
①. 首先要找到自己所安装 php-fpm
的安装目录,可以通过命令 whereis php-fpm
查看
②. 注意上图中所搜索到的文件及目名称
- 然后编辑其中的
php-fpm.conf
配置文件,查看最后一行是否和自己的文件路径匹配,并修改正确.
有的人安装过后并没有
php-fpm.conf
文件,而是有一份php-fpm.conf.default
文件,此时可以复制此文件重命名为“php-fpm.conf”
,再继续上面的操作.
cp php-fpm.conf.default php-fpm.conf
③. 打开目录 /etc/php-fpm.d
- 找到配置文件
www.conf
,(此处有的人可能只有一份www.conf.default
,同样可以复制重命名一份),然后将user
、group
改的与文件nginx.conf
中的user
、group
一致
user = nginx
group = nginx
④. 此时试着启动 php-fpm
[root@bogon php-fpm.d]# /usr/sbin/php-fpm
上述原因是 9000 端口已经被占用,此时可以查看占用 9000端口 的程序,必要时将其停止
netstat -lntup | grep 9000
- 将程序关掉之后,再次启动
php-fpm
⑤. 添加开机启动 php-fpm
的操作
- 打开开机启动的配置文件
/etc/rc.local
,在最后添加一行/usr/sbin/php-fpm
即可
⑥. 修改 nginx
的配置文件
- 修改 nginx 的配置文件,从而支持 php 文件的解析,找到 location的添加位置,在后面添加下面这个 location
location ~ \.php$ {
root html; #指定php的根目录
fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
提供我的配置文件如下,注意其中的变化,我是按照前面的操作,稍作了修整
测试 nginx.conf 是否修改成功
/usr/sbin/nginx -t
⑦ . 测试效果
我在项目根目录下新建了一个
index.php
文件,并把之前的index.html
文件改了名字避免默认访问这个文件,只添加简单的代码测试即可
注意:要想局域网被访问,需要关闭防火墙,并开启
nginx
、php-fpm
服务
systemctl start nginx
systemctl start php-fpm
systemctl stop firewalld (关闭防火墙)
四. 重要扩展的安装
其实,通过上面的步骤(三)- 3,就能一次性完成重要扩展的安装,建议可以参考文章 yum 安装新版 php7.0
⑴. [redis 安装]
⑵. [memcached 安装]
五. 附录
⑴. 文章推荐
⑵. 其他
- 所有版本的 nginx 下载地址 - http://nginx.org/download/
- 此命令可以一键安装开发工具包
yum -y groupinstall "Development Tools" "Development Libraries"
- nginx 依赖包一键安装
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel
⑶. 拓展学习
- nginx 安装成功后进行添加扩展的方法