centos6.4下安装php7+nginx+mariadb环境

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos6.4下安装php7+nginx+mariadb环境相关的知识,希望对你有一定的参考价值。

一,安装php7
1,创建php用户和用户组,并在github下载php7源码
#新建php用户和php组
# groupadd -r php && useradd -r -g php -s /bin/false -d /usr/local/php7 -M php
######从GitHub下载php7安装包
# wget -c --no-check-certificate -O php7-src-master.zip https://github.com/php/php-src/archive/master.zip
######开始解压php7包
# unzip -q php7-src-master.zip && cd php-src-master
#####安装编译php7时需要的依赖包
php-src-master]# yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel

2,编译安装php
./buildconf
./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 \
--bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include \
--libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc \
--with-mysql-sock=/var/run/mysql/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-openssl \
--with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd \
--with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --disable-debug --disable-rpath \
--enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring \
--enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear \
--with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir \
--enable-opcache --enable-fpm --enable-fastcgi --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --disable-fileinfo
make clean && make && make install

3选做步骤:执行make test命令进行测试
查看php扩展ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/
需要确保至少存在 mysqli.so 、 pdo_mysql.so 这两个动态库文件

4,设置php配置文件
php-src-master]# cp php.ini-production /usr/local/php7/etc/php.ini
php-src-master]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
php-src-master]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
php-src-master]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

5, 添加php的环境变量
# echo -e ‘\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n‘ >> /etc/profile && source /etc/profile

6, 创建php相关进程日志目录
# mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -R nginx:nginx php-fpm
#######修改session的目录配置
# mkdir -p /var/lib/php/session
# chown -R nginx:nginx /var/lib/php

7,设置PHP开机启动以及测试配置文件是否正确
php-src-master]# chmod +x /etc/init.d/php-fpm
php-src-master]# chkconfig --add php-fpm
php-src-master]# chkconfig php-fpm on
#测试PHP的配置文件是否正确合法
sbin]# php-fpm -t
[03-May-2015 17:50:04] NOTICE: configuration file /usr/local/php7/etc/php-fpm.conf test is successful

8, 配置opcache
vim /usr/local/php7/etc/php.ini
# 加入
zend_extension=/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/opcache.so
# 启动
/etc/init.d/php7-fpm start
# 查看PHP版本
/usr/local/php7/bin/php -v
结果:
PHP 7.0.0-dev (cli) (built: Mar 3 2015 10:02:26)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies


vi php.ini
memory_limit = 256M

 

 

 

二,安装nginx

1,创建用户
groupadd nginx
useradd -r -g nginx -d /usr/local/nginx nginx

2,安装所需扩展

yum -y install zlib-devel pcre-devel openssl-devel
wget http://nginx.org/download/nginx-1.9.9.tar.gz

3,编译nginx
tar -zxvf nginx-1.9.9.tar.gz
源码安装nginx
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx\
--with-openssl=/usr/include/openssl --with-pcre --with-http_stub_status_module --with-http_gzip_static_module \
--with-http_ssl_module --with-http_stub_status_module \
--without-http_ssi_module --without-http_autoindex_module --without-http_uwsgi_module
make && make install

4,注册为系统服务
# /sbin/chkconfig --add nginx
# /sbin/chkconfig --level 345 nginx on

 

更改程序目录拥有者:
chown -R nginx:nginx /var/www/linda040/

 


nginx和php配置文件修改:
vi php.ini
extension=mysqli.so
extension=pdo_mysql.so
vi php-fpm.conf
pid = run/php-fpm.pid
error_log = log/php-fpm.log
emergency_restart_threshold = 10
emergency_restart_interval = 1m
process_control_timeout = 5s

vi /usr/local/php7/etc/php-fpm.d/www.conf
user = nginx
group = nginx
listen = /tmp/php-fpm.socket
listen.backlog = 1024
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
pm = dynamic
pm.max_children = 256
pm.start_servers = 150
pm.min_spare_servers = 50
pm.max_spare_servers = 250
m.max_requests = 8000
slowlog = log/$pool.log.slow
request_slowlog_timeout = 1s


三,安装mariadb
先备份数据库
mysqldump --single-transaction --add-drop-database --master-data=2 -uroot -p123456 --databases linda030 linda_copyright > source.sql

在https://downloads.mariadb.org/mariadb/repositories/#mirror=neusoft&distro=CentOS在线生成mariadb仓库配置
cd /etc/yum.repos.d/

vi MariaDB.repo

# MariaDB 5.5 CentOS repository list - created 2016-01-18 02:46 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64
gpgkey=http://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
然后
yum -y install MariaDB-server MariaDB-client

安装完毕
service mysql start

设置root用户密码
mysqladmin -u root password ‘123456‘
设置远程登录
mysql -uroot -p123456
GRANT ALL PRIVILEGES ON *.* TO [email protected]"%" IDENTIFIED BY "123456";
flush privileges;
配置大小写不敏感
vi /etc/my.cnf.d/server.cnf
在[mysqld]下添加
lower_case_table_names=1
character_set_server=utf8
slow_query_log=on
slow_query_log_file=/var/lib/mysql/slow_query.log
long_query_time=1

service mysql restart

以上是关于centos6.4下安装php7+nginx+mariadb环境的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架

nginx+php7+mysql 在centos7.3下安装

centos7安装nginx1.10和php7

Windows下配置Nginx+php7

总结windows下单独配置php7,mysql8 ,nginx

CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11