安装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设置,以便重写工作。