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

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日

相关文章

  • python如何实现excel数据添加到mongodb

    本文将以Python第三方库pandas和pymongo为例,讲解如何将Excel数据添加到MongoDB数据库中。 步骤一:准备工作 安装好pandas和pymongo库,以及MongoDB数据库。 在本示例中,我们利用pandas库来读取Excel,并将Excel中的内容添加至MongoDB数据库。同时,我们利用pymongo连接MongoDB数据库,以…

    人工智能概论 2023年5月25日
    00
  • CentOS系统中PHP安装扩展的方式汇总

    以下是关于“CentOS系统中PHP安装扩展的方式汇总”的完整攻略: 1. 确认PHP版本 在开始安装扩展之前,需要确认当前系统中已经安装的PHP版本,以及其它相关信息。使用以下的命令可以查看PHP的版本信息: php -v 2. 使用Yum包管理器安装扩展 CentOS系统中的Yum包管理器可以让我们很方便的安装PHP扩展。使用以下的命令可以列出可用的PH…

    人工智能概览 2023年5月25日
    00
  • Java基于FFmpeg实现Mp4视频转GIF

    下面提供一份“Java基于FFmpeg实现Mp4视频转GIF”的完整攻略,具体过程如下: 安装FFmpeg库 第一步是需要下载和安装FFmpeg库。FFmpeg是一个开源库,支持大多数主流平台上的音频和视频格式。可以从官网下载安装包,并按照官方文档安装。 如果你使用的是Linux操作系统,则可在终端中输入以下命令进行安装: sudo apt-get inst…

    人工智能概览 2023年5月25日
    00
  • 使用Dropzone.js上传的示例代码

    下面是使用Dropzone.js上传的示例代码的完整攻略: 第一步:引入Dropzone.js插件 首先,你需要下载Dropzone.js,并在HTML文件中引入相关的JS和CSS文件。在你的HTML头部中添加以下代码: <link rel="stylesheet" href="https://cdnjs.cloudfla…

    人工智能概论 2023年5月25日
    00
  • VUE开发分布式医疗挂号系统的医院设置页面步骤

    下面我将详细讲解VUE开发分布式医疗挂号系统的医院设置页面步骤。 第一步:创建医院设置页面组件 首先,在VUE项目中创建医院设置页面组件,可以使用以下命令创建: vue create hospital-setting-page 创建成功后,进入项目根目录,找到 src/components 目录,在该目录下新建一个名为 HospitalSetting 的组件…

    人工智能概览 2023年5月25日
    00
  • 使用Nodejs连接mongodb数据库的实现代码

    下面为您详细讲解使用Node.js连接MongoDB数据库的实现代码的攻略。 一、安装MongoDB Node.js驱动程序 在使用Node.js连接MongoDB数据库之前,我们需要先安装MongoDB Node.js驱动程序。我们可以通过命令行打开Node.js环境,执行以下命令来安装: npm install mongodb 二、建立数据库连接 在使用…

    人工智能概论 2023年5月25日
    00
  • ubuntu下 AndroidStudio4.1启动报错问题的解决

    针对”ubuntu下 AndroidStudio4.1启动报错问题的解决”这个问题,我提供以下完整攻略。 问题描述: 在Ubuntu操作系统中启动AndroidStudio4.1时,出现了报错,无法正常启动。具体的报错信息为: JDK Required: ‘tools.jar’ appears to be missing in ‘/usr/lib/jvm/j…

    人工智能概览 2023年5月25日
    00
  • django中账号密码验证登陆功能的实现方法

    好的。下面是django中账号密码验证登陆功能的实现方法: 1. 通过Django内置的auth应用实现账号密码验证登陆 Django自带的auth应用提供了一个名为authenticate()的函数,可以用于验证用户的账号和密码是否匹配。下面是一个简单的示例: from django.contrib.auth import authenticate, lo…

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