zoukankan      html  css  js  c++  java
  • Ubuntu PHP 安装

    LNMP环境配置
    Linux,NGINX,PHP,MYSQL

    PHP 依赖库安装

    安装GD库 -让php支持gif,png,jpeg格式

    GD库需要以下模块的支持
    jpeg,libpng,freetype,libXpm-devel

    wget http://www.ijg.org/files/jpegsrc.v9.tar.gz

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

    libpng

    wget http://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.13/libpng-1.6.13.tar.gz

    tar -zxvf libpng-1.6.13.tar.gz
    cd libpng-1.6.13
    ./configure --prefix=/usr/local/libpng
    make & make install

    freetype

    wget http://jaist.dl.sourceforge.net/project/freetype/freetype2/2.5.3/freetype-2.5.3.tar.gz

    tar -zxvf freetype-2.5.3.tar.gz
    cd freetype-2.5.3 .
    /configure --prefix=/usr/local/freetype make & make install

    libXpm-devel

    apt-get install libxpm-dev

    #如果编译报错,建立软连接
    ln -s /usr/lib/x86_64-linux-gnu/libXpm.so /usr/lib/
    ln -s /usr/lib/x86_64-linux-gnu/libXpm.so.4.11.0 /usr/lib/
    ln -s /usr/lib/x86_64-linux-gnu/libXpm.so.4 /usr/lib/

    现在需要的模块都已经编译好了

    正式开始安装GD库

    https://bitbucket.org/libgd/gd-libgd/downloads
    wget https://bbuseruploads.s3.amazonaws.com/libgd/gd-libgd/downloads/libgd-2.1.0.tar.gz

    tar -zxvf libgd-2.1.0.tar.gz
    cd libgd-2.1.0
    ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg9/ --with-png=/usr/local/libpng/ --with-zlib=/usr/local/zlib-1.2.8/ --with-freetype=/usr/local/freetype/
    make & make install

    安装curl库

    wget http://curl.haxx.se/download/curl-7.37.1.tar.gz

    tar -zxvf curl-7.37.1.tar.gz
    cd curl-7.37.1
    ./configure --prefix=/usr/local/curl
    make & make install

    PHP 安装

    安装php前我们还得解决libxml2 和 libxslt

    http://www.xmlsoft.org/downloads.html
    wget ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz

    tar -zxvf libxml2-2.9.1.tar.gz
    cd libxml2-2.9.1 
    需要指定python
    ./configure --prefix=/usr/local/libxml2 --with-python=/usr/lib/python2.7
    make & make install

    http://xmlsoft.org/XSLT/downloads.html
    wget ftp://xmlsoft.org/libxslt/libxslt-1.1.28.tar.gz

    tar -zxvf libxslt-1.1.28.tar.gz
    cd libxslt-1.1.28
    ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
    make & make install

    安装 Libiconv
    http://directory.fsf.org/wiki/Libiconv
    wget http://ftp.gnu.org/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[2]: *** [progname.o] Error 1
    make[2]: Leaving directory `/opt/libiconv-1.14/srclib'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/opt/libiconv-1.14/srclib'
    make: *** [all] Error 2

    #执行
    cd srclib
    sed -i -e '/gets is a security/d' ./stdio.in.h

    make
    make install

    安装 BZip2

    http://www.bzip.org/downloads.html

    wget http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz

    tar -zxvf bzip2-1.0.6.tar.gz -C /usr/src
    cd /usr/src/bzip2-1.0.6/
    make
    make install

    好了,经过漫长的编译,终于要装php了
    http://php.net/downloads.php
    wget http://cn2.php.net/distributions/php-5.6.0.tar.gz
    tar -zxvf php-5.6.0.tar.gz
    cd php-5.6.0/

    ./configure --prefix=/usr/local/php-5.6.0 --with-config-file-path=/usr/local/php-5.6.0/etc --with-curl=/usr/local/curl/ --with-freetype-dir=/usr/local/freetype -with-png-dir=/usr/local/libpng/ --with-libxml-dir=/usr/local/libxml2/ --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-zlib-dir=/usr/local/zlib-1.2.8/ --with-xsl=/usr/local/libxslt/ --with-jpeg-dir=/usr/local/jpeg9/ --with-iconv-dir=/usr/local/libiconv/ --with-bz2=/usr/local/bzip2/ --with-openssl-dir=/usr/local/ssl --with-gd=/usr/local/gd2/ --with-xpm-dir=/usr/lib/x86_64-linux-gnu --enable-ftp --enable-sockets --enable-soap --enable-bcmath --enable-xslt --enable-mbstring --enable-calendar --with-gettext --enable-dom --enable-xml --enable-fpm --with-png 
    make & make install

    配置PHP

    cp /usr/local/php-5.6.0/php.ini-production /usr/local/php-5.6.0/etc/php.ini
    cp /usr/local/php-5.6.0/etc/php-fpm.conf.default /usr/local/php-5.6.0/etc/php-fpm.conf
    #添加 nobody 用户 启动PHP
    groupadd nobody

    启动

    /usr/local/php-5.6.0/sbin/php-fpm

    执行以上命令,如果没报错一般情况下表示启动正常,如果不放心,也可以通过端口判断是PHP否启动

    # netstat -lnt | grep 9000
    tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN

    配置Nginx

    mkdir /usr/local/php-portal/logs/
    # 用于存放nginx日志.请看2.3的配置文件
    mkdir -p /usr/local/php-portal/site
    # 站点根目录
    vim /usr/local/php-portal/site/info.php

    <?php
    phpinfo();
    ?>
    # 退出保存

    编辑nginx.conf 

    vim /usr/local/nginx/conf/nginx.conf
    # 增加 PHP Server
    
    server {
                   listen 8081;
                   server_name localhost;
                   access_log /usr/local/php-portal/logs/access.log;
     
                   index index.php index.html index.html;
                   root /usr/local/php-portal/site;
     
                   location / {
                      try_files $uri $uri/ /index.php?$args;
                   }
     
                   location ~ .*.(php)?$ {
                      expires -1s;
                      try_files $uri =404;
                      fastcgi_split_path_info ^(.+.php)(/.+)$;
                      include fastcgi_params;
                      fastcgi_param PATH_INFO $fastcgi_path_info;
                      fastcgi_index index.php;
                      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                      fastcgi_pass 127.0.0.1:9000;
                  }
      }

    启动Nginx

    /usr/local/nginx/sbin/nginx 

    访问测试页

    http://192.168.124.132:8081/info.php

  • 相关阅读:
    我很喜欢玩游戏,那么我就适合做游戏程序员吗?
    宁可多花1000元租房,也绝不要去挤半小时地铁
    996 盛行的年代,互联网人如何平衡工作和生活 ?
    互联网公司里都有哪些潜规则?
    那些拼命加班的程序员们,后来都怎么样了?
    MongoDB更需要好的模式设计 及 案例赏析
    MongoDB 提升性能的18原则(开发设计阶段)
    关于MongoDB数据库的日志解析
    实现MongoDB读写分离的“读偏好”介绍
    MongoDB分片 在部署和维护管理 中常见事项的总结
  • 原文地址:https://www.cnblogs.com/saintaxl/p/3948193.html
Copyright © 2011-2022 走看看