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

下面为你详细讲解在 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技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • python2.6.6如何升级到python2.7.14

    要将 Python2.6.6 升级到 Python2.7.14 需要进行以下步骤: 1.备份Python2.6.6: 使用命令行进入 Python2.6.6 的安装目录下,例如:/usr/local/python2.6.6 备份 Python2.6.6 的位置: sudo mv /usr/local/python2.6.6 /usr/local/python…

    人工智能概览 2023年5月25日
    00
  • 解决Django部署设置Debug=False时xadmin后台管理系统样式丢失

    当我们将Django项目部署到线上环境时,通常会将Debug模式设置为False,这是一种安全措施。然而,在部署后,我们可能会发现xadmin后台管理系统的样式丢失,这是因为Django项目中的静态文件未被正确加载。以下是解决这个问题的完整攻略: 修改settings.py文件 在settings.py文件中,将以下内容添加进入: import os ……

    人工智能概览 2023年5月25日
    00
  • Python中性能分析利器pyinstrument详细讲解

    Python中性能分析利器pyinstrument详细讲解 什么是pyinstrument? pyinstrument是一个Python程序的性能分析工具,可以帮助开发者找到代码中的性能瓶颈。它可以生成火焰图(Flame Graphs)和调用栈图(Call Stacks),直观地展示代码的执行情况。 安装pyinstrument 使用pip可以很方便地安装p…

    人工智能概论 2023年5月25日
    00
  • 图解NodeJS实现登录注册功能

    针对“图解NodeJS实现登录注册功能”的完整攻略,我来做详细讲解。 什么是NodeJS登录注册功能? NodeJS登录注册功能是指使用NodeJS技术实现用户系统,包括用户注册、登录和退出等操作。常用的技术包括NodeJS、Express、mongoDB等。 实现过程 NodeJS实现登录注册功能,大体可以分为以下几个步骤: 安装NodeJS和mongoD…

    人工智能概论 2023年5月24日
    00
  • ChatGPT编程秀之最小元素的设计示例详解

    以下是ChatGPT编程秀之最小元素的设计示例的流程和内容: ChatGPT编程秀之最小元素的设计示例详解 简介 ChatGPT编程秀是一项比赛,旨在让选手通过编写Chatbot并使用GPT模型来自主完成对话任务。在比赛中,最小元素的设计是至关重要的,因为它们是构建完整Chatbot的基础。本文将为大家详细介绍如何设计Chatbot的最小元素,并给出两个具体…

    人工智能概论 2023年5月25日
    00
  • python利用百度云接口实现车牌识别的示例

    这里是关于“Python利用百度云接口实现车牌识别的示例”的完整攻略: 概述 本文将介绍如何通过Python代码调用百度云API实现车牌识别功能。我们需要先在百度云平台注册一个账号、创建应用并获取API Key和 Secret Key。车牌识别是基于图像的AI识别技术,在实现过程中,需要用到Python的基础语法和相关库的调用,例如:requests、bas…

    人工智能概论 2023年5月25日
    00
  • 详解OpenCV-Python Bindings如何生成

    OpenCV-Python Bindings是OpenCV库的Python绑定,它使得Python开发者能够使用OpenCV的各种函数和算法。在这篇攻略中,我们将详细介绍如何生成OpenCV-Python Bindings。 步骤一:安装依赖项 在生成OpenCV-Python Bindings之前,需要安装一些依赖项。以下是安装所需依赖项的命令: sudo…

    人工智能概论 2023年5月25日
    00
  • pytorch中的transforms.ToTensor和transforms.Normalize的实现

    PyTorch是目前非常流行的深度学习框架之一,它提供了transforms模块来进行图像的预处理。其中,transforms.ToTensor和transforms.Normalize是常用的图像预处理方法,下面将详细讲解它们的实现。 一. transforms.ToTensor实现 transforms.ToTensor用于将PIL图像或numpy.ar…

    人工智能概论 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部