实现LNMP环境搭建。

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

  1. yum remve httpd* php*

增加额外资源库

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

1:安装nginx:

  1. yum install nginx

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

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

结果如下:

表示已成功安装nginx.

2:安装PHP和PHP-FPM:

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

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

数据库再变不在安装。
  1. 可以通过yum install mariadh mariadb-server 安装
  1. 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

  1. 在http模块中添加配置:
  2. location / {
  3. root   /usr/share/nginx/html;
  4. index  index.html index.htm index.php;
  5. }
  6. location ~ \.php$ {
  7. root           html;
  8. fastcgi_pass   127.0.0.1:9000;
  9. fastcgi_index  index.php;
  10. fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  11. include        fastcgi_params;
  12. }

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

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

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

文件内容如下:

  1. <?php
  2. phpinfo();
  3. ?>

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

最新文章

  1. [LeetCode] Remove Nth Node From End of List 移除链表倒数第N个节点
  2. 7 款免费的 Metro UI 模板
  3. jQuery 鼠标滚轮插件应用 mousewheel
  4. React.js再探(二)
  5. 转:iOS 屏幕适配,autoResizing autoLayout和sizeClass图文详解
  6. linux crontab详解
  7. angular实现输入框输入添加 搜索框查询
  8. ISCC 2018(数字密文)
  9. swagger.net 使用nginx 代理时出现端口号导致出错
  10. input ,button, textarea 1)使用disabled , 2) 显示值, 3) 表单提交. 4) jquery.form.js ajaxSubmit() 无刷新ajax提交表单.
  11. jenkins动态参数插件Dynamic Parameter安装及简单使用
  12. BZOJ3569:DZY Loves Chinese II(线性基)
  13. 【LOJ】#2183. 「SDOI2015」序列统计
  14. cloudera项目源代码
  15. JavaScript的 基本数据类型---对象
  16. js根据选中的复选框,隐藏那一行
  17. 第三方苹果开发库之ASIHTTPRequest
  18. 第220天:Angular---路由
  19. 转载manifold learning一篇
  20. C语言堆排序

热门文章

  1. VA插件突然不能使用,彈出“the security key for....”
  2. Bzoj4237 cdq分治+树状数组+单调栈
  3. 图的基本操作(基于邻接表):图的构造,深搜(DFS),广搜(BFS)
  4. Codeforces Round #375 (Div. 2) F. st-Spanning Tree 生成树
  5. oracle创建透明网关出现的问题
  6. EasyNetQ介绍
  7. Lex与Yacc学习
  8. java中Keytool的使用总结
  9. 用Qemu搭建x86_64学习环境
  10. ASP.NET MVC与Sql Server交互, 插入数据