(文章来自:http://www.cnblogs.com/i-it/p/3841840.html,请各位到这个网址去看原文的)

LNMP(Linux-Nginx-Mysql-PHP),本文在CentOS7.0上编译LNMP尝尝鲜,全文基本上都是采用手动编译部署...依赖yum帮我安装了GCC和automake..写这个东西耗时有点久了...尼玛 太花时间啦,Linux运维交流群:344177552

主要软件版本:

  1. nginx-1.6.0
    php-5.3.5
    mysql-5.5.6

yum源配置(其实没什么改动)

  1. [root@ipython ~]# cat /etc/yum.repos.d/1.repo 
    [1]
    name=1
    baseurl=file:///media
    enabled=1
    gpgcheck=0
  2.  
  3. [root@ipython ~]# mount /dev/cdrom /media && yum clean all
    mount: /dev/sr0 is write-protected, mounting read-only
    Loaded plugins: fastestmirror
    Cleaning repos: 1
    Cleaning up everything

编译工具安装

  1. [root@ipython ~]# yum install gcc-c++ automake autoconf bzip2

zlib库(提供数据压缩用的函式库):

  1. [root@ipython lnmp]# tar zxf zlib-1.2.8.tar.gz 
    [root@ipython lnmp]# cd zlib-1.2.8
    [root@ipython zlib-1.2.8]# ./configure --prefix=/software/sharelib
    [root@ipython zlib-1.2.8]# make && make install

pcre库(rewrite的支持)

  1. [root@ipython lnmp]# tar zxf pcre-8.35.tar.gz 
    [root@ipython lnmp]# cd pcre-8.35
    [root@ipython pcre-8.35]# ./configure --prefix=/software/pcre --enable-utf8 --enable-unicode-properties
    [root@ipython pcre-8.35]# make && make install

OpenSSL库(https的支持)

  1. [root@ipython lnmp]# tar zxf openssl-1.0.1h.tar.gz 
    [root@ipython lnmp]# cd openssl-1.0.1h
    [root@ipython openssl-1.0.1h]# ./config --prefix=/software/openssl
    [root@ipython openssl-1.0.1h]# make && make install

TCMalloc工具(google内存管理套件)

  1. [root@ipython lnmp]# tar zxf libunwind-1.1.tar.gz 
    [root@ipython lnmp]# cd libunwind-1.1
    [root@ipython libunwind-1.1]# CFLAGS=-fPIC ./configure --prefix=/software/google-libunwind
    [root@ipython libunwind-1.1]# make CFLAGS=-fPIC && make CFLAGS=-fPIC install
  2.  
  3. [root@ipython lnmp]# tar zxf gperftools-2.2.tar.gz 
    [root@ipython lnmp]# cd gperftools-2.2
    [root@ipython gperftools-2.2]# LDFLAGS="-L/software/google-libunwind/lib" CPPFLAGS="-I/software/google-libunwind/include" ./configure --prefix=/software/google-perftools
    [root@ipython gperftools-2.2]# make && make install
  4.  
  5. ###路径加到动态链接库###
    [root@ipython gperftools-2.2]# echo "/software/google-libunwind/lib/" >> /etc/ld.so.conf
    [root@ipython gperftools-2.2]# echo "/software/google-perftools/lib/" >> /etc/ld.so.conf
    [root@ipython gperftools-2.2]# echo "/software/sharelib/lib/" >> /etc/ld.so.conf && ldconfig

Nginx(不解释)

  1. [root@ipython lnmp]# groupadd -1500 nginx
    [root@ipython lnmp]# useradd --1500 -g nginx -/sbin/nologin nginx
    [root@ipython lnmp]# mkdir /var/tmp/nginx
    [root@ipython lnmp]# chown nginx:nginx /var/tmp/nginx/
    [root@ipython lnmp]# tar zxf nginx-1.6.0.tar.gz 
    [root@ipython lnmp]# cd nginx-1.6.0
    [root@ipython nginx-1.6.0]# sed -'s/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/' auto/cc/gcc
    [root@ipython nginx-1.6.0]# sed -"s#/usr/local#/software/google-perftools#" auto/lib/google-perftools/conf
    ##配置参数有点长##
    [root@ipython nginx-1.6.0]# ./configure --prefix=/software/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_realip_module --with-http_gzip_static_module --with-debug --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre=/root/lnmp/pcre-8.35 --with-openssl=/root/lnmp/openssl-1.0.1h --with-zlib=/root/lnmp/zlib-1.2.8 --with-google_perftools_module
    [root@ipython nginx-1.6.0]# make && make install
  2.  
  3. [root@ipython nginx-1.6.0]# mkdir /tmp/tcmalloc
    [root@ipython nginx-1.6.0]# chmod 0777 /tmp/tcmalloc/
    ###这文件在附件里###
    [root@ipython nginx-1.6.0]# cp ../nginx.conf /software/nginx/conf/
    [root@ipython nginx-1.6.0]# cp ../fcgi.conf /software/nginx/conf/
    [root@ipython nginx-1.6.0]# chmod 755 /etc/init.d/nginx
    [root@ipython nginx-1.6.0]# mkdir /data/{logs,www.ipython.me}
    [root@ipython nginx-1.6.0]# /software/nginx/sbin/nginx
    [root@ipython nginx-1.6.0]# iptables -F
    [root@ipython nginx-1.6.0]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    [root@ipython nginx-1.6.0]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
    [root@ipython nginx-1.6.0]# ps aux|grep nginx
    root     61291  0.0  0.0  31120   896 ?        Ss   15:36   0:00 nginx: master process /software/nginx/sbin/nginx -/software/nginx/conf/nginx.conf
    nginx    61293  0.0  0.1  31560  1612 ?        S    15:36   0:00 nginx: worker process

ncurses库(字符终端处理库)

  1. [root@ipython lnmp]# tar jxf ncurses-5.9.tar.bz2 
    [root@ipython lnmp]# cd ncurses-5.9
    [root@ipython ncurses-5.9]# ./configure --prefix=/software/ncurses --with-shared --without-debug
    [root@ipython ncurses-5.9]# make && make install

Mysql(数据库)

  1. [root@ipython lnmp]# /usr/sbin/groupadd mysql
    [root@ipython lnmp]# /usr/sbin/useradd -/sbin/nologin -g mysql mysql
    [root@ipython lnmp]# tar zxf mysql-5.5.6-rc.tar.gz 
    [root@ipython lnmp]# cd mysql-5.5.6-rc
    [root@ipython mysql-5.5.6-rc]# ./configure --prefix=/software/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=partition,innobase,myisammrg --with-named-curses-libs=/software/ncurses/lib/libncurses.so.5
    [root@ipython mysql-5.5.6-rc]# make && make install
    [root@ipython mysql-5.5.6-rc]# mkdir /data/mysql/{binlog,relaylog} -p
    [root@ipython mysql-5.5.6-rc]# chown -R mysql:mysql /data/mysql
    [root@ipython mysql-5.5.6-rc]# /software/mysql/bin/mysql_install_db --basedir=/software/mysql/ --datadir=/data/mysql/ --user=mysql
    ###这文件在附件里###
    [root@ipython mysql-5.5.6-rc]# \cp ../my.cnf /etc/my.cnf
    [root@ipython mysql-5.5.6-rc]# \cp ../mysqld /etc/init.d/mysqld
    [root@ipython mysql-5.5.6-rc]# chmod 755 /etc/init.d/mysqld 
    [root@ipython mysql-5.5.6-rc]# systemctl enable mysqld
    [root@ipython mysql-5.5.6-rc]# systemctl start mysqld
  2.  
  3. [root@ipython mysql-5.5.6-rc]# ps aux | grep mysqld
    root     55475  0.1  0.1 115348  1696 ?        S    16:07   0:00 /bin/sh /software/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid
    mysql    56342  2.7 11.9 1918248 120680 ?      Sl   16:07   0:01 /software/mysql/libexec/mysqld --basedir=/software/mysql --datadir=/data/mysql --plugin-dir=/software/mysql/lib/mysql/plugin --user=mysql --log-error=/data/mysql/mysql_error.log --open-files-limit=10240 --pid-file=/data/mysql/mysql.pid --socket=/tmp/mysql.sock --port=3306

libiconv库(字符编码转换)

  1. [root@ipython lnmp]# tar zxf libiconv-1.14.tar.gz
    ###打补丁吧,避免手动修改隐患逻辑错误###
    [root@ipython lnmp]# gzip -d libiconv-glibc-2.16.patch.gz  
    [root@ipython lnmp]# cd libiconv-1.14/srclib
    [root@ipython srclib]# patch -p1 < ../../libiconv-glibc-2.16.patch 
    patching file stdio.in.h
    [root@ipython libiconv-1.14]# cd ..
    [root@ipython libiconv-1.14]# ./configure --prefix=/software/sharelib/
    [root@ipython libiconv-1.14]# make && make install

libxml库(XML库)

  1. [root@ipython lnmp]# tar jxf libxml2-2.8.0.tar.bz2 
    [root@ipython lnmp]# cd libxml2-2.8.0
    [root@ipython libxml2-2.8.0]# ./configure --prefix=/software/sharelib
    [root@ipython libxml2-2.8.0]# make && make install

libpng库(图片库)

  1. [root@ipython lnmp]# tar jxf libpng-1.6.8.tar.bz2 
    [root@ipython lnmp]# cd libpng-1.6.8
    [root@ipython libpng-1.6.8]# LDFLAGS="-L/software/sharelib/lib/" CPPFLAGS="-I/software/sharelib/include" ./configure --prefix=/software/sharelib
    [root@ipython libpng-1.6.8]# make && make install

jpeg库(图片库)

  1. [root@ipython lnmp]# tar jxf jpegsrc.v9a.tar.bz2
    [root@ipython lnmp]# cd jpeg-9a/ 
    [root@ipython jpeg-9a]# ./configure --prefix=/software/sharelib/
    [root@ipython jpeg-9a]# make && make install

freetype(字库)

  1. [root@ipython lnmp]# tar jxf freetype-2.5.2.tar.bz2 
    [root@ipython lnmp]# cd freetype-2.5.2
    [root@ipython freetype-2.5.2]# LIBPNG_CFLAGS="-I/software/sharelib/include/" LIBPNG_LDFLAGS="-L/software/sharelib/lib/" ./configure --prefix=/software/sharelib
    [root@ipython freetype-2.5.2]# make && make install
    [root@ipython freetype-2.5.2]# ln -/software/sharelib/include/freetype2 /software/sharelib/include/freetype2/freetype

libmcrypt库(加密算法)

  1. [root@ipython lnmp]# tar jxf libmcrypt-2.5.8.tar.bz2 
    [root@ipython lnmp]# cd libmcrypt-2.5.8
    [root@ipython libmcrypt-2.5.8]# ./configure --prefix=/software/sharelib
    [root@ipython libmcrypt-2.5.8]# make && make install

mhash库(加密)

  1. [root@ipython lnmp]# tar jxf mhash-0.9.9.9.tar.bz2
    [root@ipython lnmp]# cd mhash-0.9.9.9
    [root@ipython mhash-0.9.9.9]# ./configure --prefix=/software/sharelib/
    [root@ipython mhash-0.9.9.9]# make && make install

curl库(URL传输)

  1. [root@ipython lnmp]# tar jxf curl-7.36.0.tar.bz2
    [root@ipython lnmp]# cd curl-7.36.0
    [root@ipython curl-7.36.0]# ./configure --prefix=/software/curl
    [root@ipython curl-7.36.0]# make && make install

gd库(绘图)

  1. [root@ipython lnmp]# tar zxf gd-2.0.35.tar.gz 
    [root@ipython lnmp]# cd gd-2.0.35
    [root@ipython gd-2.0.35]# LDFLAGS="-L/software/sharelib/lib" CPPFLAGS="-I/software/sharelib/include" ./configure --prefix=/software/sharelib --enable-shared --with-png=/software/sharelib --with-freetype=/software/sharelib --with-libiconv-prefix=/software/sharelib --with-jpeg=/software/sharelib
    [root@ipython gd-2.0.35]# make && make install

libtool(库编译支持)

  1. [root@ipython lnmp]# tar zxf libtool-2.4.2.tar.gz 
    [root@ipython lnmp]# cd libtool-2.4.2
    [root@ipython libtool-2.4.2]# ./configure --prefix=/software/sharelib/ --enable-ltdl-install
    [root@ipython libtool-2.4.2]# make && make install

将mysql的库文件加入动态共享

  1. [root@ipython lnmp]# echo "/software/mysql/lib/mysql/" >> /etc/ld.so.conf && ldconfig

PHP(一种语言吧)

  1. [root@ipython lnmp]# tar zxf php-5.3.5.tar.gz 
    [root@ipython lnmp]# cd php-5.3.5
    [root@ipython php-5.3.5]# sed -i s"#mysql/psi/psi.h#/software/mysql/include/mysql/psi/psi.h#" /software/mysql/include/mysql/my_sys.h
    [root@ipython php-5.3.5]# sed -i s"#mysql/plugin.h#/software/mysql/include/mysql/plugin.h#" /software/mysql/include/mysql/m_string.h
    [root@ipython php-5.3.5]# sed -i s"#mysql/services.h#/software/mysql/include/mysql/services.h#" /software/mysql/include/mysql/plugin.h
    [root@ipython php-5.3.5]# sed -i s"#mysql/service_my_snprintf.h#/software/mysql/include/mysql/service_my_snprintf.h#" /software/mysql/include/mysql/services.h
    [root@ipython php-5.3.5]# sed -i s"#mysql/service_thd_alloc.h#/software/mysql/include/mysql/service_thd_alloc.h#" /software/mysql/include/mysql/services.h
    [root@ipython php-5.3.5]# ./configure --prefix=/software/php --with-config-file-path=/software/php/etc --with-mysql=/software/mysql --with-mysqli=/software/mysql/bin/mysql_config --with-iconv-dir=/software/sharelib --disable-ipv6 --with-freetype-dir=/software/sharelib/ --with-jpeg-dir=/software/sharelib/ --with-png-dir=/software/sharelib/ --with-zlib=/software/sharelib/ --with-libxml-dir=/software/sharelib/ --disable-rpath --enable-bcmath --enable-safe-mode --enable-shmop --enable-sysvsem --with-curl=/software/curl/ --enable-fpm --enable-mbstring  --with-mcrypt=/software/sharelib/ --with-gd=/software/sharelib/ --enable-gd-native-ttf --with-openssl=/software/openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-inline-optimization --with-curlwrappers --enable-mbregex --with-gettext
    [root@ipython php-5.3.5]# make install
  2.  
  3. ##创建PHP-FPM配置文件,参数什么的自己根据配置调整##
    [root@ipython php-5.3.5]# cat >> /software/php/etc/php-fpm.conf <

好了...看图

CentOS7 编译安装LNMP的更多相关文章

  1. Centos7编译安装lnmp(nginx1.10 php7.0.2)

    我使用的是阿里云的服务器 Centos7 64位的版本 1. 连接服务器 这个是Xshell5的版本 安装好之后我们开始连接服务器 2. 安装nginx 首先安装nginx的依赖 yum instal ...

  2. centos7编译安装LNMP(nginx-1.16.0,mysql8.0.16,php-7.3.6)常见问题报错及解决方法

    LNMP的安装与配置 nginx-1.16.0安装及配置: 第一步:前往官网下载nignx源码包 下载完毕后上传至服务器(先安装lrzsz) yum -y install lrzsz 安装完毕后执行: ...

  3. centos7编译安装lnmp

    1.前言 本文适合于已经对Linux操作系统具有基本操作经验,并且能够在Linux或Windows上通过一键搭建工具或者yum命令行进行环境搭建的读者,阅读本文需具有一定的专业知识,本文不建议初学者阅 ...

  4. centos7 编译安装新版LNMP环境

    centos7 编译安装新版LNMP环境 环境版本如下: 1.系统环境:Centos 7 x86_64 2.NGINX:nginx-1.11.3.tar.gz 3.数据库:mariadb-10.0.2 ...

  5. CentOS7编译安装Nginx-1.8.1和编译参数

    CentOS7编译安装Nginx-1.8.1和编译参数 Web服务器Nginx    LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也 ...

  6. centos下编译安装lnmp

    centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...

  7. 在树莓派1B上编译安装lnmp服务器

    最近一周给部门内部搭建考试系统,选择使用PHPEMS.这是个开源的系统,唯一缺点是PHP的版本比较低,只能使用5.2或5.3.而我的树莓派系统更新后使用apt-get安装得到的PHP版本为5.4.由于 ...

  8. centos7编译安装MySQL5.7.9

    title: centos7编译安装MySQL5.7.9 date: 2016-05-12 16:20:17 tags: --- Centos7编译安装mysql5.7.9 mysql5.7有更好的性 ...

  9. CentOS编译安装LNMP环境

    这里是教大家如何在centos下利用源码编译安装LNMP环境. 工具/原料 centos服务器一台 自用电脑一台 准备篇 配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 配置防火墙,开 ...

随机推荐

  1. hdu 4057 AC自己主动机+状态压缩dp

    http://acm.hdu.edu.cn/showproblem.php?pid=4057 Problem Description Dr. X is a biologist, who likes r ...

  2. Extract Datasets

    *&---------------------------------------------------------------------* *& Report ZTEST2013 ...

  3. 关于IOCP,某些地方就是不让人彻底舒服(WSASend重叠post数据)

    开门见山,直接就事论事. 假如有这么一个基于IOCP模型的Server,这个Server提供的所有服务中有这么一种服务……文件下载,我们再假设Server端存有一个20G的文件,客户端这时发送一个请求 ...

  4. C语言常用的宏

    01: 防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H //头文件内容 #endif 02: 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类 ...

  5. Thinkphp学习04

    原文:Thinkphp学习04 一.ThinkPHP 3 的输出      (重点) a.通过 echo 等PHP原生的输出方式在页面中输出 b.通过display方法输出   想分配变量可以使用as ...

  6. JS Bin Tips and Bits • About

    JS Bin Tips and Bits • About   About Who built this? JS Bin was built by Remy Sharp and is completel ...

  7. Android性能优化---布局优化

    我们从事Android开发编写布局的时候大多数是使用XML来布局,这给我们带来了方便性,这样操作可以布局界面的代码和逻辑控制的Java代码分离出来,使程序的结构更加清晰.明了.特别的复杂的布局,但是这 ...

  8. Ubuntu下is not in the sudoers file 问题解决

    在Ubuntu12.04 下,使用sudo apt-get install XXX 时,突然跳出 username is not in the sudoers file的问题 然后我一查此userna ...

  9. Eclipse乱码怎么办

    Eclipse里设置编码有三个层次:全局.工程.文件. 文件的编码会覆盖工程的编码,工程的编码会覆盖全局的编码. 我猜测:虽然你的工程编码更改为GBK,但只对新建文件有效. 如果工程中旧有的文件是UT ...

  10. window应用移植到Linux下(应用移植)

     配置QT的环境变量,这台电脑à属性à高级系统设置à高级à环境变量à系统变量àpathàC:\Qt\Qt5.3.0\5.3\mingw482_32\bin;C:\Qt\Qt5.3.0\Tools\ ...