之前有一篇博客写的是LAMP的环境搭建,今天来详细介绍一下另外一个模式——LNMP=Linux+Nginx+MySQL+PHP。

一、在Linux系统下nginx的安装过程,先到http://nginx.org/download/这个网站找到自己需要下载的版本,复制下载的链接地址,这里以nginx-1.6.2为例,在命令行输入命令:

 cd /usr/local/src  //将安装包下载到/usr/local/src目录下
 wget http://nginx.org/download/nginx-1.6.2.tar.gz
 tar zxvf nginx-1.6.2.tar.gz //解压缩
 cd nginx-1.6.2  //切换到解压后的nginx目录
./configure --prefix=/usr/local/nginx   //安装到/usr/local目录下

在执行上述命令的时候我的服务器报了一个错误:

上述错误说找不到C编译器,那就给你装个编译器,输入命令:

 yum -y install gcc gcc-c++ autoconf automake make

执行完后再使用安装命令 ./configure --prefix=/usr/local/nginx 已经不报上述错误啦,但是又提示了一个新的错误:

HTTP重写模块需要PCRE库,这就要安装PCRE库啦:

yum install pcre

输入命令居然又提示我已经安装了pcre库,Nothing to do...

这时候就要检查一下pcre-devel是否已安装了,同样输入命令:

yum install pcre-devel

执行命令,果然是没有devel,输入y继续安装完成,完成以后再次执行安装命令:

./configure --prefix=/usr/local/nginx

结果事与愿违又报了一个错:

HTTP GZIP模块需要ZLIB库,又是缺少库,按照上面那个套路再走一遍吧,命令:

yum install zlib

提示我Nothing to do...,呵呵哒,继续命令:

 yum install zlib-devel

果然又是缺少devel,安装完成后再再次执行安装命令:

 ./configure --prefix=/usr/local/nginx

这次终于安装完成了,简直一波三折:

最后执行编译命令:

make && make install

nginx的体积比apache小的多,所以编译所需时间也很短.编译完成后切换到/usr/local/nginx目录将看到四个目录:

conf 主要放置配置文件

html 主要放置网页文件

logs 主要放置日志文件

sbin 主要放二进制程序

想启动nginx的话只需要输入命令:

 ./sbin/nginx 

注意:如果你在前面已经安装了apache的话,这时候可能会报一个错误,

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)    //这是因为你的80端口已经被占用,启动nginx的时候冲突
netstat -tunlp   //查看正在运行的服务或软件

找到占用80端口的软件或者服务将其关闭即可,之后再输入./sbin/nginx 命令,如果人品正常的话应该已经正常启动了.

二、yum安装MySQL:

yum install mysql mysql-devel mysql-server

这个没啥好说的,一路y安装下来即可

三、安装PHP:

先到PHP官网找到需要的版本,以php-5.6版本为例输入命令:

cd /usr/local/src
wget https://www.php.net/distributions/php-5.6.36.tar.gz
tar zxvf php-5.6..tar.gz
cd php-5.6.

切换到解压好的目录进行编译,编译的时候需要加上一些支持,如mysqlnd、ttf、gd等(ps:Apache+PHP的编译安装和nginx+PHP的安装是不同的,

apache一般是把php当做自己的一个模块来启动的,而nginx则是把http请求变量转发给php进程,即将php当做一个独立进程与nginx进行通信,称为 fastcgi运行方式):

./configure --prefix=/usr/local/php --with-mysql=mysqlnd --enable-mysqlnd --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --enable-fpm

编译时需要注意可能会提示错误,如缺少某些包,这时候像上面安装nginx一样的套路,比如我遇到未找到libxml2的错误,直接命令:

yum install libxml2 libxml2-devel

果然又是缺少包,安装完成后再次编译,此时又提示我:

configure: error: png.h not found.

这是因为安装GD模块缺少libpng 与 libpng-devel:

yum install libpng libpng-devel

在编译顺利完成,完成后别忘记:

make && make install

编译完成后还要做一些PHP的配置操作:

cp /usr/local/src/php-5.6.36/php.ini-development php.ini-production
cp /usr/local/src/php-5.6.36/php.ini-development ./lib/php.ini
cp etc/php-fpm.conf.default etc/php-fpm.conf

到这里就已经完成了LNMP的搭建,别忘了cd /usr/local/php目录启动PHP:

./sbin/php-fpm
netstat -tunlp   //查看正在运行的服务或软件

