本文由秀依林枫提供友情赞助,首发于烂泥行天下

以前在centos下安装软件都是喜欢源码安装,不过昨天因为一个事情需要一个centos 下的LNMP环境。反倒不会搞了,今天特意记录下,以备后续使用。

一、安装nginx

我们先来安装nginx,如下:

yum -y install nginx

通过上图,我们可以看到目前的yum源中是没有nginx软件包的。我们需要安装包含nginx的yum源,如下:

rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

查看刚刚安装的rpm包,如下:

rpm -ql nginx-release-centos-6-0.el6.ngx.noarch

通过上图,我们可以很明显的看出刚刚安装的rpm包,只是新添加了一个nginx的yum源。查看该yum源,如下:

cat /etc/yum.repos.d/nginx.repo

现在我们再来通过yum来安装nginx,如下:

yum -y install nginx

通过上图,我们可以很明显的看出nginx已经安装。

现在来查看nginx安装的位置及其文件,如下:

rpm -ql nginx

通过上图,我们可以很明显的看出nginx默认安装到/etc/nginx目录,而nginx的默认网站安装到/usr/share/nginx/html目录下。

现在我们来启动nginx,并访问nginx。如下:

/etc/init.d/nginx start

curl http://192.168.1.124

查看nginx运行时使用的用户,如下:

ps -ef |grep nginx

通过上图,我们可以很明显的看出nginx是root用户启动,但是nginx运行时使用的是nginx这个用户。

二、安装php及php-fpm

安装php及php-fpm,使用如下命令:

yum -y install php php-fpm

查看php-fpm安装的位置及其文件,如下:

rpm -ql php-fpm

启动php-fpm,使用如下命令:

/etc/init.d/php-fpm start

ps -ef |grep php-fpm

netstat -tunlp |grep 1355

通过上图,我们可以看出php-fpm运行时使用apache这个用户,而且php-fpm监听的是本机的9000端口。

如果要修改php-fpm运行时的用户及端口的话,我们可以通过修改php-fpm配置文件/etc/php-fpm.d/www.conf,如下:

cat /etc/php-fpm.d/www.conf |grep -v '^;'|grep -v ^$

三、nginx与php集成

nginx与php集成是通过fastcgi来实现,而fastcgi我们一般使用的是php-fpm。在第二章,我们已经启动php-fpm,现在我们来修改nginx配置文件使其支持php。

现在我们修改nginx的默认网站配置文件default.conf,如下:

cat /etc/nginx/conf.d/default.conf

