Centos6.4 编译安装 nginx php的方法

yizhihongxing

Centos6.4 编译安装 Nginx + PHP 的方法

本文主要讲解如何在 CentOS 6.4 系统上,使用源码编译的方式安装 Nginx 和 PHP,以便于自定义编译选项和版本。下面是具体的操作步骤。

1. 安装编译环境

在编译 Nginx 和 PHP 之前,需要先安装编译环境。

$ yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

2. 安装 Nginx

2.1 下载 Nginx 源码

$ wget http://nginx.org/download/nginx-1.18.0.tar.gz

2.2 解压源码包

$ tar zxvf nginx-1.18.0.tar.gz

2.3 配置编译选项并编译安装

$ cd nginx-1.18.0
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
$ make && make install

2.4 启动 Nginx 服务

$ /usr/local/nginx/sbin/nginx

3. 安装 PHP

3.1 下载 PHP 源码

$ wget http://php.net/get/php-5.6.40.tar.gz/from/this/mirror -O php-5.6.40.tar.gz

3.2 解压源码包

$ tar zxvf php-5.6.40.tar.gz

3.3 配置编译选项并编译安装

$ cd php-5.6.40
$ ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-opcache
$ make && make install

3.4 复制 php.ini 文件并重命名

$ cp php.ini-development /usr/local/php/etc/php.ini

3.5 配置 PHP-FPM

$ cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
$ vim /usr/local/php/etc/php-fpm.conf

修改以下几个选项:

user = www
group = www
listen = 127.0.0.1:9000

3.6 启动PHP-FPM服务

$ /usr/local/php/sbin/php-fpm

3.7 测试 PHP 是否正常工作

在 /usr/local/nginx/html 目录下创建一个 phpinfo.php 文件:

$ cd /usr/local/nginx/html
$ vim phpinfo.php

写入以下内容:

<?php
phpinfo();
?>

访问 http://your_ip_address/phpinfo.php ,即可看到 PHP 的配置信息。

示例一

在上述安装流程中,我们使用的是比较常见的安装选项。如果需要安装其它模块或者自定义编译选项,需要按照具体的要求进行修改。下面我们以安装 Redis 扩展为例。

安装 Redis 扩展

$ wget https://github.com/phpredis/phpredis/archive/master.zip
$ unzip master.zip
$ cd phpredis-master
$ /usr/local/php/bin/phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install

将 redis.so 扩展文件复制到 /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226 目录下:

$ cp modules/redis.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226

修改 /usr/local/php/etc/php.ini 文件,在末尾添加:

extension=redis.so

重启 PHP-FPM 服务:

$ /usr/local/php/sbin/php-fpm -s reload

示例二

在上述安装流程中,我们使用的是比较老旧的 CentOS 6.4 系统。如果使用的是更新的 CentOS 7 系统,则需要更改部分安装步骤。下面我们以安装 Nginx 1.19.10 和 PHP 7.4.15 为例。

安装 Nginx

$ wget https://nginx.org/download/nginx-1.19.10.tar.gz
$ tar zxvf nginx-1.19.10.tar.gz
$ cd nginx-1.19.10
$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
$ make && make install
$ /usr/local/nginx/sbin/nginx

安装 PHP

$ wget http://php.net/get/php-7.4.15.tar.gz/from/this/mirror -O php-7.4.15.tar.gz
$ tar zxvf php-7.4.15.tar.gz
$ cd php-7.4.15
$ ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www --with-fpm-group=www --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv --with-freetype --with-jpeg --with-png --with-zlib --with-libxml --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-opcache
$ make && make install
$ cp php.ini-development /usr/local/php/etc/php.ini
$ cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
$ vim /usr/local/php/etc/php-fpm.conf
# 修改以下选项:
user = www
group = www
listen = 127.0.0.1:9000
$ /usr/local/php/sbin/php-fpm
$ cd /usr/local/nginx/html
$ vim phpinfo.php
# 写入以下内容:
<?php
phpinfo();
?>

将此时产生的 phpinfo.php 复制到 /usr/local/nginx/html 目录,即可访问页面查看 PHP 配置信息。

