LNMP环境搭建(linux+ngnix+mysql+php)

我准备好咯安装包的(百度云盘  http://pan.baidu.com/s/1c04powo


一、nginx的编译安装
  新装的Ubuntu系统
    apt-get install gcc
    apt-get install g++
    首先,编译安装nginx,nginx依赖于zlib和pcre
     tar -zxvf zlib-1.2.8.tar.gz
    cd zlib-1.2.8
    ./configure 
    make && make install
   
     cd ..
    tar -xf pcre-8.36.tar.bz2
    cd pcre-8.36
     ./configure 
 make && make install

    zlib和pcre都是直接configure后make && make install

    现在编译nginx
    cd ..
    tar -zxvf nginx-1.9.0.tar.gz
    cd nginx-1.9.0

    首先添加nginx用户
     useradd nginx -s /sbin/nologin -M

    如果你要添加openssl  openssl使用的是源码包
    cd ..
    tar -zxvf openssl-1.0.2a.tar.gz

    配置nginx
    cd ..
    cd nginx-1.9.0
     ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-openssl=/home/env/lnmp/openssl-1.0.2a
/home/fangyue/work/lnmp/openssl-1.0.2a
    make && make install

    至此,nginx就编译好咯
     cd /usr/local/nginx/
    ./sbin/nginx -t
ls /usr/local/lib/
cd /etc/ld.so.conf.d/
nano usr-lib.conf
/usr/local/lib
ldconfig
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx
测试;浏览器访问 localhost

二、mysql的编译安装

    接下来是搞mysql
   
    我使用的mysql5.5 所以需要使用cmake方式进行编译
      cd  /home/fangyue/work/lnmp/
    tar -zxvf cmake-3.2.2.tar.gz
     cd cmake-3.2.2
     ./configure
    make && make install      
    cmake你可以直接使用yum或者apt-get安装

    注意:cmake如果是编译安装的话,centos和mint的提示是不一样的,根据提示进行操作就可以
    cd ..
 sudo apt-get install libncurses5-dev
    sudo apt-get install bison  

tar -zxvf  mysql-5.5.44.tar.gz
cd mysql-5.5.44   

    添加mysql组和mysql用户

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

    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1
    
     make && make install     

    创建数据目录
    mkdir -p /usr/local/mysql/data
    chown -R mysql.mysql /usr/local/mysql
    
    chmod -R 777 /tmp/

    初始化数据库
   cd /usr/local/mysql/
    cd scripts/
    ./mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

    复制配置文件
 cd /home/fangyue/work/lnmp/mysql-5.5.44     
cp support-files/my-small.cnf /etc/my.cnf

    复制启动文件
   cp support-files/mysql.server /etc/init.d/mysqld
    chmod +x /etc/init.d/mysqld
    nano /etc/my.cnf #如果启动不了,可以修改一下配置文件,添加datadir = 你配置的路径
   
    service mysqld start
(还是启动不了在[mysqld]下面加一行federated
    为root用户提供密码
    #usr/local/mysql/bin/mysqladmin -u root password '123456'
    
    设置环境变量
    nano /etc/profile
    PATH=$PATH:/usr/local/mysql/bin/
    . /etc/profile
    mysql -u root -p

    至此mysql就编译安装好咯,至于php留着下次编译,下班回家


三、php的编译安装
    其实LAMP和LNMP其实差不多,主要是apache是把php作为模块编译,而nginx是作为fast-cgi,php是进程

php依赖编译安装
(1)、libxml2-2.7.2.tar.gz
    tar xf libxml2-2.7.2.tar.gz
    cd libxml2-2.7.2
    ./configure --prefix=/usr/local/libxml2
    make && make install

(2)、jpegsrc.v9a.tar.gz
    mkdir -p /usr/local/jpeg9
    mkdir -p /usr/local/jpeg9/bin
    mkdir -p /usr/local/jpeg9/lib
    mkdir -p /usr/local/jpeg9/include
    mkdir -p /usr/local/jpeg9/man
    mkdir -p /usr/local/jpeg9/man1
    mkdir -p /usr/local/jpeg9/man/man1

    tar xf jpegsrc.v9a.tar.gz
    cd jpeg-9a
    ./configure --prefix=/usr/local/jpeg9/ --enable-shared --enable-static
    make && make install

(3)、libpng-1.6.10.tar.gz
    tar xf libpng-1.6.10.tar.gz
    cd libpng-1.6.10
    ./configure --prefix=/usr/local/png
    make && make install

(4)、freetype-2.5.5.tar.bz2
    tar xf freetype-2.5.5.tar.bz2
    cd freetype-2.5.5
    mkdir -p /usr/local/freetype
    ./configure --prefix=/usr/local/freetype
    make && make install

(5)、libiconv-1.14.tar.gz
     tar xf libiconv-1.14.tar.gz
    cd libiconv-1.14
    cd srclib
    gedit stdio.in.h
通过搜索,定位到_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");这一行,然后在这一行的前后加上条件编译即可,修改后的内容如下:
    #if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
            _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
    #endif

 ./configure --prefix=/usr/local/iconv
    make && make install

    

(6)、curl-7.42.1.tar.gz
    tar xf curl-7.42.1.tar.gz
    cd curl-7.42.1
    ./configure --prefix=/usr/local/curl
    make && make install

(7)、libgd-2.1.0.tar.gz
    tar xf libgd-2.1.0.tar.gz
    cd libgd-2.1.0
    ./configure --prefix=/usr/local/gd  \
 --with-jpeg=/usr/local/jpeg9/ \
 --with-png=/usr/local/png    \
    --with-zlib \
 --with-freetype=/usr/local/freetype
    make && make install


(8)、libmcrypt-2.5.8.tar.bz2
    tar xf libmcrypt-2.5.8.tar.bz2
    cd libmcrypt-2.5.8
    ./configure
    make && make install

(9)、mhash-0.9.9.9.tar.bz2
    tar xf mhash-0.9.9.9.tar.bz2
    cd mhash-0.9.9.9
    ./configure
    make && make install

(10)、mcrypt-2.6.8.tar.gz
    tar xf mcrypt-2.6.8.tar.gz
    cd mcrypt-2.6.8
    注意config的时候会提示找不到libmcrpyt
    解决:ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
     export LD_LIBRARY_PATH=/usr/local/lib: LD_LIBRARY_PATH
    ./configure
    make && make install

(11)、php5.6.8编译  php-5.6.8.tar.gz
    tar xf php-5.6.8.tar.gz
    cd  php-5.6.8
    
 ./configure --prefix=/usr/local/php-nginx \
    --with-mysql=/usr/local/mysql \
    --with-pdo-mysql=mysqlnd \
    --with-mysqli=mysqlnd \
    --with-freetype-dir=/usr/local/freetype \
    --with-gd=/usr/local/gd \
    --with-zlib \
    --with-libxml-dir=/usr/local/libxml2 \
    --with-jpeg-dir=/usr/local/jpeg9 \
    --with-png-dir=/usr/local/png \
    --with-curl=/usr/local/curl \
    --with-mhash \
    --enable-mbstring \
    --enable-xml \
    --enable-shmop \
    --enable-sysvsem \
    --enable-bcmath \
    --enable-fpm \
    --enable-gd-native-ttf \
    --enable-sockets \
    --enable-zip \
    --enable-soap \
    --with-fpm-user=nginx \
    --with-fpm-group=nginx \
    --enable-ftp \
    --enable-shared

    make && make install
    如果 在make php-5.5.5时提示没有X11/xpm.h
    则安装 apt-get install libXpm-dev
    再make && make install

(12)、配置
修改/usr/local/nginx/conf/nginx.conf
cd /usr/local/nginx/conf
nano nginx.conf
fastcgi_param SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
  
复制配置文件
    cp /home/fangyue/work/lnmp/php-5.6.8/php.ini-development /usr/local/php-nginx/lib/php.ini


    cd /usr/local/php-nginx/etc
    cp php-fpm.conf.default php-fpm.conf
    /usr/local/nginx/sbin/nginx
    /usr/local/php-nginx/sbin/php-fpm
  
  cd /usr/local/nginx/html
    nano phpinfo.php
    <?php
    phpinfo();
    ?>


  /usr/local/nginx/sbin/nginx -s reload
[root@localhost sbin]# ./nginx -s reload
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
解决方法:
[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf


安装包在我的云盘里面  http://pan.baidu.com/s/1c04powo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值