• LNMP编译安装教程


    LNMP编译安装教程

    此次安装在Centos上,我采用的CentOS的版本是:CentOS release 6.5 (Final)

    可以通过以下命令查看:lsb_release -a

    一.准备工作:

    清理已安装的软件包

    1、检查是否安装了mysql

    rpm -qa|grep mysql

    强制卸载

    rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps

     

    2、清理httpd:yum -y remove httpd

     

    3、清理mysql:yum -y remove mysql

     

    我这里是没有安装过mysql

    4、清理PHP:yum -y remove php

     

    我这里没有安装php

     

    二、安装必备工具

    我把所有的安装包都放在了/usr/local/src下面,如果没有可自行创建,进入目录:

    cd /usr/local/src/

     

    yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof

    安装完成之后会出现下图(这个时间大约在1分钟):

     

    三、安装PHP依赖关系:

    1.安装libiconv

    cd /usr/local/src

    wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

    tar zxvf libiconv-1.14.tar.gz

    cd libiconv-1.14

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

    make && make install

    cd ..

    2.安装libmcrypt

    wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

    tar zxvf libmcrypt-2.5.8.tar.gz

    cd libmcrypt-2.5.8

    ./configure

    make && make install

    cd ..

    3.安装 Mhash 下载并安装mbash 网址:http://mhash.sourceforge.net/,下载下来之后用winscp这种工具传到linux的/usr/local/src目录下

    tar zxvf mhash-0.9.9.9.tar.gz

    ./configure

    make && make install

    cd ..

    4.安装Mcrypt

    wget http://iweb.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz

    tar zxvf mcrypt-2.6.8.tar.gz

    cd mcrypt-2.6.8

    #注意一下这步运行下,不然下面可能报错

    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

    ./configure

    make && make install

    cd ..

    编译mcrypt可能会报错:configure: error: *** libmcrypt was not found

    vi  /etc/ld.so.conf

    最后一行添加

    /usr/local/lib/

    保存并退出::wq!

    执行载入命令:

    ldconfig

    四、安装mysql5.6.17

    1.按照标准需要给mysql创建所属用户和用户组

    创建用户组

    groupadd mysql

    创建一个用户,不允许登陆和不创主目录

    useradd -s /sbin/nologin -g mysql -M mysql

    检查创建用户

    tail -1 /etc/passwd

    注:MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。 因此,我们首先要在系统中源码编译安装cmake工具。

    wget http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz

    tar zxvf cmake-2.8.12.2.tar.gz

    cd cmake-2.8.12.2

    ./configure

    make && make install

    2.使用cmake来编译安装mysql5.6.17,初次编译mysql的时候时间比较长,请耐心等待

    cmake

    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql

    -DMYSQL_DATADIR=/usr/local/mysql/data

    -DSYSCONFDIR=/etc

    -DWITH_MYISAM_STORAGE_ENGINE=1

    -DWITH_INNOBASE_STORAGE_ENGINE=1

    -DWITH_MEMORY_STORAGE_ENGINE=1

    -DWITH_READLINE=1

    -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock

    -DMYSQL_TCP_PORT=3306

    -DENABLED_LOCAL_INFILE=1

    -DWITH_PARTITION_STORAGE_ENGINE=1

    -DEXTRA_CHARSETS=all

    -DDEFAULT_CHARSET=utf8

    -DDEFAULT_COLLATION=utf8_general_ci

    -DMYSQL_USER=mysql

    -DWITH_DEBUG=0

    -DWITH_SSL=system

    make && make install

    到这里mysql5.6.17就安装好了,接下来就是配置一些mysql相关的东西:

    3.修改/usr/local/mysql权限

    chmod +w /usr/local/mysql

    chown -R mysql:mysql /usr/local/mysql

    4.关于my.cnf配置文件:

    在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索”$basedir/my.cnf” 就是安装目录下 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置! 注意:在CentOS 6.x版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字。 如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。 由于我们已经卸载了最小安装完成后的mysq库所以,就没必要操作了。

    5.cp my-default.cnf /etc/my.cnf

    执行初始化配置脚本,创建系统自带的数据库和表,注意配置文件的路径:

    命令如下:

    /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

    6.拷贝mysql安装目录下support-files服务脚本到init.d目录

    拷贝脚本:cp support-files/mysql.server /etc/init.d/mysqld

    赋予权限:hmod +x /etc/init.d/mysqld

    设置开机启动 这步可以不操作:chkconfig mysqld on

    启动MySQL:ervice mysqld start

    或者:/etc/init.d/mysql start

     

    7.MySQL5.6.x启动成功后,root默认没有密码,我们需要设置root密码。 设置之前,我们需要先设置PATH,要不,不能直接调用mysql操作如下:

    修改/etc/profile文件

    vi /etc/profile

    在文件末尾添加

    PATH=/usr/local/mysql/bin:$PATH

    export PATH

    让配置立即生效

    source /etc/profile

    8.登陆测试,默认是没有密码,直接回车就可进入

     

    9.设置mysql密码这一步可以先不设置),命令如下:

    /usr/local/mysql/bin/mysqladmin -uroot -p password '你的密码'

    10.验证mysql安装路径

    ls -ld /usr/local/mysql/

     

    到此为止mysql已安装完成了,接下来安装nginx

    五、安装nginx1.7

    nginx所需的依赖关系,一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。如果系统已经yum 安装了这些库也没关系,无需卸载。直接编译安装最新的就可以了。为了一次性完成编译,先准备编译下面的依赖关系!

    1.安装PCRE库

    http://ncu.dl.sourceforge.net/project/pcre/pcre/8.39/pcre-8.39.tar.gz

    tar -zxvf pcre-8.39.tar.gz

    cd pcre-8.39

    ./configure

    make && make install

    2.安装zlib库

    wget http://zlib.net/zlib-1.2.8.tar.gz

    tar -zxvf zlib-1.2.8.tar.gz

    cd zlib-1.2.8

    ./configure

    make && make install

    3.安装openssl

    wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz

    tar -zxvf openssl-1.0.1g.tar.gz

    cd openssl-1.0.1g

    ./config

    make && make install

    4.准备工作完成,现在开始安装nginx!,这里添加了前面准备的库关系,注意路径!

    wget http://nginx.org/download/nginx-1.9.9.tar.gz

    tar -zxvf nginx-1.9.9.tar.gz

    cd nginx-1.9.9

    ./configure

    --user=www

    --group=www

    --prefix=/usr/local/nginx

    --with-http_stub_status_module

    --with-http_ssl_module

    --with-http_gzip_static_module

    --with-pcre=/usr/local/src/pcre-8.39

    --with-zlib=/usr/local/src/zlib-1.2.8

    --with-openssl=/usr/local/src/openssl-1.0.1g

    make && make install

    useradd -M -s /sbin/nologin nginx

    #修改nginx配置文件

    vim /usr/local/nginx/conf/nginx.conf

    #user nobody 改成 user nginx;

    #测试一下nginx配置文件

    /usr/local/nginx/sbin/nginx -t

    #启动nginx

    /usr/local/nginx/sbin/nginx

    #一般来说在nginx的配置文件修改后进行如下操作,

    /usr/local/nginx/sbin/nginx -t检测一下配置文件是否正确,如果正确的话

    再使用/usr/local/nginx/sbin/nginx -s reload 使nginx平滑启动

     

    六、安装php 5.6.6

    1.下载安装包及编译安装

    wget http://mirrors.sohu.com/php/php-5.6.6.tar.gz

    tar -zxvf php-5.6.6.tar.gz

    cd php-5.6.6

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts

    make test

    make && make install

     

    2.修改fpm配置php-fpm.conf.default文件名称

    mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

    3.复制php.ini配置文件

    cp php.ini-production /usr/local/php/etc/php.ini

    4.复制php-fpm启动脚本到init.d

    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

    5.赋予执行权限

    chmod +x /etc/init.d/php-fpm

    6.添加为启动项

    chkconfig --add php-fpm

    7.设置开机启动

    chkconfig php-fpm on

    8.按照标准,给php-fpm创建一个指定的用户和组

    创建群组:groupadd www

    创建一个用户,不允许登陆和不创主目录 :useradd -s /sbin/nologin -g www -M www

    9.立即启动php-fpm

    service php-fpm start

    #或者

    /etc/init.d/php-fpm start

    10.修改nginx配置文件使之支持php

    vim /usr/local/nginx/conf/nginx.conf

    找到下面的这段,把其

    #location ~ .php$ {

    #    root           html;

    #    fastcgi_pass   127.0.0.1:9000;

    #    fastcgi_index  index.php;

    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

    #    include        fastcgi_params;

    #}

    修改为

    location ~ .php$ {

        fastcgi_pass   127.0.0.1:9000;

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

        include        fastcgi_params;

    }

    修改完配置之后

    测试一下是否有错:/usr/local/nginx/sbin/nginx -t

    平滑重启:/usr/local/nginx/sbin/nginx -s reload

     

    七、测试phpnginxmysql

    1.进入nginx的服务器目录,这一步是在nginx.conf里的root中配置的,可以自行修改。

    cd /usr/local/nginx/html

    2.新建一个php文件:vim l.php

    其内容为<?php phpinfo();?>

    保存并退出::wq! 注:字母w前要有一个冒号

    然后运行:

    http://127.0.0.1/l.php(这里把IP换成你自己的服务器的IP)

     

     出现上面的图就说明PHP和NGINX安装成功了。

    3.测试mysql

    打开刚才新建的那个文件:

    vim l.php,输入第三行-第10行代码,代码是测试php是否可以联接mysql。

     

    保存并退出::wq! 注:字母w前要有一个冒号

    然后运行:

    http://127.0.0.1/l.php(这里把IP换成你自己的服务器的IP)

     

    这里说明php可以联接mysql了。

    到这里以编译的形式安装LNMP就完成了。如果由于项目的要求还需要php或是nginx一些其它的扩展,再重新编译一下php或是nginx就可以了

     

     

    扩展阅读:

    如果yum安装 的话,就非常简单了,可以看一下这个:https://my.oschina.net/u/872157/blog/31234

  • 相关阅读:
    Ruby的Integer数据类型
    InfoPath设计优化
    深入浅出SharePoint——TimeJob编程
    深入浅出SharePoint——操作Item权限类
    深入浅出Powershell——添加用户或群组到群组中
    深入浅出PowerShell——更新List Item中的PeopleandGroup 域值
    使用TimeJob
    深入浅出InfoPath——动态获取InfoPath中的命名空间
    ContentType大展拳脚——定义List
    PowerShell深入浅出——增加账号到管理员群组
  • 原文地址:https://www.cnblogs.com/gpfeisoft/p/5999263.html
Copyright © 2020-2023  润新知