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/

  • 相关阅读:
    Selenium简单测试页面加载速度的性能(Page loading performance)
    Selenium Page object Pattern usage
    Selenium如何支持测试Windows application
    UI Automation的两个成熟的框架(QTP 和Selenium)
    分享自己针对Automation做的两个成熟的框架(QTP 和Selenium)
    敏捷开发中的测试金字塔(转)
    Selenium 的基础框架类
    selenium2 run in Jenkins GUI testing not visible or browser not open but run in background浏览器后台运行不可见
    eclipse与SVN 结合(删除SVN中已经上传的问题)
    配置Jenkins的slave节点的详细步骤适合windows等其他平台
  • 原文地址:https://www.cnblogs.com/linuxOS/p/4572252.html
Copyright © 2011-2022 走看看