zoukankan      html  css  js  c++  java
  • centos 6.5 编译安装了 Nginx1.6.0+MySQL5.6.19+PHP5.5.14

    centos 6.5 编译安装了 Nginx1.6.0+MySQL5.6.19+PHP5.5.14
    ---------------------------------------------------------------------------------------------

    安装包:http://pan.baidu.com/s/1jG8iose

    SecureCRT下载地址:http://pan.baidu.com/s/1kTtnfKV

    FlashFXP下载地址:http://pan.baidu.com/s/1hq2gIGW

    ---------------------------------------------------------------------------------------------

    -------------------- 配置防火墙,开启80端口、3306端口 ---- start --------------------
    vi /etc/sysconfig/iptables #编辑防火墙配置文件
    # 添加下面两行
    # -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    # -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

    ###################################################################

    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT

    ###################################################################

    :wq! #保存退出
    
    service iptables restart # 重启防火墙
    chkconfig iptables on # 永久关闭后启用

    -------------------- 配置防火墙,开启80端口、3306端口 ---- end --------------------

    -------------------- 关闭SELINUX ---- start --------------------
    vi /etc/selinux/config

    #SELINUX=enforcing #注释掉
    SELINUX=disabled #增加
    :wq! #保存退出
    setenforce 0 #使配置立即生效(临时关闭,不然要重启)
    -------------------- 关闭SELINUX ---- end --------------------

    mkdir -p /Data/tgz #安装包目录
    cd /Data/tgz
    yum install wget
    
    # 安装依赖
    yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel

    -------------------- 安装mysql ---- start --------------------
    # 安装cmake

    cd /Data/tgz
    tar zxvf cmake-2.8.11.2.tar.gz
    cd cmake-2.8.11.2
    ./configure
    gmake
    gmake install

    # 安装MySQL

    groupadd mysql #添加mysql组
    useradd -g mysql -M mysql -s /sbin/nologin #创建用户不创建用户目录mysql并加入到mysql组,不允许mysql用户直接登录系统
    mkdir -p /Data/data/mysql #创建MySQL数据库存放目录
    chown -R mysql:mysql /Data/data/mysql #设置MySQL数据库存放目录权限
    mkdir -p /Data/apps/mysql #创建MySQL安装目录
    cd /Data/tgz #进入软件包存放目录
    tar zxvf mysql-5.6.19.tar.gz #解压
    cd mysql-5.6.19 #进入目录
    cmake . -DCMAKE_INSTALL_PREFIX=/Data/apps/mysql -DMYSQL_DATADIR=/Data/data/mysql -DSYSCONFDIR=/etc #配置
    gmake #编译
    gmake install #安装
    rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除)
    cd /Data/apps/mysql #进入MySQL安装目录
    ./scripts/mysql_install_db --user=mysql --basedir=/Data/apps/mysql --datadir=/Data/data/mysql #生成mysql系统数据库
    ln -s /Data/apps/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接
    cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动
    chmod 755 /etc/init.d/mysqld #增加执行权限
    chkconfig mysqld on #加入开机启动

    vi /etc/rc.d/init.d/mysqld #编辑
    ###################################

    basedir=/Data/apps/mysql #MySQL程序安装路径
    datadir=/Data/data/mysql #MySQl数据库存放目录

    ###################################

    service mysqld start #启动
    vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
    export PATH=$PATH:/Data/apps/mysql/bin
    source /etc/profile

    # 下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。

    ln -s /Data/apps/mysql/lib/mysql /usr/lib/mysql
    ln -s /Data/apps/mysql/include/mysql /usr/include/mysql
    mkdir /var/lib/mysql #创建目录
    ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接
    mysql_secure_installation #设置Mysql密码,根据提示按Y 回车输入2次密码

    ----------- 测试 安装是否成功 -----------

    # mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 1
    Server version: 5.5.22 Source distribution
    Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    # mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | performance_schema |
    | test |
    +--------------------+
    4 rows in set (0.07 sec)
    # mysql> exit;
    Bye

    -------------------- 安装mysql ---- end --------------------

    -------------------- 安装nginx ---- start --------------------

    # 安装pcre

    cd /Data/tgz
    mkdir /Data/apps/pcre
    tar zxvf pcre-8.35.tar.gz
    cd pcre-8.35
    ./configure --prefix=/Data/apps/pcre
    make
    make install

    # 安装openssl

    cd /Data/tgz
    mkdir /Data/apps/openssl
    tar zxvf openssl-1.0.1h.tar.gz
    cd openssl-1.0.1h
    ./config --prefix=/Data/apps/openssl
    make
    make install
    vi /etc/profile
    export PATH=$PATH:/Data/apps/openssl/bin
    :wq!
    source /etc/profile

    # 安装zlib

    cd /Data/tgz
    mkdir /Data/apps/zlib
    tar zxvf zlib-1.2.8.tar.gz
    cd zlib-1.2.8
    ./configure --prefix=/Data/apps/zlib
    make
    make install

    # 安装Nginx

    groupadd www
    useradd -g www -M www -s /sbin/nologin
    cd /usr/local/src
    tar zxvf nginx-1.6.0.tar.gz
    cd nginx-1.6.0
    ./configure --prefix=/Data/apps/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/Data/tgz/openssl-1.0.1h --with-zlib=/Data/tgz/zlib-1.2.8 --with-pcre=/Data/tgz/pcre-8.35
    make
    make install
    /Data/apps/nginx/sbin/nginx #启动nginx

    vi /etc/rc.d/init.d/nginx #添加下面脚本,注意修改 nginx 和 NGINX_CONF_FILE 内容
    ##################################################################

    #!/bin/sh
    #
    # nginx - this script starts and stops the nginx daemon
    #
    # chkconfig:   - 85 15 
    # description:  Nginx is an HTTP(S) server, HTTP(S) reverse 
    #               proxy and IMAP/POP3 proxy server
    # processname: nginx
    # config:      /etc/nginx/nginx.conf
    # config:      /etc/sysconfig/nginx
    # pidfile:     /var/run/nginx.pid
    
    # Source function library.
    . /etc/rc.d/init.d/functions
    
    # Source networking configuration.
    . /etc/sysconfig/network
    
    # Check that networking is up.
    [ "$NETWORKING" = "no" ] && exit 0
    
    nginx="/Data/apps/nginx/sbin/nginx"
    prog=$(basename $nginx)
    
    NGINX_CONF_FILE="/Data/apps/nginx/conf/nginx.conf"
    
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
    
    lockfile=/var/lock/subsys/nginx
    
    make_dirs() {
       # make required directories
       user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=([^ ]*).*/1/g' -`
       if [ -z "`grep $user /etc/passwd`" ]; then
           useradd -M -s /bin/nologin $user
       fi
       options=`$nginx -V 2>&1 | grep 'configure arguments:'`
       for opt in $options; do
           if [ `echo $opt | grep '.*-temp-path'` ]; then
               value=`echo $opt | cut -d "=" -f 2`
               if [ ! -d "$value" ]; then
                   # echo "creating" $value
                   mkdir -p $value && chown -R $user $value
               fi
            fi
       done
    }
    
    start() {
        [ -x $nginx ] || exit 5
        [ -f $NGINX_CONF_FILE ] || exit 6
        make_dirs
        echo -n $"Starting $prog: "
        daemon $nginx -c $NGINX_CONF_FILE
        retval=$?
        echo
        [ $retval -eq 0 ] && touch $lockfile
        return $retval
    }
    
    stop() {
        echo -n $"Stopping $prog: "
        killproc $prog -QUIT
        retval=$?
        echo
        [ $retval -eq 0 ] && rm -f $lockfile
        return $retval
    }
    
    restart() {
        configtest || return $?
        stop
        sleep 1
        start
    }
    
    reload() {
        configtest || return $?
        echo -n $"Reloading $prog: "
        killproc $nginx -HUP
        RETVAL=$?
        echo
    }
    
    force_reload() {
        restart
    }
    
    configtest() {
      $nginx -t -c $NGINX_CONF_FILE
    }
    
    rh_status() {
        status $prog
    }
    
    rh_status_q() {
        rh_status >/dev/null 2>&1
    }
    
    case "$1" in
        start)
            rh_status_q && exit 0
            $1
            ;;
        stop)
            rh_status_q || exit 0
            $1
            ;;
        restart|configtest)
            $1
            ;;
        reload)
            rh_status_q || exit 7
            $1
            ;;
        force-reload)
            force_reload
            ;;
        status)
            rh_status
            ;;
        condrestart|try-restart)
            rh_status_q || exit 0
                ;;
        *)
            echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
            exit 2
    esac

    ##################################################################

    chkconfig nginx on #设置 nginx 开机启动
    service nginx restart #重启 nginx

    -------------------- 安装nginx ---- end --------------------

    -------------------- 安装php ---- start --------------------
    # 安装yasm

    cd /Data/tgz
    tar zxvf yasm-1.2.0.tar.gz
    cd yasm-1.2.0
    ./configure
    make
    make install

    # 安装libmcrypt

    cd /Data/tgz
    tar zxvf libmcrypt-2.5.8.tar.gz
    cd libmcrypt-2.5.8
    ./configure
    make
    make install

    # 安装libvpx

    cd /Data/tgz
    tar xvf libvpx-v1.3.0.tar.bz2
    cd libvpx-v1.3.0
    ./configure --prefix=/Data/apps/libvpx --enable-shared --enable-vp9
    make
    make install

    # 安装tiff

    cd /Data/tgz
    tar zxvf tiff-4.0.3.tar.gz
    cd tiff-4.0.3
    ./configure --prefix=/Data/apps/tiff --enable-shared
    make
    make install

    # 安装libpng

    cd /Data/tgz
    tar zxvf libpng-1.6.12.tar.gz
    cd libpng-1.6.12
    ./configure --prefix=/Data/apps/libpng --enable-shared
    make
    make install

    # 安装freetype

    cd /Data/tgz
    tar zxvf freetype-2.5.3.tar.gz
    cd freetype-2.5.3
    ./configure --prefix=/Data/apps/freetype --enable-shared
    make
    make install

    # 安装jpeg

    cd /Data/tgz
    tar zxvf jpegsrc.v9a.tar.gz
    cd jpeg-9a
    ./configure --prefix=/Data/apps/jpeg --enable-shared
    make
    make install

    # 安装libgd

    cd /Data/tgz
    tar zxvf libgd-2.1.0.tar.gz
    cd libgd-2.1.0
    ./configure --prefix=/Data/apps/libgd --enable-shared --with-jpeg=/Data/apps/jpeg --with-png=/Data/apps/libpng --with-freetype=/Data/apps/freetype --with-fontconfig=/Data/apps/freetype --with-xpm=/Data/ --with-tiff=/Data/apps/tiff --with-vpx=/Data/apps/libvpx
    make
    make install

    # 安装t1lib

    cd /Data/tgz
    tar zxvf t1lib-5.1.2.tar.gz
    cd t1lib-5.1.2
    ./configure --prefix=/Data/apps/t1lib --enable-shared
    make without_doc
    make install

    # 安装php
    # 注意:如果系统是64位,请执行以下两条命令,否则安装php会出错(32位系统不需要执行)

    ln -s /usr/lib64/libltdl.so /usr/lib/libltdl.so
    cp -frp /usr/lib64/libXpm.so* /usr/lib/
    cd /Data/tgz
    tar -zvxf php-5.5.14.tar.gz
    cd php-5.5.14
    export LD_LIBRARY_PATH=/Data/apps/libgd/lib
    ./configure --prefix=/Data/apps/php --with-config-file-path=/Data/apps/php/etc --with-mysql=/Data/apps/mysql --with-mysqli=/Data/apps/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/Data/apps/mysql --with-gd --with-png-dir=/Data/apps/libpng --with-jpeg-dir=/Data/apps/jpeg --with-freetype-dir=/Data/apps/freetype --with-xpm-dir=/Data/ --with-vpx-dir=/Data/apps/libvpx/ --with-zlib-dir=/Data/apps/zlib --with-t1lib=/Data/apps/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype #配置
    gmake #编译
    gmake install #安装
    cp php.ini-production /Data/apps/php/etc/php.ini #复制php配置文件到安装目录
    rm -rf /etc/php.ini #删除系统自带配置文件
    ln -s /Data/apps/php/etc/php.ini /etc/php.ini #添加软链接到 /etc目录
    cp /Data/apps/php/etc/php-fpm.conf.default /Data/apps/php/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件
    ln -s /Data/apps/php/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录

    vi /Data/apps/php/etc/php-fpm.conf #编辑
    ##################################################

    user = www #设置php-fpm运行账号为www
    group = www #设置php-fpm运行组为www
    pid = run/php-fpm.pid #取消前面的分号

    ##################################################
    :wq! #保存退出

    #设置 php-fpm开机启动

    cp /Data/tgz/php-5.5.14/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
    chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
    chkconfig php-fpm on #设置开机启动

    vi /Data/apps/php/etc/php.ini #编辑配置文件
    ##################################################

    找到:disable_functions =
    修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
    #列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
    找到:;date.timezone =
    修改为:date.timezone = PRC #设置时区
    找到:expose_php = On
    修改为:expose_php = Off #禁止显示php版本的信息
    找到:short_open_tag = Off
    修改为:short_open_tag = ON #支持php短标签
    找到:opcache.enable=0
    修改为opcache.enable=1 #php支持opcode缓存
    找到:opcache.enable_cli=1 
    修改为:opcache.enable_cli=0 #php支持opcode缓存
    在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能

    ##################################################
    :wq! #保存退出
    -------------------- 安装php ---- end --------------------

    配置nginx支持php
    vi /Data/apps/nginx/conf/nginx.conf
    修改/Data/apps/nginx/conf/nginx.conf 配置文件,需做如下修改
    ##################################################

    user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/Data/apps/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
    index index.html index.htm index.php; #添加index.php
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ .php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }

    ##################################################

    vi /Data/apps/nginx/conf/fastcgi_params
    修改/Data/apps/nginx/conf/fastcgi_params 配置文件,添加如下
    ##################################################

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    ##################################################

    service nginx restart #重启nginx
    service php-fpm restart #启动php-fpm

    测试篇
    cd /Data/apps/nginx/html/ #进入nginx默认网站根目录
    rm -rf /Data/apps/nginx/html/* #删除默认测试页

    vi index.php #新建index.php文件
    <?php
    phpinfo();
    ?>

    :wq! #保存退出

    chown www.www /Data/apps/nginx/html/ -R #设置目录所有者
    chmod 700 /Data/apps/nginx/html/ -R #设置目录权限

    在浏览器中打开服务器IP地址,会看到下面的界面

    至此,CentOS 6.5编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14教程完成。

  • 相关阅读:
    第07组 Beta冲刺(2/5)
    第07组 Beta冲刺(1/5)
    第07组 Alpha事后诸葛亮
    第07组 Alpha冲刺(5/6)
    第07组 Alpha冲刺(6/6)
    软工实践个人总结
    第01组 Beta版本演示
    第01组 Beta冲刺(5/5)
    第01组 Beta冲刺(4/5)
    第01组 Beta冲刺(3/5)
  • 原文地址:https://www.cnblogs.com/yhdsir/p/4917772.html
Copyright © 2011-2022 走看看