LNMP环境搭建详细教程的更多相关文章

  1. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)

    win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...

  2. 区块链学习——HyperLedger-Fabric v1.0环境搭建详细教程

    相对与v0.6版本来说,1.0版本改变较大,此处不多说,只是将小白自己搭建1.0环境的过程分享给大家.希望对大家能有所帮助! 这一篇可能对前面的环境搭建会写的有些粗略,如有疑问,可阅读上一篇V0.6版 ...

  3. [新手教程]windows 2003 php环境搭建详细教程(转)

    对于windows服务器的php环境配置一直是是新人朋友的难题,也难倒了很多高手.这里分享一个新手教程,给那些建站新人使用.本教程来自朋友吴文辉的博客,欢迎大家有时间可以访问他的博客:吴文辉博客htt ...

  4. 区块链学习——HyperLedger-Fabric v0.6环境搭建详细教程

    v0.6 的架构相对简单,适合作为实验或学习来使用. 一.环境准备 一台云服务器(笔者使用的是阿里云的1核-2GB内存) Go语言环境 Docker安装 docker-compose安装 二.环境搭建 ...

  5. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)

    目录 前言 第一步:安装Anaconda 1.下载和安装 2.配置Anaconda环境变量 第二步:安装TensorFlow-GPU 1.创建conda环境 2.激活环境 3.安装tensorflow ...

  6. Android安卓开发环境搭建详细教程

    安装目录:步骤1 安装JDK步骤2 安装 Android SDK ----http://www.androiddevtools.cn/ 步骤3 安装Tomcat步骤4 安装Ant步骤5 安装Eclip ...

  7. Node环境搭建--详细教程

    下载地址: https://nodejs.org/en/download/ 版本:10.15.3 检测是否安装成功:我之前安装的是10.14版本

  8. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...

  9. zookeeper集群环境搭建详细图文教程

    zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...

随机推荐

  1. Kafka实战-Storm Cluster

    1.概述 在<Kafka实战-实时日志统计流程>一文中,谈到了Storm的相关问题,在完成实时日志统计时,我们需要用到Storm去消费Kafka Cluster中的数据,所以,这里我单独给 ...

  2. SQL 必知必会·笔记<13>插入数据

    INSERT 用来将行插入(或添加)到数据库表.插入有几种方式: 插入完整的行: 插入行的一部分: 插入某些查询的结果. 1.1 插入完整的行 存储到表中每一列的数据在VALUES 子句中给出,必须给 ...

  3. window下安装绿色版5.7

    1. 在mysql的安装目录下创建my.ini,并配置必要参数. 2. 执行命令mysqld --initialize-insecure --basedir=/opt/mysql/mysql  --d ...

  4. Linux系列教程(三)——Linux学习技巧

    前面我们讲了Linux系统的详细安装教程,大家跟着教程一步一步的操作,应该能完美的完成安装.那么这篇博客跟大家聊聊如何来学习Linux. 1.工欲善其事必先利其器 ①.第一个问题:通过前面在虚拟软件中 ...

  5. GNU μC/OS-II 在 S3C2440 上中断的实现

    上一篇文章介绍了S3c2440的中断体系结构,今天我们来分析一下GNU-uC/OS-II在S3c2440上中断的实现. 首先找到IRQ的中断的向量,位于 2440init.S : OK ,我们通过名字 ...

  6. js串口通信 调用MSCOMM32控件 链接电子秤(完整版实现方案)

    硬件环境:RS232转USB串口线*1 电子秤*1(本人采用G&G E600Y-C型号称重仪) 电子秤原装RS232数据线*1 计算机*1 软件环境:RS232转USB串口线驱动(这个可以在串 ...

  7. css中的float属性以及清除方法 (2011-09-03 17:36:26)

    CSS里面的浮动属性是布局的常用工具,只有真正了解它并熟练使用才能将它的优点发挥到极致. 许多页面中都有文字绕图效果,并且各区块分布得错落有置,很多朋友在自学CSS布局时为了做出这些效果往往会被div ...

  8. Android目录结构及作用

    1.add-ons-->Google API .比如GoogleMaps 2.build-tools-->各版本SDK编译工具. 3.docs-->离线开发者文档Android SD ...

  9. 为什么要先装IIS后装.Net Framework?

    1.动态页面和静态页面的区别 动态页面(动态网站):通过C#代码(或别的语言)与服务器的交互的实现(比如新建一个ashx一般处理程序中的C#代码就可以和服务器实现交互,修改数据库,上传图片等都属于和服 ...

  10. maven配置之:<distributionManagement>snapshot快照库和release发布库

    在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...