Ubuntu/Debian上安装Nginx+php环境

  尽管Apache已经占据半片江山,但很多人仍然在寻找其他的方式去托管他们的站点,Apache不只是一个选择,其他很多优秀的服务器程序例如lighthttp和nginx也是不错的选择。本教程将要向您展现如何在Ubuntu操作系统上面安装,教程同样适用在Debian,尽管有一点点小差别,但并没有太大影响。怎么样,下面我们开始吧。
  0.开始注意
  为了完成教程中提到的操作,我们假设您已经安装了一个基本的Debian或者Ubuntu操作系统。怎么安装系统这是不同的教程了,这里就不再详细说明。本教程主要介绍如何简单获取Nginx+php的运行环境。
  1.安装Nginx
  第一步要做的就是从库中下载,这个操作是非常简单的。

sudo apt-get install nginx

  更改默认的虚拟站点配置,文件在:

sudo vim /etc/nginx/sites-available/default

  一个漂亮的关键配置是:

server {
    listen   80;
    server_name  localhost;
    access_log  /var/log/nginx/localhost.access.log;

## Default location
    location / {
        root   /var/www;
        index  index.php;
    }

## Images and static content is treated different
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
      access_log        off;
      expires           30d;
      root /var/www;
    }

## Parse all .php file in the /var/www directory
    location ~ .php$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_pass   backend;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
        include fastcgi_params;
        fastcgi_param  QUERY_STRING     $query_string;
        fastcgi_param  REQUEST_METHOD   $request_method;
        fastcgi_param  CONTENT_TYPE     $content_type;
        fastcgi_param  CONTENT_LENGTH   $content_length;
        fastcgi_intercept_errors        on;
        fastcgi_ignore_client_abort     off;
        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 180;
        fastcgi_buffer_size 128k;
        fastcgi_buffers 4 256k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
    }

## Disable viewing .htaccess & .htpassword
    location ~ /\.ht {
        deny  all;
    }
}upstream backend {        server 127.0.0.1:9000;} 

  好了,我们完成到这里,下面我们需要安装PHP所需要的文件。

  2.安装PHP

  很多站点都使用PHP提供动态内容,他们可能是一个wiki一个博客,或者一个论坛什么的。

  如果你现在运行的是Ubuntu,我们首先需要解决两种不同的deb包,如果你运行的是amd64版本,那需要更改i386为amd64

  注意:如果是debian则不需要做这些

cd /tmp
wget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
wget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb
sudo dpkg -i *.deb

  再次说明,这个只需要在Ubuntu上面操作就可以了,如果是最新版本的12.04可以省略掉这个。

  下面剩余部分将在Ubuntu和Debian上面都通用。

  我们需要增加APT源来增加deb包,所以我们可以使用php5.3和php-fpm

sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.list

  更新apt:

sudo apt-get update

  下面我们开始安装PHP(第一部分)

sudo apt-get install php5-cli php5-common php5-suhosin

  我们需要安装命令行,不然接下来就会出现些小问题

sudo apt-get install php5-fpm php5-cgi

  如果你打算使用数据库或者一些需要的模块(例如:mcrypt,ldap,snmp等)你同样可以安装他们。

  好了,我们现在已经安装完了nginx和php

  一个注意点:如果你使用“php的短标记(<?)”,你需要在php.ini中开启(fpm和cli同样),如果你不改变这些,你将看到代码以文本的方式显示。

  3.完成

  重启nginx服务器

sudo /etc/init.d/nginx restart

  配置完成php.ini后需要重启php5-fpm,使用命令

sudo /etc/init.d/php5-fpm restart

  全部完成,你可以运行了。

  4.测试

  我们可以在/var/www中创建一个index.php的文件,内容如下:

<?php phpinfo(); ?>

  通过浏览器访问,你可以看到php的一个大致的信息,如果没有则说明一些配置错误,需要重新检查。

  5.问题和最终提示

  如果你没有看到phpinfo,可能会出现一些错误,那可以执行:

sudo tail /var/log/nginx/error.log

  查看错误日志,另外每次当你修改了php.ini后,需要重启php5-fpm。无需重启nginx。

  在默认的配置中nginx是启用了fastcgi的错误日志的,如果看到一个严重的错误(例如出现“cannot redeclare class xyz”),nginx可以看到这个“漂亮的”错误页面,那可能是一些错误发生了。

  如果这样你可以关闭,如果php5-fpm不能运行,你的php文件将不会被解析,并且nginx会显示一个错误页面。

  好了,我猜你已经完成了,并且现在使用nginx作为你的web服务器,nginx是一个小巧、漂亮并且你可以配置很多东西的一个东东,如果你需要伪静态,注意nginx不会运行 .htaccess 文件,你需要伪静态更改vhost配置。

  如果对在Linux下感兴趣的朋友可以查看《Linux下的DedeCMS站点高级安全策略》

  翻译:天涯

  原文:http://www.howtoforge.com/installing-php-5.3-nginx-and-php-fpm-on-ubuntu-debian  