以上就是在 CentOS 6.4 系统上,使用源码编译方式安装 Nginx 和 PHP 的具体步骤和注意事项,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos6.4 编译安装 nginx php的方法 - Python技术站

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

相关文章

  • Spring Boot之搞定mongoTemplate的知识小结

    Spring Boot之搞定mongoTemplate的知识小结 什么是mongoTemplate mongoTemplate是Spring Data Mongo中的核心类之一,它提供了基本的CRUD操作,以及聚合等数据操作方式。mongoTemplate可以看作是对mongoDB进行操作的代理人,我们可以通过它进行数据的增删改查。 如何在Spring Bo…

    人工智能概论 2023年5月24日
    00
  • Pycharm 创建 Django admin 用户名和密码的实例

    下面是详细讲解“Pycharm 创建 Django admin 用户名和密码的实例”的完整攻略。 环境准备 首先,你需要保证自己已经安装好了 Pycharm 和 Django。如果你还没有安装,可以参考以下官方文档进行安装: Pycharm Django 创建 Django 项目 在 Pycharm 中创建一个 Django 项目,步骤如下: 打开 Pych…

    人工智能概论 2023年5月25日
    00
  • MongoDB插入、更新、删除文档实现代码

    关于MongoDB插入、更新、删除文档的实现代码,我可以提供以下攻略: MongoDB插入文档 在MongoDB中,我们可以使用insertOne()或insertMany()方法向集合中插入文档。 insertOne()方法用于向集合中插入单个文档,示例代码如下: db.collection("users").insertOne( { …

    人工智能概论 2023年5月25日
    00
  • 易语言调用百度图片识别实现的图片转表格的代码

    下面详细讲解一下“易语言调用百度图片识别实现的图片转表格的代码”的攻略流程。 步骤一:注册百度智能云 在百度云中心注册一个账号,并进入智能云控制台。在控制台中创建一个新项目,开通”文字识别”服务。 步骤二:获取百度智能云的API Key和Secret Key 在控制台“文字识别”服务下的”如何调用API”页面上找到”API Key”和”Secret Key”…

    人工智能概论 2023年5月25日
    00
  • 基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)

    下面就是详细讲解“基于Bootstrap实现下拉菜单项和表单导航条”的完整攻略,包含两个示例。 基于Bootstrap实现下拉菜单项 步骤1:引入Bootstrap的CSS和JS文件 在HTML页面的标签内引入Bootstrap的CSS和JS文件 <!– 引入Bootstrap的CSS和JS文件 –> <link rel="s…

    人工智能概览 2023年5月27日
    00
  • Python调用C++,通过Pybind11制作Python接口

    Python调用C++,可以通过Pybind11制作Python接口。下面我们将为大家详细讲解如何制作Python接口,包括具体步骤及两个示例说明。 步骤 1、安装Pybind11 Pybind11是Python调用C++的一个模块,需要先安装。可以通过pip安装,命令如下: pip install pybind11 2、定义函数 首先,需要在C++中实现想…

    人工智能概览 2023年5月25日
    00
  • 一篇文章带你了解Python中的装饰器

    一篇文章带你了解Python中的装饰器 装饰器是什么? 装饰器(Decorator)是Python中非常有用的一个函数特性,其主要作用是用于在代码运行时增强函数或类的功能,而不需要对其代码进行修改。 简单来说,装饰器就是一个函数,其参数是另一个函数或者类,其主要目的是用于修改其他函数或者类的行为。 装饰器函数的定义 一个装饰器函数的定义通常遵循以下步骤: 定…

    人工智能概论 2023年5月25日
    00
  • 浅谈服务发现和负载均衡的来龙去脉

    浅谈服务发现和负载均衡的来龙去脉 什么是服务发现 服务发现是指客户端应用程序通过查询服务发现系统或者中心组件来获取可用服务实例的列表的过程。服务发现对于微服务架构非常关键,因为在微服务中服务实例的数量很多,且容易变化。服务发现的常见实现方式有两种:客户端发现和服务端发现。 客户端发现 客户端发现是指客户端应用程序负责发现可用服务实例并从中选择一个来进行请求的…

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