LNMP 指的是什么呢,这里可以“望文生义”,其是linux  NGINX  Mysql  PHP的组合。每一种工具的安装都有其特长来吸引我们去使用它,对此就要了解其组合的各个工具的特点:

Linux:不用多说,这是我们都熟知的以开源系统,是一类Unix计算机操作系统的统称,是目前最流行的免费的操作系统。

NGINX:是一个高性能的HTTP和反向代理服务器,是一个小巧而高效的Linux下的Web服务器软件。Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗资源极少。

Mysql:是一个小型关系型数据库管理系统,现在市场份额也在不断的扩大。

PHP:一种在服务器段执行的嵌入HTML文档的脚本语言,市场需求在不断攀升。

简单了解了LNMP后,下来就是来搭建了

搭建之前呢,要先到相应的官网下载相应的源码,这里我已下载下来了,它们是

libevent-2.0.18-stable.tar.gz
mysql-5.5.15-linux2.6-i686.tar.gz
nginx-1.3.16.tar.gz
php-5.4.14.tar.bz2
xcache-3.0.1.tar.gz

对于各个部分的搭建顺序,每一一个一成不变的次序,但由于PHP要依赖NGINX和Mysql模块的,所以,要先对NGINX和Mysql来进行安装

这里,为了可以使用到各模块的最新功能,采用源码来安装。而Mysql的源码安装,其官方还为我们提供了二进制版的,为我们省去了不少“麻烦”,对于我这样的懒人,当然不会“自找麻烦了”,这里就采用二进制版来安装。

首先来进行拆包: tar -zxvf mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/切换到解压的目录可以看到解压出的目录名字很长,为了操作的方便,这里为其做一个软连接:

ln -s mysql-5.5.15-linux2.6-i686/  mysql

然后切换到mysql目录下,可以看到官方提供的安装文档INSTALL-BINARY,根据里面的步骤做就好

创建组:groupadd -r mysql

创建用户:useradd -r -g mysql mysql -M

改变所有者:chown -R mysql .

改变所属组:chgrp -R mysql .

初始化:scripts/mysql_install_db --user=mysql

然后把权限改回来:  chown -R root .   chown -R mysql data

然后拷贝并生成mysql配置文档:cp support-files/my-medium.cnf /etc/my.cnf

拷贝并生成mysql的控制文件:cp support-files/mysql.server /etc/init.d/mysqld,赋予其可执行权限:chmod a+x /etc/init.d/mysqld

利用 chkconfig --add mysqld来把其加入开机启动进程。

启动mysql。

在profile文件中加入mysql环境变量

把库文件的路径加入变量里vim /etc/ld.so.conf.d/mysql.conf:/usr/local/mysql/lib

然后执行ldconfig命令来刷新,接着来看能不能找到库文件

然后对头文件include做一个软连接:ln -s include /usr/include/mysql

启动mysql,且为root用户设置密码:mysqladmin -u root -p password 'wgz0224gz'

到此,mysql的搭建就完成了。

下面来搭建NGINX。

安装nginx之前,首先要安装pcre(正则表达式库)和livevent(提高应用程序的性能)

安装pcre-devel就采用rpm包来安装就好

然后源码安装livevent

首先依旧先拆包 tar -zxvf libevent-2.0.18-stable.tar.gz  -C /usr/local/src/,切换到解压的目录

执行以下命令

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

make

make install

切换到安装目录,对库文件做相应的处理

vim /etc/ld.so.conf.d/libevent.conf 加入路径/usr/local/libevent/lib

然后执行如图示命令

然后对头文件做软连接: ln -s /usr/local/libevent/include/  /usr/include/libevent

然后来安装nginx

首先拆包 tar -zxvf nginx-1.3.16.tar.gz -C /usr/local/src/然后切换到解压的目录中去

创建组和用户:

接下来执行如下命令:

./configure \

--conf-path=/etc/nginx/nginx.conf \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \

