検索
ホームページphp教程php手册初学者的 Linux 安装 Nginx PHP fpm 配置教程
初学者的 Linux 安装 Nginx PHP fpm 配置教程Jun 06, 2016 pm 08:11 PM
fpmlinuxnginxphp初心者インストール構成

网上的很多 Linux 操作系统下安装 Nginx + PHP 的教程都很老, 而且各种依赖, 对于初学者来说比较容易混淆, 所以, 我重新写了此篇博客, 用于介绍最简单的 Linux 下安装 Nginx + PHP 的方法. 此文会经常更新, 保持与时俱进. 如果你不是在 ideawu.net 网站看到

网上的很多 Linux 操作系统下安装 Nginx + PHP 的教程都很老, 而且各种依赖, 对于初学者来说比较容易混淆, 所以, 我重新写了此篇博客, 用于介绍最简单的 Linux 下安装 Nginx + PHP 的方法.

此文会经常更新, 保持与时俱进. 如果你不是在 ideawu.net 网站看到本文, 请访问 ideawu.net, 阅读最新的版本.

安装 Ubuntu Server

你可能听过别的 Linux 发行版, 但如果你是初学者, 并且对 Nginx + PHP 安装不了解, 我建议你安装 Ubuntu Server. 请到 Ubuntu 的官网下载最新版本的 ISO 文件, 我用的是 12.04.3-server-amd64.iso.

安装依赖软件

在 Ubuntu 下安装软件, 可以用 sudo aptitude 命令. 这是一个类似图形界面的软件, 启动后, 按 “/” 输入软件名进行搜索, 选中后按 “+”, 再按 “g” 即可安装.

需要安装的依赖软件包是: libpcre3-dev, libxml2-dev, zlib1g-dev.

源码安装 Nginx

编译 Nginx

到 Nginx 的官网下载最新版本的 Nginx 源码, 当前(2013-11-11)的最新版本是 1.5.6, 未来会有升级, 所以下载的 wget 只是一个示例, 你应该替换成最新的版本.

wget http://nginx.org/download/nginx-1.5.6.tar.gz
tar xzf nginx-1.5.6.tar.gz
cd nginx-1.5.6
./configure
make
sudo make install

Nginx 会被安装在 /usr/local/nginx 目录下.

启动 Nginx

sudo /usr/local/nginx/sbin/nginx

停止 Nginx

sudo /usr/local/nginx/sbin/nginx -s stop

验证 Nginx 是否已经启动

打开浏览器, 访问 http://127.0.0.1/ 看看网页是否能打开. 如果你在另一台机器上访问, 把 127.0.0.1 换成 Ubuntu 服务器的 IP 地址即可. 如下图

图

更多的 Nginx 配置文件的修改, 等我们安装完 PHP 之后再关心, 先使用默认的配置文件运行起来. 默认的配置文件在 /usr/local/nginx/conf/nginx.conf 文件.

源码安装 PHP fpm fastcgi

编译 PHP

同样, 到 PHP 的官网下载最新版本的 PHP 源码.

wget http://us1.php.net/get/php-5.5.5.tar.bz2/from/cn2.php.net/mirror
tar xjf mirror
cd php-5.5.5
./configure --enable-fpm
make
sudo make install

PHP 的可执行文件(php, php-cgi)会被安装到 /usr/local/bin 目录下. 配置文件是 /usr/local/lib/php.ini, 这个文件并不存储, 你需要自己创建.

验证 PHP 是否已经安装成功

php -v

上面的命令应该有版本信息输出.

创建 php.ini 配置文件

sudo cp php.ini-production /usr/local/lib/php.ini

不过, 现在你还用不上, 等用的时候再修改这个文件.

修改 Nginx 配置文件支持 PHP

编译 Nginx 的配置文件 /usr/local/nginx/conf/nginx.conf, 加入下面的内容. 原配置文件里有类似的内容, 你加在那段内容的紧跟后面即可.

location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

然后重启 Nginx

sudo /usr/local/nginx/sbin/nginx -s reload

这时候, Nginx + PHP 还不能工作, 你还需要启动 php-cgi 进程.

启动 php-cgi

/usr/local/bin/php-cgi -b 9000

验证 Nginx + PHP 已经正常工作

首先, 你需要创建一个 PHP 脚本, 新建一个文件 /usr/local/nginx/html/index.php, 这个文件的内容只有一行:

<?php phpinfo();

然后修改它的文件属性

sudo chmod ugo+rwx -R /usr/local/nginx/html

然后, 用浏览器访问 http://127.0.0.1/index.php 你应该能看到 PHP 的信息, 如下图

图

用 fpm 方式启动 php-cgi 进程

刚才的一行命令虽然启动了 php-cgi, Nginx + PHP 也正常工作了, 但这不是正式环境的做法, 只是一种临时方法. 正式的生产环境一般用 fpm 方式启动 php-cgi 为守护进程.

php-fpm 程序安装在 /usr/local/sbin/php-fpm.

创建 php-fpm.conf

PHP 默认安装了一个 php-fpm.conf.default 的模板文件, 需要将它改名:

sudo cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

然后修改 /usr/local/etc/php-fpm.conf, 将

;pid = run/php-fpm.pid

前面的分号(注释)去掉.

创建 nobody 用户

sudo groupadd nobody
sudo useradd -g nobody nobody

启动和停止 php-fpm

# 启动
sudo /usr/local/sbin/php-fpm
# 停止
sudo kill `cat /usr/local/var/run/php-fpm.pid`

这时候, php-cgi 已经作为守护进程启动了.

单独编译安装 PHP 模块

上面编译的 PHP 可能没有包含一些你需要的模块, 不过别担心, 你可以不必重新编译整个 PHP, 而是只编译和安装缺少的那个模块. 这也是 PHP 模块化的好处. 下面以单独安装 PHP 的 sockets 模块为例.

