Centos7下yum安装配置nginx与php

实现LNMP环境搭建。

开始安装Nginx和PHP-FPM之前,首先卸载系统中以前安装的Apache和PHP保证安装不会冲突。用root登录输入下面的命令:

yum remve httpd* php*  

增加额外资源库

    默认情况下,CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。我们可以这样增加两个资源库:

1:安装nginx:

yum install nginx  

安装完成后可以启动nginx,在浏览器里面访问,查看nginx是否安装成功。端口默认为80。

  1. systemctl start nginx  
  2. nginx中yum安装的默认网站根目录在/usr/share/nginx/html  

结果如下:

表示已成功安装nginx.

2:安装PHP和PHP-FPM:

yum install php php-fpm  
  1. 启动php-fpm  
  2. systemctl start php-fpm  

3:将PHP与mysql模块关联起来:

数据库再变不在安装。

  1. 可以通过yum install mariadh mariadb-server 安装  
yum install php-gd php-mysql php-mbstring php-xml php-mcrypt  php-imap php-odbc php-pear php -xmlrpc  

4:配置nginx与php一起工作:

Nginx+FastCGI运行原理 Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当Nginx将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给Nginx;最后,Nginx将返回的数据发送给客户端,这就是Nginx+FastCGI的整个运作过程。详细的过程,如下图所示:

打开nginx主配置文件。

vim /etc/nginx/nginx.conf

在http模块中添加配置:  

       location / {  
        root   /usr/share/nginx/html;  
           index  index.html index.htm index.php;  
        }  
location ~ \.php$ {  
           root           html;  
           fastcgi_pass   127.0.0.1:9000;  
           fastcgi_index  index.php;  
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;  
           include        fastcgi_params;  
       }  

5:测试nginx与php是否正常。

重启nginx服务器,在网站根目录创建一个index.php文件

# vi /usr/share/nginx/html/info.php    

文件内容如下:

<?php    
phpinfo();    
?>    

可以看到我们的php文件可以加载出来了。此时我们的nginx已经与php关联可以共同工作了。即LNMP环境搭建完毕。

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Mailpile

在本教程中,我们将在Ubuntu 14.04上安装Mailpile,一个快速,安全,漂亮的Webmail客户端。

640
来自专栏张戈的专栏

升级Nginx1.9.5以上版本,开启博客网站http2.0时代

最近给张戈博客全站开启了 https,所以对这块关注比较多。昨天脑补的时候发现 http2.0 只支持 SSL 加密的网站,即 https。于是心血来潮,给张戈...

43610
来自专栏jeremy的技术点滴

rsync配合ssh在不稳定网络下传输大文件

3667
来自专栏小樱的经验随笔

【批处理学习笔记】第五课:简单的批处理命令(4)

start 命令   调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。     如:start calc.exe 即可打开Windows...

2454
来自专栏程序小工

【Linux】网站上线

作为后端程序员,对网站上线的操作需要有一定的了解,对于一些没有专门运维人员的公司,运维上线的操作就需要后端程序员来执行。 需要学习域名解析、本地文件和服务器文...

792
来自专栏云计算教程系列

如何在Ubuntu 14.04上优化Tomcat安装

Tomcat是Java Servlet和JavaServer Pages技术的流行实现。它由Apache Software Foundation根据流行的Apa...

40
来自专栏Jerry的SAP技术分享

如何使用Putty登录安装在VirtualBox里的ubuntu

在VirtualBox里操作ubuntu的终端不是很方便,比如我想在Windows里复制一些命令到ubuntu的终端执行。而Putty默认即可支持这个跨系统的复...

3677
来自专栏北京马哥教育

Linux之任务计划

用过windows的同学应该都知道在控制面板中有一个“任务计划”选项,我们可以通过向导设置让计算机在某个时间点或者开机时运行某个脚本或者批处理等等,方便我们的...

2504
来自专栏云计算教程系列

如何在Debian上安装MongoDB

MongoDB是一个免费的开源NoSQL文档数据库,在现代Web应用程序中常用。本教程将帮助您在服务器上安装MongoDB,以便在生产应用环境中使用。您将安装M...

952
来自专栏逸鹏说道

Linux网络那点事

跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux 之前的之前说过网络自连接的配置(Cen...

27311

扫码关注云+社区