--user=nginx \

--group=nginx \

--with-http_ssl_module \

--with-http_flv_module \

--with-http_stub_status_module \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/tmp/nginx/client/ \

--http-proxy-temp-path=/var/tmp/nginx/proxy/ \

--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \

--with-pcre

make

make install

然后在/etc/init.d/目录下做一个控制脚本nginx

然后为其附加可执行权限:chmod a+x nginx

然后把其加入chkconfig管理:chkconfig --add nginx然后创建一个目录:

mkdir -pv /var/tmp/nginx/client

接着启动nginx:service nginx start然后测试nginx是否启动成功

然后来安装php(fastcgi)

首先依旧进行拆包: tar -jxvf php-5.4.14.tar.bz2 -C /usr/local/src/

切换到刚解压的目录,执行如下老三部的命令:

./configure    \

--prefix=/usr/local/php \

--enable-fpm   \

--enable-sockets  \

--with-mysql=/usr/local/mysql \

--with-mysqli=/usr/local/mysql/bin/mysql_config  \

--enable-mbstring  \

--enable-xml  \

--with-png-dir \

--with-png  \

--with-jpeg-dir  \

--with-zlib  \

--with-freetype-dir \

--with-config-file-path=/etc/php \

--with-config-file-scan-dir=/etc/php5.d

make

make install

创建两个目录: mkdir /etc/php /etc/php5.d

拷贝生成php.ini文件:进入源码目录 cp php.ini-production  /etc/php/php.ini

拷贝生成php-fpm的控制脚本:进入源码目录cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm赋予其可执行权限chmod  a+x /etc/init.d/php-fpm

拷贝产生php-fpm的配置文件:进入php的安装目录下的etc目录

cp php-fpm.conf.default php-fpm.conf

启动php-fpm:

service  php-fpm  start

chkconfig  --add php-fpm

接下来为了让nginx能解析php的请求,需要编辑nginx的配置文件vim /etc/nginx/nginx.conf

然后进行测试:

首先要在/usr/local/nginx/html/目录下编辑一个php文件,这里我把index.html改为php文件,来更好的说明nginx与php 的关联:mv index.html index.php编辑这个php文件,在后面追加如下图的内容:

重启nginx,在浏览器里测试:

接下来测试与mysql的连接性,同样要先编辑这个php文件,在后面追加如下图内容(内容自己编辑,只要达到测试的目的即可)

重启服务,利用浏览器进行测试:

当把mysql停掉时

看来各模块已经成功衔接了。

下面来做php加速

首先依旧是拆包:tar -zxvf xcache-3.0.1.tar.gz -C /usr/local/src/

然后切换到源码目录,由安装文档知,首先切换到php安装目录里执行/usr/local/php/bin/phpize(为了生成configure文件),接着就是执行我们所熟知的老三部了:

./configure --enable-xcache  --with-php-config=/usr/local/php/bin/php-config

make

make install(执行完后会出现一条目录,要记下来后面要用:

/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/)

然后整合xcache与php,已达到加速php的目的:cp xcache.ini  /etc/php5.d

然后编辑该文件:vim /etc/php5.d/xcache.ini

为了方便管理xcache,可以进行如下操作

cd /usr/local/src/xcache-3.0.1/

cp -r htdocs/ /usr/local/nginx/html/

cd /usr/local/nginx/html/htdocs/

chmod a+r index.php

然后编辑文件vim /etc/php5.d/xcache.ini

添加账号和密码,但是密码需要md5加密的,所以先要生成一个md5加密的密码

然后把账号和密码(自己定)加入/etc/php5.d/xcache.ini中

然后重启服务,并测试

到此,基于nginx的LNMP就大功告成啦

转载于:https://blog.51cto.com/6320172/1186037

