zoukankan      html  css  js  c++  java
  • Centos6.X下安装php nginx mysql 环境

    ---------------------------------------更换163软件源,此步可以省略,记得把repo文件里面的6.5改成当前版本号
    yum makecache && yum -y update
    ---------------------------------------配置防火墙,开启80端口、3306端口
    备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,
    正确的应该是添加到默认的22端口这条规则的下面
    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 9000 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
    ---------------------------------------关闭SELINUX
    vi /etc/selinux/config
    -----------------------------------
    #SELINUX=enforcing       #注释掉
    #SELINUXTYPE=targeted    #注释掉
    SELINUX=disabled     #增加这一行
    ------------------------------#重启系统
    reboot
    ---------------------------------------依赖组件
    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers pcre-devel  zlib-devel gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* unzip vim
    ---------------------------------------安装pcre,默认gz文件包位置:/usr/local/src
    cd /usr/local/src
    =========================上传文件
    mkdir /usr/local/pcre && tar zxvf pcre-8.35.tar.gz && cd pcre-8.35 && ./configure --prefix=/usr/local/pcre && make && make install && cd ../
    ---------------------------------------安装mysql
    groupadd mysql && useradd -g mysql mysql -s /bin/false && mkdir -p /home/mysqldata && chown -R mysql:mysql /home/mysqldata && mkdir -p /usr/local/mysql && cd /usr/local/src && tar zxvf mysql-5.1.56.tar.gz && cd mysql-5.1.56
    ./configure --prefix=/usr/local/mysql --localstatedir=/home/mysqldata --enable-assembler --enable-static --with-mysqld-user=mysql --with-big-tables --enable-thread-safe-client --enable-local-infile --with-charset-utf8 --with-extra-charsets=all && make && make install
    cp ./support-files/my-huge.cnf /etc/my.cnf
    vim /etc/my.cnf
    =============在[mysqld]中增加下面一行
    datadir = /home/mysqldata
    =============
    ./scripts/mysql_install_db --user=mysql
    cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
    chmod 755 /etc/rc.d/init.d/mysqld
    
    chkconfig mysqld on
    vim /etc/rc.d/init.d/mysqld
    ============================下面两个参数,等号后面是空,把后面的添加进去
    basedir = /usr/local/mysql
    datadir = /home/mysqldata
    ============================
    service mysqld start
    vim /etc/profile
    =====================================================在export之后增加下面这一行
    export PATH=$PATH:/usr/local/mysql/bin
    =====================================================
    ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
    ln -s /usr/local/mysql/include/mysql /usr/include/mysql
    ---------------------------------------安装 nginx
    cd /usr/local/src
    groupadd www && useradd -g www www -s /bin/false && mkdir -p /usr/local/nginx && tar zxvf nginx-1.7.3.tar.gz && cd nginx-1.7.3 && ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/usr/local/src/pcre-8.35
    make && make install
    vim /etc/rc.d/init.d/nginx
    =======================================================这个文件是新建的,完整输入下面的内容
    #!/bin/bash
    # nginx Startup script for the Nginx HTTP Server
    # it is v.0.0.2 version.
    # chkconfig: - 85 15
    # description: Nginx is a high-performance web and proxy server.
    #              It has a lot of features, but it's not for everyone.
    # processname: nginx
    # pidfile: /var/run/nginx.pid
    # config: /usr/local/nginx/conf/nginx.conf
    nginxd=/usr/local/nginx/sbin/nginx
    nginx_config=/usr/local/nginx/conf/nginx.conf
    nginx_pid=/usr/local/nginx/logs/nginx.pid
    RETVAL=0
    prog="nginx"
    # Source function library.
    .  /etc/rc.d/init.d/functions
    # Source networking configuration.
    .  /etc/sysconfig/network
    # Check that networking is up.
    [ ${NETWORKING} = "no" ] && exit 0
    [ -x $nginxd ] || exit 0
    # Start nginx daemons functions.
    start() {
    if [ -e $nginx_pid ];then
       echo "nginx already running...."
       exit 1
    fi
       echo -n $"Starting $prog: "
       daemon $nginxd -c ${nginx_config}
       RETVAL=$?
       echo
       [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
       return $RETVAL
    }
    # Stop nginx daemons functions.
    stop() {
            echo -n $"Stopping $prog: "
            killproc $nginxd
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
    }
    reload() {
        echo -n $"Reloading $prog: "
        #kill -HUP `cat ${nginx_pid}`
        killproc $nginxd -HUP
        RETVAL=$?
        echo
    }
    # See how we were called.
    case "$1" in
    start)
            start
            ;;
    stop)
            stop
            ;;
    reload)
            reload
            ;;
    restart)
            stop
            start
            ;;
    
    status)
            status $prog
            RETVAL=$?
            ;;
    *)
            echo $"Usage: $prog {start|stop|restart|reload|status|help}"
            exit 1
    esac
    exit $RETVAL
    =======================================================
    :x!保存退出
    chmod 775 /etc/rc.d/init.d/nginx
    chkconfig nginx on
    service nginx restart
    ===========================上面这一步执行完之后,就可以在浏览器里面输入虚拟机的ip地址访问了
    ---------------------------------------php组件支持软件安装
    cd /usr/local/src && tar -zxvf libiconv-1.13.1.tar.gz && cd libiconv-1.13.1/ && ./configure --prefix=/usr/local && make && make install && cd ../
    
    tar -zxvf libmcrypt-2.5.7.tar.gz && cd libmcrypt-2.5.7/ && ./configure &&  make && make install && /sbin/ldconfig && cd libltdl/ && ./configure --enable-ltdl-install && make && make install && cd ../../
    
    tar -zxvf mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9/ && ./configure && make && make install && cd ../
    
    ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
    ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
    ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
    ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
    ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
    ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
    ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
    ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
    ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
    ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
    
    tar -zxvf mcrypt-2.6.8.tar.gz &&cd mcrypt-2.6.8/ && /sbin/ldconfig && ./configure && make && make install && cd ../
    
    cd /usr/local/src && tar -zvxf php-5.3.10.tar.gz && cd  php-5.3.10 && mkdir -p /usr/local/php
    ---------------------------------------x64库文件支持,x64才需要执行下面这一行
    cp -frp /usr/lib64/libldap* /usr/lib/
    ---------------------------------------nginx
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-iconv-dir=/usr/local/ --with-freetype-dir --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-jpeg-dir --with-png-dir --with-zlib --with-mhash --enable-sockets --enable-ftp --with-libxml-dir --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --enable-fpm --with-xmlrpc --enable-zip --enable-soap --without-pear
    ---------------------------------------
    make ZEND_EXTRA_LIBS='-liconv'
    make install
    
    cp php.ini-production /usr/local/php/etc/php.ini
    ln -s /usr/local/php/etc/php.ini /etc/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    vim /usr/local/php/etc/php-fpm.conf
    ======================================下面的前面五行是增加,后面两行是前面参数在,后面的加上www,最后一排好像是把前面的分号去掉就可以了
    [global]
    pid = run/php-fpm.pid
    
    [www]
    pm.max_children = 64
    pm.start_servers = 20
    pm.min_spare_servers = 5
    pm.max_spare_servers = 35
    pm.max_requests = 1024
    
    user = www
    group = www
    =============================
    
    cp /usr/local/src/php-5.3.10/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
    chmod +x /etc/rc.d/init.d/php-fpm
    chkconfig php-fpm on
    vim /usr/local/php/etc/php.ini
    =============================================php.ini文件用默认的也可以,这里面的有引起配置有问题
    找到:;open_basedir =
    修改为:open_basedir = .:/tmp/   #防止php木马跨站,重要!!========这一句好像有问题
    找到: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版本的信息
    找到:display_errors = On
    修改为:display_errors = OFF  #关闭错误提示
    ==============================================================================
    ---------------------------------------配置nginx支持php
    vim /usr/local/nginx/conf/nginx.conf
    ===========================================这里面的配置注意找一下,有的是增加后面的值,有的是去掉分号就可以了
    user www www;
    =========================================http{}这一个节点的大括号里面添加这个
    autoindex on; #开启nginx目录浏览功能
    autoindex_exact_size off; #文件大小从KB开始显示
    autoindex_localtime on; #显示文件修改时间为服务器本地时间
    
    其中server段增加如下配置:
      # 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 /usr/local/nginx/html$fastcgi_script_name;
        include        fastcgi_params;
      }
     其中  location /{} 中 index index.html index.htm 改为
     index  index.php  index.html index.htm;
    ===========================================
    到这一步就算完成了,下面的是配置zend加密以及多域名绑定的
    ==================pdo-mysql支持20140716
    cd /usr/local/src && tar zxvf pdo_mysql-1.0.2.tgz && cd PDO_MYSQL-1.0.2
    /usr/local/php/bin/phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
    make && make install
    vim /usr/local/php/etc/php.ini
    ==========================找到extension=php-mysql.dll后面添加一行
    extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so"
    ---------------------------------------配置php支持Zend Guard
    安装Zend Guard
    cd /usr/local/src && mkdir /usr/local/zend
    tar xvfz ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
    tar xvfz ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz
    cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/zend/ ##64位
    cp ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so /usr/local/zend/ ##32位
    vim + /usr/local/php/etc/php.ini##最后一行的下面添加
    ====================================================
    [Zend Guard]
    zend_extension=/usr/local/zend/ZendGuardLoader.so
    zend_loader.enable=1
    zend_loader.disable_licensing=0
    zend_loader.obfuscation_level_support=3
    zend_loader.license_path=
    ============================================
    ---------------------------------------
    mkdir -p /home/www/vhosts/ && mkdir -p /home/www/html/ && chown -R www:www /home/www/vhosts/ && chown www.www /home/www/html/ -R && chmod 700 /home/www/html/ -R
    ---------------------------------------测试及相关组件参数
    cd /usr/local/nginx/html/   #进入nginx默认网站根目录
    vim index.php  #新建index.php文件
    ==================== 
    <?php
    phpinfo();
    ?>
    ======================完成后重启才能有效=====================
    http://192.168.9.8/index.php
    #############################################################################
    ---------------------------------------多域名支持
    vim /usr/local/nginx/conf/nginx.conf
    ==========================================
    include /home/www/vhosts/*.conf;
    ==========================================
    CREATE USER chy@localhost IDENTIFIED BY '123456';  
    grant all on qyoa.* to chy@localhost;
    grant alter,create,delete,drop,index,insert,select,update on qyoa.* to chy@localhost;
    ==========================================
    
    1.2.2 设置mysql密码 
    mysql>; USE mysql; 
    mysql>; UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root'; 
    mysql>; FLUSH PRIVILEGES; 
    1.2.3 允许远程登录 
    mysql -u root -p 
    Enter Password: <your new password> 
    mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 
    完成后就能用mysql-front远程管理mysql了。 
    
    
    ============================第二种yum安装方法============================
    CentOS下yum安装LAMP
     
    1. 用yum安装Apache,Mysql,PHP. 
    1.1安装Apache 
    yum install httpd httpd-devel 
    安装完成后,用/etc/init.d/httpd start 启动apache 
    设为开机启动:chkconfig httpd on 
    1.2 安装mysql 
    1.2.1 yum install mysql mysql-server mysql-devel 
    同样,完成后,用/etc/init.d/mysqld start 启动mysql 
    1.2.2 设置mysql密码 
    mysql>; USE mysql; 
    mysql>; UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root'; 
    mysql>; FLUSH PRIVILEGES; 
    1.2.3 允许远程登录 
    mysql -u root -p 
    Enter Password: <your new password> 
    mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 
    完成后就能用mysql-front远程管理mysql了。 
    1.2.4 设为开机启动 
    chkconfig mysqld on 
    2. 安装php 
    yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml 
    /etc/init.d/httpd start 
    3. 测试一下 
    3.1在/var/www/html/新建个test.php文件,将以下内容写入,然后保存。 
    <? 
    phpinfo(); 
    ?> 
    3.2 防火墙配置 
    a.添加.允许访问端口{21: ftp, 80: http}. 
    iptables -I RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT 
    iptables -I RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT 
    b.关闭防火墙{不推荐}. 
    service iptables stop 
    c.重置加载防火墙 
    service iptables restart 
    3.3然后在客户端浏览器里打开http://serverip/test.php,若能成功显示,则表示安装成功。 
    至此,安装完毕。感慨,yum真是太好用了。
    CentOS 打开防火墙80端口
     
    注意:有时安装好可能无法访问,需要打开80端口
    很大的原因是防火墙:
    通过/etc/init.d/iptables status命令查询是否有打开80端口,如果没有可通过两种方式处理:
    1.修改vi /etc/sysconfig/iptables命令添加使防火墙开放80端口
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    2.关闭防火墙
    /etc/init.d/iptables stop 
    #start 开启 
    #restart 重启
    永久性关闭防火墙chkconfig --level 35 iptables off
    

      环境包下载地址: http://pan.baidu.com/s/1i3XTcoP

  • 相关阅读:
    Android NDK 学习之传递类对象
    https://www.aminer.cn/ AI研究
    MYSQL 的一些文件及说明
    Windows下移动MariaDB数据目录 (转!)
    MariaDB Galera Cluster 10.1 只支持 LINUX ?!
    MARIADB 在 OPENSUSE 的安装。
    “命令行程序”的通用图形界面 (转)
    代码生成的地址:mygeneration
    上海力软--快速开发框架
    康力优蓝机器人 -- 优友U05类人型机器人发布
  • 原文地址:https://www.cnblogs.com/siichen/p/5287005.html
Copyright © 2011-2022 走看看