我使用 Ubuntu Server 10.10,我想设置一个 Web 服务器环境NginX、PHP 5.3.3、PostgreSQL 以及最好是 APC 和 PHP Suhosin。
我已经设置了 PostgreSQLapt-get install postgresql
和 Nginx apt-get install nginx
。
但是我该如何为这些设置 PHP?我可以使用 来执行此操作apt-get install
吗?还是必须下载源代码并进行编译?我更喜欢使用 来执行此操作apt-get
。
我想使用PHP-FPM对于 Nginx。我在网上找到的大多数教程都很旧,并且编译了 PHP,但不建议将其用于生产服务器。
如何最轻松地使用 Nginx、APC 和 PostgreSQL 设置 PHP?或者至少是 PHP-FPM + Nginx?
更新
我现在已经安装了全新的 Ubuntu Server 10.10,并执行了命令彼得建议添加php5-suhosin
。之后 Nginx 工作正常,然后我将生成的配置文件编辑为如下所示。重新加载新配置文件后,Nginx 仍然可以使用文件正常工作index.html
,但是当我添加index.php
文件时它停止工作。我猜这与 PHP-FPM、APC 或与 PHP 相关的某些东西有关。但它也可能是 PHP-FPM 的配置文件。
下面是我正在使用的 Nginx 的配置文件,大部分内容都是默认生成的。我跳过了注释。
server {
listen 80;
listen [::]:80 default ipv6only=on;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location /favicon.ico {
empty_gif;
}
location / {
root /var/www;
index index.php index.html index.htm;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
答案1
从 Ubuntu 10.10 开始,使用新的 php5-fpm 包就变得很简单
以下软件包可以满足您的所有需求
nginx
- 网络服务器php5-fpm
- 快速 CGI php 服务器php-apc
- php 的 APC 包php5-pgsql
- PHP 的 PostgreSQL 模块postgresql
- PostgreSQL 数据库服务器
全部一起sudo apt-get install nginx php5-fpm php-apc php5-pgsql postgresql
另外我建议检查是否安装了 apache2。如果安装了,请用删除它以sudo apt-get remove apache2
避免 apache 和 nginx 争用端口 80。
还要注意,xdebug 标准也希望使用端口 9000,就像 php5-fpm 一样。因此,如果您使用 xdebug,请将该端口更改为 9001
另外还附赠一个 nginx 配置示例(将其放在 /etc/nginx/sites-available 中,并将其符号链接到 /etc/nginx/sites-enabled)
server {
listen 80;
server_name site.com;
access_log /data/log/www/site.com/access.log;
error_log /data/log/www/site.com/error.log;
root /data/www_data/site.com/public;
index index.php;
location = /favicon.ico {
empty_gif;
#return 204;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}