专栏首页木头编程 - moTzxxcentOS7 安装配置 lnmp参考博客整理

centOS7 安装配置 lnmp参考博客整理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/78491591

一、背景

  • 近期在开展新项目,计划使用最新的 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

⑶. centOS7 安装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,同样可以复制重命名一份),然后将 usergroup 改的与文件 nginx.conf 中的 usergroup 一致
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 文件改了名字避免默认访问这个文件,只添加简单的代码测试即可
  • 注意:要想局域网被访问,需要关闭防火墙,并开启nginxphp-fpm 服务
systemctl start nginx
systemctl start php-fpm
systemctl stop firewalld (关闭防火墙)

四. 重要扩展的安装

其实,通过上面的步骤(三)- 3,就能一次性完成重要扩展的安装,建议可以参考文章 yum 安装新版 php7.0

⑴. [redis 安装]

⑵. [memcached 安装]

五. 附录

⑴. 文章推荐

⑵. 其他

yum -y groupinstall "Development Tools" "Development Libraries" 
  • nginx 依赖包一键安装
yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel

⑶. 拓展学习

  • nginx 安装成功后进行添加扩展的方法

  1. centos 使用 yum 安装 nginx 后如何添加模块
  2. 安装成功的 nginx 如何添加未编译安装模块

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CentOS6.5 Nginx无法解析php文件

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

    用户3056046
  • YII 框架学习[1] —— 引入Yii框架

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

    用户3056046
  • ThinkPHP5.0 build 自动生成模块

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

    用户3056046
  • 使用腾讯云容器服务来构建简单web service

    本文将介绍使用nginx和php来构建简单web service,核心在于如何配置nginx的upstream,使得nginx能够与后端服务通信。

    腾讯云容器服务团队
  • lnmp环境快速搭建及原理解析

    刚开始学习php的时候是在wamp环境下开发的,后来才接触到 lnmp 环境当时安装lnmp是按照一大长篇文档一步步的编译安装,当时是真不知道是在做什么啊!脑袋...

    码缘
  • 教你如何在Mac系统下自由搭建Nginx+php-fpm

    由于一直在虚拟机的状态下开发PHP,尝试一下mac本地搭建环境.mac本身是自带Apache+php的,在低版本的mac系统中,mac中的php版本是5.6的版...

    卡二条的技术圈子
  • nginx的502问题

    老七Linux
  • nginx 解决 connect() failed (111: Connection refused) while connecting to upstream,

    也不知道什么问题,就去看了一下nginx日志  /var/log/nginx/error.log,发现了这个错误

    双面人
  • RPO漏洞深入剖析与利用

    PRO的全称为“Relative Path Overwrite”,也就是相对路径覆盖。利用浏览器和服务器对资源加载设置的差异,通过某些方法和技巧,在相对路径处,...

    徐焱
  • CentOS 7 yum一键安装lnmp。仅限小白体验,大神轻喷!

    使用此脚本安装lnmp的服务器必须能出公网,目前只支持CentOS 7以上版本。 2018-06-04更新 Nginx更新至1.14.0、默认关闭selinu...

    瞎扯淡的砸壳猴

扫码关注云+社区

领取腾讯云代金券