CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)

前端之家收集整理的这篇文章主要介绍了CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、安装前的准备工作

1、yum update #更新系统

2、yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2 libxml2-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel #安装PHPMysqL、Nngix所依赖的包

3、下载以下包 #我把所有源文件都下载在root目录,读者可自行修改文件存放目录

3.1 libmcrypt-2.5.8.tar.gz

3.2 mcrypt-2.6.8.tar.gz

3.3 mhash-0.9.9.9.tar.gz

3.4 zlib-1.2.8.tar.gz

解压并安装如:

PHP;"> #tar -zvxf libmcrypt-2.5.8.tar.gz #cd libmcrypt-2.5.8 #./configure #make && make insatll

4、在安装软件时如果提示有什么依赖包没有安装的可以再执行yum install * -y (*表示相关包)

二、编译安装Nginx

1、去官网下载最nginx-1.10.1.tar.gz的稳定版本

2、编译步骤如下

  1、通过winSCP上传nginx-1.10.1.tar.gz到/root目录下

    1.1 groupadd -r nginx #新建nginx组

    1.2 useradd -r -g nginx -s /bin/false nginx #新建无登录权限的nginx用户

    1.3 id nginx #查看nginx组及用户

  2、tar -zvxf nginx-1.10.1.tar.gz

  3、cd nginx-1.10.1

  4、可通过./configure --help查看编译配置参数,也可参考http://nginx.org/en/docs/configure.html,下列参数要写在一行中

  5、make && make install #编译并安装

  6、启动nginx

    6.1 cd /usr/local/nginx

    6.2 sbin/nginx #启动,可使用sbin/nginx -?查看nginx相关操作命令

  7、在/usr/lib/systemd/system目录下新建nginx.service文件,这样就可以通过systemctl stop|start|reload nginx.service来操作nginx,也可参考https://www.nginx.com/resources/wiki/start/topics/examples/systemd/,内容如下:

三、编译安装MySQL

1、去官网下载带boost的5.7.14版本

2、编译步骤如下

  1、用winSCP上传MysqL-boost-5.7.14.tar.gz到/root目录下

  2、groupadd MysqL

  3、useradd -r -g MysqL -s /bin/false MysqL

  4、用cmake编译MysqL,相关参数可以参考https://dev.MysqL.com/doc/refman/5.7/en/source-configuration-options.html,下列参数要写在一行

PHP;"> cmake     -DCMAKE_INSTALL_PREFIX=/usr/local/MysqL     -DMysqL_UNIX_ADDR=/usr/local/MysqL/MysqL.sock     -DSYSCONFDIR=/usr/local/MysqL/etc     -DSYSTEMD_PID_DIR=/usr/local/MysqL     -DDEFAULT_CHARSET=utf8     -DDEFAULT_COLLATION=utf8_general_ci     -DWITH_INNOBASE_STORAGE_ENGINE=1     -DWITH_ARCHIVE_STORAGE_ENGINE=1     -DWITH_BLACKHOLE_STORAGE_ENGINE=1     -DWITH_PERFSCHEMA_STORAGE_ENGINE=1     -DMysqL_DATADIR=/usr/local/MysqL/data     -DWITH_BOOST=boost     -DWITH_SYSTEMD=1

   5、make && make install

  6、配置MysqL并初始化数据库

    6.1 cd /usr/local/MysqL #进入编译目录

    6.2 chown -R MysqL . #修改目录所有者

    6.3 chgrp -R MysqL . #修改目录组

    6.4 cp /usr/local/MysqL/support-files/MysqL.server /etc/init.d/MysqLd #配置MysqLd服务

    6.5 cp /usr/local/MysqL/support-files/my-default.cnf /usr/local/MysqL/my.cnf #配置my.cnf

      6.5.1 复制以下内容到my.cnf文件中的[MysqLd]下   

