美文网首页
CentOS6.8源码包编译安装搭建LNMP(Linux+Ngi

CentOS6.8源码包编译安装搭建LNMP(Linux+Ngi

作者: HeyBarry | 来源:发表于2017-01-22 15:57 被阅读0次

    安装包请各位自行解决哈,建议去各官网下载最新稳定版,不多说,直接开搞

    常规依赖包安装

    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openldap openldap-devel openldap-clients openldap-servers make zlib-devel pcre-devel openssl-devel libtool* git tree bison perl gd gd-devel

    安装libiconv

    有了这个之后就可以在PHP里使用iconv函数来转换字符编码啦,比如想将字符串的编码从GBK转到UTF-8,就用: iconv('GBK', 'UTF-8', $str);

    tar zxvf libiconv-1.14.tar.gz
    cd libiconv-1.14
    ./configure --prefix=/usr/local/libiconv
    make && make install
    cd ..
    

    安装libmcrypt,mhash,mcrypt

    如果PHP自带的加密算法不能满足你的需求,就应该考虑第三方加密扩展库了(建议一定要装呀,自己写代码可能没用到,但是一些PHP框架可是要用到的,比如Laravel)。
    按顺序安装libmcrypt,mhash,mcrypt

    tar zxvf libmcrypt-2.5.8.tar.gz
    cd libmcrypt-2.5.8
    ./configure
    make && make install
    cd ..
    tar jxvf mhash-0.9.9.9.tar.bz2
    cd mhash-0.9.9.9
    ./configure
    make && make install
    cd ..
    tar zxvf mcrypt-2.6.8.tar.gz
    cd mcrypt-2.6.8
    ./configure
    make && make install
    cd ..
    

    编译mcrypt如果报错:configure: error: *** libmcrypt was not found

    echo '/usr/local/lib/'>>/etc/ld.so.conf
    ldconfig
    

    编译mcrypt如果报错:/bin/rm: cannot remove 'libtoolT': No such file or directory
    修改 configure 文件,找到RM='$RM'并改为RM='$RM -f'就行啦

    安装CMake工具

    MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具

    tar zxvf cmake-3.7.2.tar.gz
    cd cmake-3.7.2
    ./bootstrap && make && make install
    cd..
    

    安装MySQL

    #卸载旧版本
    rpm -e mysql --nodeps
    #创建mysql用户
    groupadd mysql && useradd -g mysql -M mysql
    tar zxvf mysql-5.6.24.tar.gz
    cd mysql-5.6.24
    cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_DATADIR=/usr/local/mysql/data \
    -DSYSCONFDIR=/etc \
    -DMYSQL_USER=mysql \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_ARCHIVE_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 \
    -DENABLE_DOWNLOADS=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_DEBUG=0 \
    -DMYSQL_MAINTAINER_MODE=0 \
    -DWITH_SSL:STRING=bundled \
    -DWITH_ZLIB:STRING=bundled
    make && make install
    #修改目录权限
    chown -R mysql:mysql /usr/local/mysql
    #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
    cp support-files/my-default.cnf  /etc/my.cnf
    #编辑配置文件,在 [mysqld] 部分增加下面一行
    vi /etc/my.cnf
    datadir = /usr/local/mysql/data  #添加MySQL数据库路径
    #执行初始化配置脚本,创建系统自带的数据库和表
    /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
    #加入系统服务
    cp support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
    #启动mysql
    service mysqld start
    #开机启动
    chkconfig mysqld on
    #加入环境变量
    echo 'PATH=/usr/local/mysql/bin:$PATH'>>/etc/profile
    export PATH
    #让配置生效
    source /etc/profile
    #设置root密码,默认是没有密码的
    /usr/local/mysql/bin/mysqladmin -uroot -p password
    cd ..
    

    安装PHP

    tar zxvf php-5.6.30.tar.gz
    cd php-5.6.30
    ./configure \
    --prefix=/usr/local/php \
    --with-fpm-user=www --with-fpm-group=www \
    --with-config-file-path=/usr/local/php/etc \
    --with-mhash --with-mcrypt --enable-bcmath \
    --enable-mysqlnd --with-mysql --with-mysqli --with-pdo-mysql \
    --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir \
    --enable-fpm \
    --enable-mbstring \
    --enable-pcntl \
    --enable-sockets \
    --enable-opcache \
    --with-openssl \
    --with-zlib \
    --with-curl \
    --with-libxml-dir \
    --with-iconv-dir
    make && make install
    #移动生成php-fpm配置文件
    mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    #复制生成一份php配置文件
    cp php.ini-production /usr/local/php/etc/php.ini
    #将php-fpm加入系统服务
    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    #赋予执行权限
    chmod +x /etc/init.d/php-fpm
    #开机启动
    chkconfig php-fpm on
    #创建www用户
    groupadd www && useradd -d /home/www -g www www
    #启动php-fpm
    service php-fpm start
    cd ..
    

    如果编译报错:gcc: Internal error: Killed (program cc1),在编译参数后加
    --disable-fileinfo
    编辑/etc/profile将php加入环境变量(和前面mysql一样)

    修改PATH=/usr/local/php/bin:/usr/local/mysql/bin:$PATH
    export PATH
    source /etc/profile
    

    安装Nginx

    tar zxvf nginx-1.10.2.tar.gz 
    cd nginx-1.10.2
    ./configure \
    --user=www \
    --group=www \
    --prefix=/usr/local/nginx \
    --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.pid \
    --with-http_stub_status_module \
    --with-http_gzip_static_module \
    --with-http_ssl_module \
    --with-pcre
    

    接下来添加Nginx启动管理脚本/etc/init.d/nginx
    关于启动脚本请参考链接Nginx启动管理脚本,修改脚本变量nginx="/usr/local/nginx/sbin/nginx",保险起见其它变量也尽量核对下

    chmod +x /etc/init.d/nginx
    service nginx start #启动nginx服务
    chkconfig nginx on #开机启动
    cd ..
    

    Nginx配置相关的内容后续有空会补充
    至此,LNMP环境已搭建完毕。

    相关文章

      网友评论

          本文标题:CentOS6.8源码包编译安装搭建LNMP(Linux+Ngi

          本文链接:https://www.haomeiwen.com/subject/sjggbttx.html