基于centos5.8源码安装nginx之LNMP相关推荐

  1. mysql安装 张宴_Linux_centos5 源码安装Nginx + mysql + apache + php的方法,主要依照的是张宴的一篇博文 - phpStudy...

    centos5 源码安装Nginx + mysql + apache + php的方法 主要依照的是张宴的一篇博文<http://blog.s135.com/post/366/>,安装的软 ...

  2. linux源码安装nginx

    任务目标:源码安装nginx,作为web服务修改配置文件,让配置生效,验证配置 首先要去官网nginx.org下载一个tar包: tar xvf 解包 进入到解包出来的目录,对configure进行配 ...

  3. 源码安装nginx以及平滑升级

    源码安装nginx以及平滑升级 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 这个博客不方便上传软件包,我给大家把软件包放到百度云 ...

  4. linux access源码,从零开始学习Linux:Day04 源码安装Nginx 。acess/status/referer

    从零开始学习Linux:Day04 源码安装Nginx .acess/status/referer 常见web服务器有IIS,apche,nginx,tomcat,tengine等等,现在nginx使 ...

  5. 源码安装nginx 1.23.1

    先看看仓库们 yum list nginx* 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile bas ...

  6. linux下源码安装nginx

    LNMP模式 后续继续更新,先搭建nginx 安装环境gcc gcc-c++ 2 下载源码包解压 配置第一个报错 安装openssl openssl-devel yum -y install open ...

  7. 源码包nginx 配置php,源码安装Nginx和PHP

    1.安装编译环境 yum -yinstall gcc gcc-c++ automake autoconf libtool make glibc yum -y install libmcrypt-dev ...

  8. linux 源码安装 Nginx

    1.安装前环境准备 安装make: # yum -y install gcc automake autoconf libtool make 安装g++: # yum install gcc gcc-c ...

  9. 测试CSDN的博客功能好不好用——YUM安装Nginx或源码安装Nginx

    yum安装 # 安装openssl1.0.2只需要使用Ali的base库,如下 [root@CentOs1612 /etc]# cat <<EOF > /etc/yum.repos. ...

最新文章

  1. ruid/euid/suid
  2. SVG.js 文本绘制整理
  3. 神经网络训练集两张图片之间的相互作用
  4. python语言的缺点-python优缺点分析及python种类
  5. wp8.1 全球化解决办法
  6. C++ shared_ptr make_shared是什么意思
  7. android定时截取屏幕内容,Android 截取手机屏幕两种实现方案解析
  8. 十七款PDF在线处理转换器,目前最全合集
  9. win10系统dnf安装不上服务器,升级到Win10正式版后不能玩DNF如何解决?
  10. PX4 mixer load
  11. 线性代数【13】基,基本向量、坐标系的构建和线性生成空间SPAN (向量线性相关)
  12. java赵云主角兵器谱游戏_三国赵云所用的龙胆亮银枪的起源——传奇兵器谱一、“百兵之王”枪...
  13. 汽车控制器自研AUTOSAR开发工具链需要哪些?
  14. 2022.06青少年软件编程(Python)等级考试试卷(四级)
  15. 雷击浪涌设计:保险丝选型
  16. ElasticSearch之别名_aliases
  17. 【Linux-scp】scp命令
  18. Net-snmp添加子代理示例
  19. LTE学习笔记--PHY--TM模式
  20. 空洞卷积原理详解及其pytorch代码实现

热门文章

  1. NFS4文件锁机制探秘
  2. Java:反射+泛型:获取类型参数的实例
  3. jquery实现增删改(伪)-老男孩作业day13
  4. socket跟TCP/IP 的关系,单台服务器上的并发TCP连接数可以有多少
  5. 《实用软件架构:从系统环境到软件部署 》——2.4 架构视图与架构视点
  6. 理解UI线程——SWT, Android, 和Swing的UI机理
  7. Python第一天学习---基础语法
  8. sublime快捷键收藏
  9. Hadoop 新增删除节点
  10. django 1.3下关于静态文件staticfiles的设置