• Centos 6.5 搭建php环境(nginx+mariadb+php7)


    1.mariaDb

    vim /etc/yum.repos.d/MariaDB.repo
    [mariadb]
    name = MariaDB
    baseurl = http://yum.mariadb.org/5.5/centos5-x86
    gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgcheck=1
    #如果服务器已经安装了MariaDB-Galera-server包,你可能需要在安装MariaDB-server之前先删除它。(使用sudo yum remove MariaDB-Galera-server),删除MariaDB-Galera-#server的rpm包不会删除任何数据库,但任何升级都应该先备份。
    sudo yum install MariaDB-server MariaDB-client
    #启动MariaDB
    sudo /etc/init.d/mysql start

    通过在创建MariaDB.repo,可以实现yum安装

    对应不同linux版本配置文件,和详细方法可以参考下面链接

    https://mariadb.com/kb/zh-cn/installing-mariadb-with-yum/

    https://downloads.mariadb.org/mariadb/repositories/#mirror=opencas

    2.nginx

    #此命令可以一键安装开发工具包
    yum -y groupinstall "Development Tools" "Development Libraries"
    #安装prce(重定向支持)和openssl(https支持,如果不需要https可以不安装。)
    yum -y install pcre*
    yum -y install openssl*
    #创建www组与www用户
    groupadd www
    useradd -g www -s /usr/sbin/nologin www
    #安装Nginx
    tar zxvf nginx-1.9.9.tar.gz
    cd nginx-1.9.9.tar.gz/
    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    make && make install
    #启动Nginx
    /usr/local/nginx/sbin/nginx
    #测试配置文件是否正确
    /usr/local/nginx/sbin/nginx -t

    还可以通过service命令来操作nginx服务,如下

    1.先创建一个文件,里面写入以下shell脚本如:

    进入编辑模式并复制以下内容:查看nginx.shell文件

    #!/bin/bash
    # nginx Startup script for the Nginx HTTP Server
    #
    # 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=/var/run/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 /var/run/nginx.pid
    }
    
    
    # reload nginx service functions.
    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

    2.把这个文件复制到/etc/init.d目录下

    #cp ./nginx /etc/init.d

    3.修改这个文件为可执行的权限

    #chmod +x /etc/init.d/nginx

    4.把这个可执行文件加到服务服务中去

    #chkconfig --add nginx

    之后就可以使用 service 命令来管理了!

    3.php

    #安装前先更新所需要的模块
    yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
    wget  http://cn2.php.net/get/php-7.0.4.tar.gz/from/this/mirror
    tar -zxvf php-7.0.4.tar.gz
    cd php-7.0.4.tar.gz
    ./configure --prefix=/usr/local/php 
     --with-curl 
     --with-freetype-dir 
     --with-gd 
     --with-gettext 
     --with-iconv-dir 
     --with-kerberos 
     --with-libdir=lib64 
     --with-libxml-dir 
     --with-mysqli 
     --with-openssl 
     --with-pcre-regex 
     --with-pdo-mysql 
     --with-pdo-sqlite 
     --with-pear 
     --with-png-dir 
     --with-xmlrpc 
     --with-xsl 
     --with-zlib 
     --enable-fpm 
     --enable-bcmath 
     --enable-libxml 
     --enable-inline-optimization 
     --enable-gd-native-ttf 
     --enable-mbregex 
     --enable-mbstring 
     --enable-opcache 
     --enable-pcntl 
     --enable-shmop 
     --enable-soap 
     --enable-sockets 
     --enable-sysvsem 
     --enable-xml 
     --enable-zip
    
    # 编译安装
    make &&  make install
    
    # 配置文件
    cp php.ini-development /usr/local/php/lib/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
    cp -R ./sapi/fpm/php-fpm /etc/init.d/php-fpm
    
    # 启动
    /etc/init.d/php-fpm
    
    # 查看是否启动
    ps aux | grep php

    修改nginx配置,监听*.php的文件

    # vim /usr/local/nginx/conf/nginx.conf

    简单配置如下:

    user  www www;
    
    worker_processes 10;
    
    #error_log  /data/logs/nginx_error.log  crit;
    
    
    #pid        logs/nginx.pid;
    
    #Specifies the value for maximum file descriptors that can be opened by this process.
    worker_rlimit_nofile 51200;
    
    events
    {
        use epoll;
    
        worker_connections 51200;
    }
    
    http
    {
        include       mime.types;
        default_type  application/octet-stream;
    
        #charset  gbk;
         
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        #client_max_body_size 8m;
    
        server_tokens off;
    
        expires       1h; 
    
        sendfile on;
        tcp_nopush     on;
        keepalive_timeout 60;
        tcp_nodelay on;
    
        error_page   404  /404.jpg;
    
         fastcgi_connect_timeout 20;
         fastcgi_send_timeout 30;
         fastcgi_read_timeout 120;
         fastcgi_buffer_size 256k;
         fastcgi_buffers 8 256k;
         fastcgi_busy_buffers_size 256k;
         fastcgi_temp_file_write_size 256k;
         fastcgi_temp_path /dev/shm;
    
        gzip on;
        gzip_min_length  2048;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_types  text/plain  text/css application/xml application/x-javascript ;
    
        log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                              '$status $body_bytes_sent "$http_referer" '
                              '"$http_user_agent" $http_x_forwarded_for';
    
    
    
    server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html;
                index  index.html index.htm index.php;
            }
    
        #rewrite index.php/^(.*)$ idex.php?s=/$1 last ;
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    location ~ .php$
                {
             fastcgi_pass  127.0.0.1:9000;
                  fastcgi_index index.php;
                 include fastcgi.conf;
                }
    }
    
    
    #################  include  ###################
    
    #    include block_ips.conf ;
    #    include vhost/*.conf ;
    
    #强制域名访问对应域名的conf
    #    server {
    #        listen 80 default ;
    #        server_name _;
    #        return 404;
    #    }
    } 

    最后phpinfo(),成功

     

    作者:诗经
    出处:http://www.cnblogs.com/zsj-zhangshijing/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    ASP.NET Core: What I learned!
    Entity Framework Core with GraphQL and SQL Server using HotChocolate
    Angular 9 Chart.js with NG2-Charts Demo
    POST调用WCF方法-项目实践
    项目实战-登录速度优化笔记
    MP4视频流base64数据转成Blob对象
    使用Vue+ElementUI实现前端分页
    JS端实现图片、视频时直接下载而不是打开预览
    Dynamic CRM工作流流程实战
    Dynamic CRM插件调试与单元测试
  • 原文地址:https://www.cnblogs.com/zsj-zhangshijing/p/5089933.html
Copyright © 2020-2023  润新知