阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7.2下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1

186次阅读
没有评论

共计 6129 个字符,预计需要花费 16 分钟才能阅读完成。

CentOS 7.2 下编译安装 PHP7.0.10+MySQL5.7.14+Nginx1.10.1

一、安装前的准备工作

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    #安装 php、MySQL、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

 解压并安装如:

#tar -zvxf  libmcrypt-2.5.8.tar.gz

#cd libmcrypt-2.5.8

#./configure

#make && make insatll

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

 


 

二、编译安装 Nginx

1、去官网 http://nginx.org/en/download.html 下载最 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,下列参数要写在一行中
./configure
–prefix=/usr/local/nginx
–modules-path=/usr/local/nginx/modules
–with-http_ssl_module
–pid-path=/usr/local/nginx/nginx.pid
–user=nginx
–group=nginx

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/,内容如下:
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

 


 

三、编译安装 MySQL

1、去官网 http://dev.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.14.tar.gz 下载带 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,下列参数要写在一行
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] 下
  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、去官网 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 命令查看所有编译配置项目, 下列参数要写在一行中
./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,内容如下:
[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

更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-09/134804.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6129字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中