首页 网站建设网站建设正文

Ubuntu/Debian上安装 PHP 5.3, Nginx 和 PHP-fpm

云水 网站建设 2018-12-26 23:08:09 1423 0 网站建设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会显示一个错误页面。

版权声明

1.本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2.本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3.若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
4.若内容涉及侵权或违法信息,请联系本站管理员进行下架处理,邮箱ganice520@163.com(本站不支持其他投诉反馈渠道,谢谢合作)

本文链接:http://apod.cc/index.php/post/44.html

发表评论

评论列表(0人评论 , 1423人围观)
☹还没有评论,来说两句吧...