安装Nginx与PHP 5.3和PHP-FPM在Ubuntu Lucid Lynx(10.04)没有编译任何东西

安装Nginx与PHP 5.3和PHP-FPM在Ubuntu Lucid Lynx(10.04)没有编译任何东西

由于Apache大部分时间都是内存空闲的过程,所以人们开始寻找不同的方式来托管他们的网站。 Apache显然不是唯一可用的网络服务器。 一些很好的例子是lighttpd和nginx。 在本教程中,我将向您展示如何在Ubuntu服务器上安装它。 但是本教程也适用于Debian。 只有很小的差异。

准备? 我们开始吧

步骤0 - 初步说明

为了完成本教程,我假设您已经安装了Ubuntu Lucid(10.04)的基本系统。 如何做到这一点,可以在不同的教程中阅读。 本教程只集中在使nginx + php运行没有太多麻烦。

第1步 - Nginx

安装nginx是我们必须做的第一步。 这可以通过从存储库下载来轻松完成。

sudo apt-get install nginx

为了正常工作,必须更改默认的vhost。

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_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为他们提供动态内容,无论这是一个维基,论坛软件,博客或完全不同的东西。

没有必要使用DotDeb,因为PHP5.3现在在Ubuntu Lucid(10.04)中正式支持。它一样容易

sudo apt-get update

生成的文本应包括dotdeb。

现在我们将安装PHP。 为了安装PHP-FPM,我们必须添加PPA,因为它不是官方支持的。

 add-apt-repository ppa:brianmercer/php
sudo apt-get update && sudo apt-get install php5-fpm

如果您打算使用数据库或需要特定的模块(mcrypt,ldap,snmp等),那么也可以安装它们。

好的,所以现在我们已经安装了nginx和PHP,并准备好了。

第3步 - 敲定

重新启动nginx以赶上我们之前做的配置更改。

sudo service nginx restart

重启应该没有任何问题。

安装php5-fpm后,应该已经开始了。 如果您更改了php.ini文件,则必须重新启动php5-fpm。

sudo service php5-fpm restart

好吧。 他们现在应该都跑了。

第4步 - 测试

为了测试PHP的执行情况是否正常,请在/ var / www中创建一个index.php文件,内容如下:

<?php phpinfo(); ?>

访问您的网络服务器,您应该可以看到生成的phpinfo。 如果没有,出现问题。

第5步 - 疑难解答和最终注释

如果您没有看到phpinfo,可能会有问题。 为了跟踪出了什么问题,你可以检查nginx错误日志:

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

记住,如果你改变了php.ini,你必须重新启动php5-fpm。 重新启动nginx不是必需的。

在我的示例配置中,我启用了fastcgi错误拦截。 如果发生严重错误(例如“不能重新声明类xyz”),nginx可以捕获此页面并显示出错的页面。 这样一来,如果发生了严重的错误,那么给出的信息较少。

如果你不喜欢这个,你可以把它关掉。

如果php5-fpm未运行,您的PHP文件将无法解析,并且nginx会向用户显示错误页面。

嗯,我想我们已经完成了,现在你可以使用新的基于nginx的网络服务器来为PHP服务。 Nginx很漂亮,你可以配置很多。 如果需要重写,请注意,nginx不支持.htaccess文件。 您将需要更改您的vhost设置,以便重写工作。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