时间: 2024-10-24 11:06:04

Ubuntu/Debian上安装Nginx+php环境的相关文章

在ubuntu server上安装沸腾时刻环境

1. 安装php5.6 http://phpave.com/upgrade-to-php-56-on-ubuntu-1404-lts/ 按照这篇文章的顺序来做,可以安装最新5.6版本php 安装好了以后,要安装php的其他依赖,例如php5-curl等 2. 按照以下文章安装其他配置以及laravel https://www.digitalocean.com/community/tutorials/how-to-install-laravel-with-an-nginx-web-server-o

在Linux和Windows系统上安装Nginx服务器的教程

在Linux和Windows系统上安装Nginx服务器的教程 ?1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RPM 包版本较低.如果需要更新版本,可以使用官方制作的 rpm 包,或者使用源码包编译安装. 还可以使用一些二次开发功能增强的 nginx 版本,例如淘宝的 Tengine 和 OpenResty 都是不错的选择.1.1 常用编译参数 ??? --prefix=PATH:指定 nginx 的安装目录?

在 Debian 上安装 SQL Server vNext CTP1

微软在开源 .NET Framework 之后,相继推出了跨平台的编辑器 Visual Studio Code,跨平台的 SQL Server 数据库 SQL Server vNext,Visual Studio for Mac,微软在跨平台的路上越走越远了.SQL Server vNext 发布后,我就想在 linux 环境下尝试一下,但是微软只发布了针对 Ubuntu 和 Red Hat 平台的.我平时习惯使用 Debian, Ubuntu 是基于 Debian 的,所以就按照在 Ubunt

在Ubuntu 14.04安装Nginx

###介绍 Nginx是世界上最流行的网络服务器中的一种,负责托管网络上一些流量最高的网站.在多数情况下,Nginx比Apache在资源上更加友好,可以作为网络服务器或反向代理服务器. 这篇教程中,我们将讨论怎样在Ubuntu 14.04服务器上安装Nginx. ###预备工作 在开始这篇教程前,你的服务器上应该已经有了普通非根用户,并配置了`sudo`权限.也可以在我们的[Ubuntu 14.04初始服务器设置指南](https://www.digitalocean.com/community

Mosquitto安装_Ubuntu/Debian上安装消息队列Mosquitto

Mosquitto安装_Ubuntu/Debian上安装消息队列Mosquitto MQTT是IBM开发的一个即时通讯协议.MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制.Mosquitto是一款实现了 MQTT v3.1 协议的开源消息代理软件,提供轻量级的,支持发布/订阅的的消息推送模式,使设备对设备之间的短消息通信简单易用.若初次接触MQTT协议,可先理解以下概念:[MQTT协议特点]——相比于RESTful架构的物联网系统,MQTT协议借助消息推送功能,可以更好

在CentOS 7上安装Nginx服务器

下面我就我在CentOS上安装Nginx经验做简单的记录,以备后查. 1.下载nginx-release包 以CentOS 7为例,下载nginx软件包:http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 其它Linux发行版的软件包下载地址:http://nginx.org/en/linux_packages.html 2.以普通用户登录终端,然后导入GPG sig

01 linux上安装 nginx

一:linux上安装 nginx 下载nginx:wget http://nginx.org/download/nginx-1.6.2.tar.gz 解压:tar zxvf nginx-1.6.2.tar.gz 进入nginx目录: cd nginx 安装:./configure --prefix=/usr/local/nginx 出现一个错误提示说没安装 pcre[正则模块] 安装pcre: yum install pcre-devel 再次安装nginx:./configure --pref

在windows上安装Grails开发环境

适用于 Grails 2.2.x 这第一个视频展示了如何在Windows上安装Grails和Java.要安装Grails,您将需要一个Java开发工具包(www.java.com)和Grails的库(www.grails.org).这个视频将告诉你如何下载和安装这两个东西.然后,它显示了如何设置适当的环境变量,让您可以运行Grails命令. 视频: 在windows上安装Grails开发环境 第二个视频,您将学习如何安装基于Eclipse的集成开发环境(IDE)GGTS(Groovy & Gra

YUM安装Centos_linux Centos 6/7上安装GNOME桌面环境

YUM安装Centos_linux Centos 6/7上安装GNOME桌面环境 CentOS 作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境. CentOS 作为服务器的操作系统是很常见的,但是因为需要稳定而没有很时髦的更新,所以很少做为桌面环境.在服务器上通常不需要安装桌面环境,最小化地安装 CentOS(也就是 minimal CentOS) 就可以了.不过在最小化安装的 CentOS 中通过 YUM 来安装桌面环境也是非常方便的. 单位的那台服务