server {

listen 80;

server_name localhost;

location / {

root /usr/share/nginx/html;

index index.php index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root /usr/share/nginx/html;

}

location ~ \.php$ {

root /usr/share/nginx/html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

以上配置完毕后,我们再重启nginx和php-fpm,如下:

/etc/init.d/nginx restart

/etc/init.d/php-fpm restart

以上是修改nginx的默认网站,现在我们新加一个nginx虚拟主机,并使其支持php,如下:

vi /etc/nginx/conf.d/ilanni.conf

server {

listen 80;

server_name test.ilanni.com;

location / {

root /ilanni;

index index.php index.html index.htm;

}

location ~ \.php$ {

root /ilanni;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

nginx虚拟主机配置文件完毕后,现在来创建虚拟主机ilanni的index.php,如下:

mkdir /ilanni

vi /ilanni/index.php

<?php phpinfo(); ?>

修改ilanni目录的所属用户,如下:

chown nginx:nginx -R /ilanni/

ll /ilanni/

如上图所示,我们现在把ilanni这个目录修改为nginx运行时使用的用户nginx。

现在我们再来修改php-fpm运行时的用户,如下:

vi /etc/php-fpm.d/www.conf

我们来重启nginx与php-fpm,如下:

/etc/init.d/nginx restart

/etc/init.d/php-fpm restart

通过上图,我们可以看到nginx的虚拟主机已经可以正确解析php。

四、安装mysql

安装MySQL,使用如下命令:

yum -y install mysql mysql-server php-mysql

安装完毕后,启动mysql。如下:

/etc/init.d/mysqld start

现在我们在nginx默认网站创建一个mysql.php文件,用来连接mysql数据库。mysql.php内容如下:

cat /usr/share/nginx/html/mysql.php

<?php

$host='localhost';

$root='root';

$pwd='';

$con= mysql_connect($host,$root,$pwd);

if ( $con == false ) {

echo "connect false";

} else{

echo "connect true";

}

?>

重启nginx、php-fpm、mysql,如下:

/etc/init.d/nginx restart

/etc/init.d/php-fpm restart

/etc/init.d/mysqld restart

现在通过访问该mysql.php文件,如下:

http://192.168.1.124/mysql.php

通过上图,我们可以很明显的看出php已经解析mysql.php文件,并且也已经成功的连接mysql数据库。

烂泥:学习centos之快速搭建LNMP环境的更多相关文章

  1. 烂泥:学习ubuntu之快速搭建LNMP环境

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 现在公司使用的都是ubuntu系统,这几天由于个别项目需要,需要搭建一个LNMP环境.为了快速搭建这个环境,我使用是apt-get方式进行安装.具体的操作 ...

  2. 阿里云体验实验室 教你如何《快速搭建LNMP环境》

    ## 体验平台简介 面向开发者和中小企业打造的一站式.全云端的开发平台,打开浏览器就可以开发.调试.上线,所测即所得,并结合无服务器的模式,重新定义云原生时代的研发工作方法论.旨在降低开发者上手成本和 ...

  3. 【转载】Centos系统快速部署LNMP环境

    PHP语言在Linux系统上运行的时候,需要在Linux系统上部署相应的Nginx.MySQL.PHP等环境,只有将这些环境参数都设置好,PHP相关应用程序才可正常运行,部署环境的方法有很多种,可手动 ...

  4. CentOS 7 上搭建LNMP环境

    (转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...

  5. Docker快速搭建LNMP环境

    一.使用Dockerfile制作镜像 前面的博客中已经介绍了如何基于容器制作镜像,此方法的原理是使用一个正在运行的容器,根据生产所需进行配置更改等操作后,使其满足生产环境,再将这个容器打包制作为镜像, ...

  6. 小白简单快速搭建lnmp环境(centos7)

    本来想着自己搭建lnmp,由于php包下载不下来因此这次本人使用的lnmp一键包搭建的环境(很遗憾还没有php7.3.5)很详细并且方便快捷网址https://lnmp.org/install.htm ...

  7. centos7.2环境yum方式快速搭建lnmp环境nginx+mariadb+php-fpm

    centos7.2环境yum方式安装nginx+mariadb+php-fpm 1.安装lnmp环境 安装epel源 yum install -y epel-release 安装 MySQL + PH ...

  8. centos 6.5搭建LNMP环境

    1:查看环境: 1 2 [root@10-4-14-168 html]# cat /etc/redhat-release CentOS release 6.5 (Final) 2:关掉防火墙 1 [r ...

  9. vagrant快速搭建LNMP环境并且打包带走留着以后用

    不多说废话,全文文字,照着输就没问题 vagrant下载 可以到VirtualBox的官网进行下载:  https://www.virtualbox.org/wiki/Downloads vagran ...

随机推荐

  1. 解析大型.NET ERP系统架构设计 Framework+ Application 设计模式

    我对大型系统的理解,从数量上面来讲,源代码超过百万行以上,系统有超过300个以上的功能,从质量上来讲系统应该具备良好的可扩展性和可维护性,系统中的功能紧密关联.除去业务上的复杂性,如何设计这样的一个协 ...

  2. word-break: break-all;、word-break: keep-all; 、word-wrap: break-word;和white-space:nowrap;都有什么作用

    小颖最近心情不好,心情不好就容易做傻事,所以昨天就干了件傻事 小颖昨天脑子一抽去拔罐了,拔完我就~~~~~~~~~~~~疼死宝宝了,昨晚一晚都没睡好,都不敢平躺,难受一晚上,早上到公司后困得啊,也是傻 ...

  3. ASP.NET Core中的依赖注入(2):依赖注入(DI)

    IoC主要体现了这样一种设计思想:通过将一组通用流程的控制从应用转移到框架之中以实现对流程的复用,同时采用"好莱坞原则"是应用程序以被动的方式实现对流程的定制.我们可以采用若干设计 ...

  4. ENGLISH抠脚童鞋的福利--GitHub汉化插件

    今天在某前端群看到一个插件,激动万分啊!我就把插件使用实现的步骤分享一下! 打开chrome浏览器输入地址:chrome://extensions/ : 跳转到其他页面,点击左上角--扩展程序: 将T ...

  5. ASP.NET Core 中文文档 第四章 MVC(3.6.2 )自定义标签辅助类(Tag Helpers)

    原文:Authoring Tag Helpers 作者:Rick Anderson 翻译:张海龙(jiechen) 校对:许登洋(Seay) 示例代码查看与下载 从 Tag Helper 讲起 本篇教 ...

  6. CSS知识总结(六)

    CSS常用样式 4.段落样式 1)行高 控制段落内每行高度 line-height : normal | length 例子 源代码: /* CSS代码 */ .normal{ line-height ...

  7. EF里单个实体的增查改删以及主从表关联数据的各种增删 改查

    本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...

  8. JVM之内存结构

    JVM是按照运行时数据的存储结构来划分内存结构的.JVM在运行Java程序时,将他们划分成不同格式的数据,分别存储在不同的区域,这些数据就是运行时数据.运行时数据区域包括堆,方法区,运行时常量池,程序 ...

  9. Java内部类学习笔记

    20160923 定义:将一个类的定义放在另一个类的内部: 从外部类的非静态方法之外,创建某个内部类的对象:OutClassName.InnerClassName: 内部类拥有所有其外部类的成员的访问 ...

  10. 认识Git

    ---恢复内容开始--- Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git作为当下最潮流的版本控制工具也是有他独特的不同,最大的不同就在于他有分布式版本管理的 ...