下面为你详细讲解在 CentOS 7.2 下编译安装 PHP 7.0.10 + MySQL 5.7.14 + Nginx 1.10.1 的方法,包含示例说明。
1. 准备工作
在安装之前需要先安装相关依赖包,包括:
- gcc
- autoconf
- libxml2
- libxml2-devel
- openssl
- openssl-devel
- curl
- curl-devel
- libjpeg
- libjpeg-devel
- zlib
- zlib-devel
- libpng
- libpng-devel
- freetype
- freetype-devel
- libmcrypt
- libmcrypt-devel
- libiconv
可以通过以下命令安装:
yum install gcc autoconf libxml2 libxml2-devel openssl openssl-devel \
curl curl-devel libjpeg libjpeg-devel zlib zlib-devel libpng libpng-devel \
freetype freetype-devel libmcrypt libmcrypt-devel libiconv
2. 安装 MySQL 5.7.14
首先需要安装 MySQL 5.7.14。可以从官网下载最新版本的源代码包,然后使用以下命令进行编译安装:
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.14.tar.gz
tar -xzvf mysql-5.7.14.tar.gz
cd mysql-5.7.14
cmake .
make && make install
执行完以上命令后,MySQL 5.7.14 就已经安装成功了。
3. 安装 Nginx 1.10.1
接下来安装 Nginx 1.10.1。同样可以从官网下载最新版本的源代码包,并使用以下命令进行编译安装:
wget http://nginx.org/download/nginx-1.10.1.tar.gz
tar -xzvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure --prefix=/usr/local/nginx
make && make install
执行完以上命令后,Nginx 1.10.1 就已经安装成功了。
4. 安装 PHP 7.0.10
最后安装 PHP 7.0.10。同样可以从官网下载最新版本的源代码包,并使用以下命令进行编译安装:
wget http://php.net/get/php-7.0.10.tar.gz/from/this/mirror -O php-7.0.10.tar.gz
tar -xzvf php-7.0.10.tar.gz
cd php-7.0.10
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv \
--with-zlib \
--with-mcrypt \
--with-openssl \
--enable-fpm \
--enable-bcmath \
--enable-calendar \
--enable-exif \
--enable-ftp \
--enable-mbstring \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-wddx \
--enable-zip \
--with-xmlrpc \
--without-pear \
--without-sqlite3 \
--without-pdo-sqlite
make && make install
执行完以上命令后,PHP 7.0.10 就已经安装成功了。
5. 配置 PHP 和 Nginx
在安装完成 PHP 和 Nginx 后,需要先进行 PHP 配置。可以通过以下命令复制一份默认的 PHP 配置文件,并进行修改:
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
在文件中进行以下配置:
[www]
listen = /tmp/php.sock
user = nginx
group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
chdir = /
最后可以通过以下命令启动 PHP-FPM 进程:
/usr/local/php/sbin/php-fpm
接下来再进行 Nginx 的配置,在 /usr/local/nginx/conf/nginx.conf
中添加以下内容:
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
以上配置中,将 PHP-FPM 的 Unix Socket 给了 Nginx,通过 location ~ \.php$
指定 PHP 脚本文件的处理。
6. 测试
在完成以上配置后,可以通过创建 index.php
文件进行测试:
<?php phpinfo(); ?>
将 index.php
文件放置到 Nginx 的根目录下,然后访问 http://服务器IP
就可以看到 PHP 的信息了。
示例说明
示例1:安装 PHP 时指定了需要支持的扩展
在第4步中,配置 PHP 时指定了需要支持的扩展:
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv \
--with-zlib \
--with-mcrypt \
--with-openssl \
--enable-fpm \
--enable-bcmath \
--enable-calendar \
--enable-exif \
--enable-ftp \
--enable-mbstring \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-wddx \
--enable-zip \
--with-xmlrpc \
--without-pear \
--without-sqlite3 \
--without-pdo-sqlite
可以根据需要增删扩展。
示例2:修改了 Nginx 的根目录
在第5步中,配置 Nginx 的时候修改了根目录:
root /usr/share/nginx/html;
可以将 /usr/share/nginx/html
改为其他路径。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本) - Python技术站