Centos编译安装PHP7+Nginx1.9+MySQL5.7

资源下载:http://pan.baidu.com/s/1c80Qtw密码wuyh

一、MySQL编译安装

1、卸载旧版本

使用下面命令检查系统是否安装MySQL Server

rpm -qa | grep mysql


假如存在通过下面的命令来卸载

rpm	-e mysql   //普通卸载方式
rpm -e --nodeps mysql  //强力删除方式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除


2、安装boost库

使用下面的命令检查系统是否存在安装boost

rpm -qa boost*


假如存在通过下面的命令来卸载

yum -y remove boost-*

下载boost_1_59_0.tar.gz必须使用1.59.0版本

把源码复制到

/usr/local/boost/目录下

3、安装MySQL

安装编译代码需要的依赖包

yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison

下载MySQL5.7.10

cd /usr/local/src
wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
tar xvf mysql-5.7.10.tar.gz
cd mysql-5.7.10

创建用户,组

groupadd mysql
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
useradd -g mysql -d /usr/local/mysql mysql


编译mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

安装

make && make install


初始数据库

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data

      一定要记住初始密码


调整配置文件和环境变量参数

将默认生成的my.cnf备份

mv /etc/my.cnf /etc/my.cnf.bak

cd /usr/local/mysql/support-files

拷贝配置文件模板为新的mysql配置文件

cp my-default.cnf /etc/my.cnf

可按需修改新的配置文件选项, 不修改配置选项, mysql则按默认配置参数运行.

如下是我修改配置文件/etc/my.cnf, 用于设置编码为utf8以防乱码

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8

注释最后一行代码

# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

不然进入mysql会报错

复制启动脚本到init.d下

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

增加执行权限

chmod 755 /etc/init.d/mysqld

创建mysql命令文件

ln -s /usr/local/mysql/bin/mysql /usr/bin/

注:没有这个文件就没有mysql命令,不能在任意位置使用mysql 访问数据库

vim /etc/my.cnf


Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

处理很简单,修改文件“/etc/yum.repos.d/epel.repo”, 将baseurl的注释取消, mirrorlist注释掉。即可


访问数据库

mysql -uroot -p

密码为刚才生成的密码

修改默认密码

alter user 'root'@'localhost' identified by 'root';

注:不修改默认密码,将不能正常使用sql,必须修改


二、安装php

1、添加

useradd www

2、安装组建扩展

yum install epel-* -y
yum install -y wget unzip gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

3、安装libiconv

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14

执行

./configure --prefix=/usr

执行

make && make install

注意:

CentOS7编译libiconv会出现

编译libiconv发生./stdio.h:1010:1: 错误: ‘gets’未声明(不在函数内)

解决办法:

cd srclib/                                                               #进到出错文件的目录
sed -i -e '/gets is a security/d' ./stdio.in.h               #编辑出错文件
cd ../                                                                    #回到编译对象目录
make                                                                    #重新Make


4、下载PHP7.0

wget http://php.net/distributions/php-7.0.0.tar.bz2
tar -jxvf php-7.0.0.tar.bz2
cd php-7.0.0

执行

./configure --prefix=/usr/local/php70 --sysconfdir=/usr/local/php70/etc --with-config-file-scan-dir=/usr/local/php70/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-sockets --enable-pcntl --enable-pdo --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-sysvshm --enable-shmop  --with-jpeg-dir=/usr --with-freetype-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-iconv=/usr/lib --with-gd --with-openssl --enable-opcache=no --enable-zip --enable-bcmath --enable-pcntl --enable-ftp --with-curl

执行

make && make install

执行

cp php.ini-production /usr/local/php70/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 
cp sapi/fpm/php-fpm.conf /usr/local/php70/etc/php-fpm.conf  
cp sapi/fpm/www.conf /usr/local/php70/etc/php-fpm.d/www.conf
cd ..

sed -i 's#short_open_tag = Off#short_open_tag = On#g' /usr/local/php70/etc/php.ini

chmod +x /etc/init.d/php-fpm


三、安装nginx

1、下载nginx

wget http://nginx.org/download/nginx-1.9.7.tar.gz
tar -zxvf nginx-1.9.7.tar.gz
cd nginx-1.9.7

执行

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

执行

make && make install

2、编辑配置文件

vi /usr/local/nginx/conf/nginx.conf


加上这一段代码

        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;
        }

3、启动nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重启nginx

/usr/local/nginx/sbin/nginx -s reload

查看nginx版本

/usr/local/nginx/sbin/nginx -h

4、启动php

service php-fpm start

四、运行

vim /usr/local/nginx/html/01.php
<?php
phpinfo();
?>


猜你喜欢

转载自blog.csdn.net/u013308496/article/details/50756303
今日推荐