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/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/zsj-zhangshijing/p/5089933.html