zoukankan      html  css  js  c++  java
  • nginx1.8+php5.6.10 服务器编译安装备忘2015-06

    又要重新装一台阿里云服务器。开始想用脚本,但发现脚本的程序版本都比较低  还是手动编译最新版本

    开始前

    更新服务器到最新版本

    #yum makecache

    #yum update

    //分区挂数据盘

    #df -h //查是否分区

    #fdisk -l  //查硬盘

    #fdisk /dev/xvdb1   (n,p ...w,q)

    #mkfs.ext4 /dev/xvdb1   //格式化  ext4

    #echo '/dev/xvdb1 /server etx4 defaults 0 0' >> /etc/fstab  

    #mount -a

    #cd /root/soft    //新建一个下载软件目录


    nginx 1.8  稳定版

    #wget http://nginx.org/download/nginx-1.8.0.tar.gz

    #tar zxvf nginx-1.8.0.tar.gz

    #cd nginx-1.8.0

    #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

    #wget http://ncu.dl.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

    #tar zxvf pcre-8.37.tar.gz

    #cd pcre-8.37

    #./configure

    #make && make

    #wget http://www.openssl.org/source/openssl-1.0.2b.tar.gz

    #tar zxvf openssl-1.0.2b.tar.gz

     #./configure

    #make && make

    #./configure --user==nobody --group=nobody --prefix=/server/nginx --with-http_stub_status_module --without-http-cache --with-openssl=../openssl-1.0.2b --with-http_ssl_module --with-http_gzip_static_module --conf-path=/server/nginx/nginx.conf --error-log-path=/server/log/nginx/error.log --http-log-path=/server/log/nginx/access.log

    #make

    #make install

    #cd /server/nginx/sbin

    #ln -s /sbin/nginx /server/nginx/sbin/nginx

    #nginx   //运行nginx 

    如果报错{

    (error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory)

    #ldd $(which /server/nginx/sbin/nginx)   //查看缺少的库文件位置

    #ln -s /lib64/libpcre.so.1 /lib64/libpcre.so.0.0.1

    }

    #nginx -t   //检查通过.

    #nginx -s stop   //停止NGINX



    PHP5.6.10

     #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

    #make -j 2

     #make install

    #wget http://download.savannah.gnu.org/releases/freetype/freetype-2.6.tar.gz

    #tar zxvf freetype-2.6.tar.gz

    #cd freetype-2.6

    #./configure --prefix=/usr/local/freetype.2.6

    #make && make install

    #wget http://download.sourceforge.net/libpng/libpng-1.6.17.tar.gz

    #tar zxvf libpng-1.6.17.tar.gz

    #cd libpng-1.6.17

    #./configure

    #make

    报错{

    /root/soft/libpng-1.6.17/contrib/tools/pngfix.c:2182: undefined reference to `inflateReset2'
    collect2: ld returned 1 exit status
    make[1]: *** [pngfix] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make[1]: Leaving directory `/root/soft/libpng-1.6.17'
    make: *** [all] Error 2

    #find / -name "libz.so"

    删除查找出的libz.so

    重新编泽zlib(nginx那一节)   

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

    #wget http://cn2.php.net/distributions/php-5.6.10.tar.xz

    #xz -d php-5.6.10.tar.xz

    #tar xvf php-5.6.10.tar

    #cd php-5.6.10

    #./configure --prefix=/server/php --with-config-file-path=/server/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm --enable-static --enable-inline-optimization --enable-sockets --enable-wddx --enable-zip --without-pear --enable-calendar --enable-bcmath --enable-soap --with-zlib --with-iconv --with-gd --with-xmlrpc --enable-mbstring --with-curl --enable-ftp --with-mcrypt --with-freetype-dir=/usr/local/freetype.2.6 --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --disable-ipv6 --disable-debug --with-openssl --disable-maintainer-zts  --disable-fileinfo --disable-short-tags

    报错{

    checking libxml2 install dir... no
    checking for xml2-config path... 
    configure: error: xml2-config not found. Please check your libxml2 installation.

    #yum install libxml2-devel.x86_64

    checking for RAND_egd... no
    checking for pkg-config... /usr/bin/pkg-config
    configure: error: Cannot find OpenSSL's <evp.h>

    将装NGINX时的OPENSSL再编译安装一次。

    checking for cURL support... yes
    checking for cURL in default path... not found
    configure: error: Please reinstall the libcurl distribution -
    easy.h should be in <curl-dir>/include/curl/

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

    #tar zxvf curl-7.42.1.tar.gz

    #cd curl-7.42.1

    #./configure

    #make && make install

    checking for stdarg.h... (cached) yes
    checking for mcrypt support... yes
    configure: error: mcrypt.h not found. Please reinstall libmcrypt.

    #yum install libmcrypt.x86_64 libmcrypt-devel.x86_64

    make: *** [sapi/fpm/php-fpm] 错误 1

    进入上面的libiconv-1.14目录

    #cd ../libiconv-1.14

    #make uninstall

    删除libiconv

    参考:http://blog.fbbin.com/archives/1258

     }

    #make ZEND_EXTRA_LIBS='-liconv' -j 2    //最后的2是指CPU的核数,自已修改。    编译php  出错,请BAIDU  PS:最好FQ用GOOGLE

    #make install

    #cp php.ini-production /server/php/etc/php.ini

    #vi /server/php/etc/php.ini

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    extension_dir = "/server/php/lib/php/extensions/no-debug-non-zts-20121212/

    upload_max_filesize = 64M

    date.timezone = PRC

    max_execution_time = 300

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    #cp /server/etc/php-fpm.conf.default /server/etc/php-fpm.conf

    #vi /server/etc/php-fpm.conf

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    pm.min_spare_servers = 5

    pm.max_spare_servers = 35

    pm.max_children = 100

    pm.start_servers = 20

    opcache.enable=1

    pid = run/php-fpm.pid

    error_log = /log/php/php-fpm.log

    slowlog = /log/php/$pool.log.slow

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    #install -v -m755 ./php-5.6.10/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

    #/etc/init.d/php-fpm start


    [mysql]

    #wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
    #tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz

    #mv mysql-5.6.21-linux-glibc2.5-x86_64/* /server/mysql

    #groupadd mysql
    #useradd -g mysql -s /sbin/nologin mysql
    #/server/mysql/scripts/mysql_install_db --datadir=/server/mysql/data/ --basedir=/server/mysql --user=mysql
    #chown -R mysql:mysql /server/mysql/
    #chown -R mysql:mysql /server/mysql/data/
    #chown -R mysql:mysql /alidata/log/mysql
    #cp -f /server/mysql/support-files/mysql.server /etc/init.d/mysqld
    #sed -i 's#^basedir=$#basedir=/server/mysql#' /etc/init.d/mysqld
    #sed -i 's#^datadir=$#datadir=/server/mysql/data#' /etc/init.d/mysqld
    #cat > /etc/my.cnf <<END
    [client]
    port            = 3306
    socket          = /tmp/mysql.sock
    [mysqld]
    port            = 3306
    socket          = /tmp/mysql.sock
    skip-external-locking
    log-error=/log/mysql/error.log
    key_buffer_size = 16M
    max_allowed_packet = 1M
    table_open_cache = 64
    sort_buffer_size = 512K
    net_buffer_length = 8K
    read_buffer_size = 256K
    read_rnd_buffer_size = 512K
    myisam_sort_buffer_size = 8M

    log-bin=mysql-bin
    binlog_format=mixed
    server-id       = 1

    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

    [mysqldump]
    quick
    max_allowed_packet = 16M

    [mysql]
    no-auto-rehash

    [myisamchk]
    key_buffer_size = 20M
    sort_buffer_size = 20M
    read_buffer = 2M
    write_buffer = 2M

    [mysqlhotcopy]
    interactive-timeout
    END

    #chmod 755 /etc/init.d/mysqld
    #/etc/init.d/mysqld start

     //mysql  用户名:root 密码:默认为空。


    配置

    #vi /server/nginx/nginx.conf

    user  nobody nobody;
    worker_processes  2;
    
    error_log  logs/error.log;
    
    pid        logs/nginx.pid;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        tcp_nopush     on;
        server_tokens   off;
        keepalive_timeout  65;
        gzip  on;
        include /server/nginx/conf/vhosts/*.conf;
    }

    #vi /server/nginx/confi/vhost/test.conf

    server {
            listen       80;
            server_name  test;
            include /server/nginx/conf/rewrite/test.conf;   //手动创新文件
            access_log  /log/nginx/test.access.log;
    
            root   /www/test/web;
            index  index.html index.htm index.php;
    
            error_page  404              /404.html;
    
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   50x;
            }
    
       location ~ .php$ {
                fastcgi_pass   unix:/var/run/php-fpm-test.sock;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME /web$fastcgi_script_name;
                include        fastcgi_params;
            }
    
    }

    #cp /server/php/etc/php-fpm.conf /server/php/etc/php-fpm-test.conf

    #vi /server/php/etc/php-fpm-test.conf

    修改
    25
    pid = run/php-fpm-test.pid 32 error_log =/log/php/php-fpm-test.log 164 listen = /var/run/php-fpm-test.sock 175 listen.owner = nobody 176 listen.group = nobody 474 chroot = /www/test/web

    #cp /etc/init.d/php-fpm /etc/init.d/php-fpm-test

    #vi /etc/init.d/php-fpm-test

    16 php_fpm_BIN=${exec_prefix}/sbin/php-fpm
    17 php_fpm_CONF=${prefix}/etc/php-fpm-test.conf
    18 php_fpm_PID=${prefix}/var/run/php-fpm-test.pid

    设置启动..

    #chkconfig --level 235 php-fpm-test on

    #chkconfig --level 235 mysqld on

    #cat nginx >> /etc/rc.local

     参考https://gir.me.uk/nginx-php-fpm-with-chroot/

  • 相关阅读:
    Http服务器实现文件上传与下载(二)
    Http服务器实现文件上传与下载(三)
    NHibernate VS IbatisNet
    5. Element-UI的基本使用
    4. Vue脚手架
    3. Vue单文件组件
    webpack中的加载器
    webpack
    02.模块化相关规范
    01.前端工程化的学习目标
  • 原文地址:https://www.cnblogs.com/linuxOS/p/4572252.html
Copyright © 2011-2022 走看看