进入你的 PHP 源码的 ext/sockets 目录. ext 目录是所有模块的总目录. 然后执行

/usr/local/bin/phpize
./configure
make
sudo cp modules/sockets.so /usr/local/lib/php/extensions/no-debug-non-zts-20121212/

然后修改 php.ini 配置文件, 找到

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

在其后面加上

extension=sockets.so

然后重启 php-fpm. 这样, sockets 模块就已经安装成功了.

  1. Nginx + PHP 配置和启动脚本
  2. Nginx 499 错误码以及 AJAX 调用失败
  3. Linux+Keepalived双机互备
  4. nginx-push-stream-module 笔记
  5. HBase 在 Linux 下安装和配置

初学者的 Linux 安装 Nginx PHP fpm 配置教程 你现在看的文章是: 初学者的 Linux 安装 Nginx PHP fpm 配置教程

Linode VPS - 美国虚拟主机 | IT牛人博客聚合网站

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
成为C语言专家:推荐的五个必备编译器成为C语言专家:推荐的五个必备编译器Feb 19, 2024 pm 01:03 PM

从初学者到专家:五个必备的C语言编译器推荐随着计算机科学的发展,越来越多的人对编程语言充满了兴趣。而C语言作为一门广泛应用于系统级编程的高级语言,一直受到了程序员们的喜爱。为了写出高效、稳定的代码,选择一款适合自己的C语言编译器是很重要的。本文将介绍五个必备的C语言编译器,供初学者和专家们参考选择。GCCGCC,即GNU编译器集合,是最常用的C语言编译器之一

C++和Python,哪个更适合初学者?C++和Python,哪个更适合初学者?Mar 25, 2024 am 10:54 AM

C++和Python,哪个更适合初学者?在这个信息化浪潮席卷全球的时代,编程能力已经成为一项必备技能。而在学习编程的过程中,选择一门合适的编程语言显得尤为重要。在众多编程语言中,C++和Python都是备受初学者关注的两大热门选择。那么,C++和Python到底哪个更适合初学者呢?以下将从各方面对比两者的优劣,以及为什么选择某一种语言更有助于初学者的编程入门

WooCommerce税务指南:适合初学者的指南WooCommerce税务指南:适合初学者的指南Sep 04, 2023 am 08:25 AM

现在我们已经了解了WooCommerce产品及其相关设置,接下来让我们了解一下WooCommerce的税务配置选项。税收设置作为在线商店所有者,您永远不会想搞乱税务规则和问题。WooCommerce在这方面为您提供帮助,提供多种选项来解决所有税务设置,这些设置可能会因您所在的国家/地区和个别商店的要求而异。可以在以下位置找到这些选项:WooCommerce->设置->税。进入税务设置选项卡后,您将看到一个主要的税收设置部分以及三种不同的税级。这些是:税务选项标准费率降低利率零利率税收

Python初学者必学:掌握lambda函数的基础用法Python初学者必学:掌握lambda函数的基础用法Feb 02, 2024 pm 06:41 PM

初学者必备:掌握Python中lambda函数的基本使用方法,需要具体代码示例概述:Python是一种简单易学的编程语言,它以其简洁、灵活的语法吸引了众多程序员的喜爱。在Python中,lambda函数是一种特殊的匿名函数,它可以在需要函数的地方直接定义,并且无需给它一个名字。本文将介绍lambda函数的基本使用方法,并提供具体的代码示例,以帮助初学者更好地

Pandas初学者指南:HTML表格数据读取技巧Pandas初学者指南:HTML表格数据读取技巧Jan 09, 2024 am 08:10 AM

初学者指南:如何用Pandas读取HTML表格数据引言:在数据处理和分析中,Pandas是一个强大的Python库。它提供了灵活的数据结构和数据分析工具,使得数据处理变得更加简单高效。Pandas不仅可以处理CSV、Excel等格式的数据,还可以直接读取HTML表格数据。本文将介绍如何使用Pandas库读取HTML表格数据的方法,提供具体的代码示例,帮助初学

编程初学者应该优先学习C语言还是C++编程初学者应该优先学习C语言还是C++Mar 18, 2024 pm 03:15 PM

标题:编程初学者应该优先学习C语言还是C++?在编程领域,C语言和C++是两种非常重要的编程语言,它们都有自己独特的特点和优势。对于初学者来说,选择学习哪种语言可能会有一些困惑。本文将就这个问题展开讨论,以及给出一些具体的代码示例来帮助初学者更好地了解两种语言的不同之处。首先,让我们来看一下C语言。C语言是一种功能强大且广泛应用的编程语言,它是从汇编语言发

初学者必读:如何根据需求选择合适的Django版本?初学者必读:如何根据需求选择合适的Django版本?Jan 19, 2024 am 08:20 AM

对于初学者而言,选择合适的Django版本是一个重要而且必须要面对的问题。Django作为一个高效的Web框架拥有大量的用户和开发者,因此它也拥有多个版本以满足不同产品和应用的需求。但是,如何根据项目需求选择合适的Django版本呢?下面我们将通过一些实例来帮助大家选择适合自己的版本。确认所用数据库Django支持多个数据库,包括MySQL,Postgre

使用matplotlib制作散点图的初学者指南使用matplotlib制作散点图的初学者指南Jan 17, 2024 am 09:58 AM

matplotlib是Python中最常用的数据可视化库之一。它提供了各种绘图选项,包括线图、柱状图、散点图等等。本篇文章将教你如何使用matplotlib绘制散点图,同时提供具体的代码示例,以帮助初学者快速上手。一、导入matplotlib模块在开始使用matplotlib绘制散点图之前,首先,需要导入相关的Python模块。代码如下:importpa

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、