PHP;"> user = MysqL          basedir = /usr/local/MysqL          datadir = /usr/local/MysqL/data          port = 3306          server_id = /usr/local/MysqL/MysqLd.pid          socket = /usr/local/MysqL/MysqL.sock

    6.5 chkconfig MysqLd on #设置MysqLd开机自启

    6.6 bin/MysqLd --initialize-insecure --user=MysqL --basedir=/usr/local/MysqL --datadir=/usr/local/MysqL/data #初始化数据库

    6.7 bin/MysqLd --user=MysqL & #启动MysqL,如果报Please read "Security" section of the manual to find out how to run MysqLd as root!,就在my.cnf中加入user=root,表示以root用户启动

  7、修改root用户登录密码并允许root用户远程登录

    7.1 MysqL -u root --skip-password

    7.2 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

    7.3 允许root用户远程登录

    7.3.1 use MysqL;

    7.3.2 update user set host='%' where user='root' and host='localhost'; #允许       (update user set host='localhost' where user='root'; #禁用)

    7.3.3 flush privileges;

    7.3.4 service MysqLd restart

  8、解决service MysqLd start|stop报MysqL server PID file could not be found!或者Couldn't find MysqL server (/usr/local/MysqL/bin/MysqLd_safe), 其实可通过阅读此文件解决相关错误

    8.1 chmod 777 /usr/local/MysqL #因我设置MysqLd.pid文件保存在/usr/local/MysqL目录,所以保证其有可写权限    

8.2 通过winSCP修改/etc/init.d/MysqLd文件

    8.2.1 basedir=/usr/local/MysqL #手动指定

    8.2.2 datadir=/usr/local/MysqL/data #手动指定

    8.2.3 MysqLd_pid_file_path=/usr/local/MysqL/MysqLd.pid #手动指定

    8.2.4 把此文件中所有未注释的含有MysqLd_safe的字符替换成MysqLd

四、编译安装PHP

1、去官网PHP.net/downloads.PHP">http://PHP.net/downloads.PHP下载PHP7.0.10版本

2、编译步骤如下

  1、用winSCP上传PHP-7.0.10.tar.gz到/root目录下

  2、tar -zvxf PHP-7.0.10.tar.gz #解压

  3、配置编译PHP参数,可使用./configure --help命令查看所有编译配置项目,下列参数要写在一行中

PHP;">  ./configure     --prefix=/usr/local/PHP     --exec-prefix=/usr/local/PHP     --datadir=/usr/local/PHP     --with-config-file-path=/usr/local/PHP/etc     --with-MysqLi=MysqLnd     --with-pdo-MysqL=MysqLnd     --with-fpm-user=Nginx     --with-fpm-group=Nginx     --with-gd     --with-iconv     --enable-mbstring     --enable-fpm     --enable-MysqLnd

  4、make && make install #编译并安装

  5、cd /usr/local/PHP #进入编译目录

  6、修改相关配置文件

    6.1 cp /usr/local/PHP/etc/PHP.ini.default /usr/local/PHP/etc/PHP.ini #PHP.ini中相关配置依项目需要自行修改,配置Nginx支持PHP参考http://PHP.net/manual/zh/install.unix.Nginx.PHP

    6.2 cp /usr/local/PHP/etc/PHP-fpm.conf.default /usr/local/PHP/etc/PHP-fpm.conf #去掉[global]项下pid前的;

    6.3 cp /usr/local/PHP/etc/PHP-fpm.d/www.conf.default /usr/local/PHP/etc/PHP-fpm.d/www.conf #大致在23、24行修改user和group如:user = Nginx,group = Nginx

  7、chmod 777 /usr/local/PHP/var/run #默认PID文件是写在/usr/local/PHP/var/run这个目录中,所以修改目录权限

  8、sbin/PHP-fpm #启动PHP,可通过sbin/PHP-fpm -h 查看相关操作命令列表

  9、在/usr/lib/systemd/system目录下新建PHP-fpm.service文件,这样就可以通过systemctl stop|start|reload PHP-fpm.service来操作PHP-fpm,内容如下:

PHP;">  [Unit]     Description=The PHP FastCGI Process Manager     After=syslog.target network.target     Before=Nginx.service     [Service]     Type=forking     PIDFile=/usr/local/PHP/var/run/PHP-fpm.pid     ExecStart=/usr/local/PHP/sbin/PHP-fpm     ExecStop=/bin/kill -QUIT `cat /usr/local/PHP/var/run/PHP-fpm.pid`     ExecReload=/bin/kill -USR2 `cat /usr/local/PHP/var/run/PHP-fpm.pid`     PrivateTmp=true     [Install]     WantedBy=multi-user.target

五、至此在我的VirturBox中CentOS7.2下成功搭建了LNMP环境

以上所述是小编给大家介绍的CentOS 7.2 下编译安装PHP7.0.10+MysqL5.7.14+Nginx1.10.1的方法详解(mini版本)。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

猜你在找的PHP相关文章