我使用 Ubuntu Server 10.10,我想用NginX、PHP 5.3.3、PostgreSQL 和最好的 APC 和 PHP Suhosin 建立一个 Web 服务器环境。
我已经设置了 PostgreSQLapt-get install postgresql
和 Nginx apt-get install nginx
。
但是如何为这些设置 PHP?我可以使用apt-get install
还是我必须下载源代码并编译它?我宁愿使用apt-get
.
我想为 Nginx 使用PHP-FPM。我在 Internet 上找到的大多数教程都是旧的并且编译 PHP,但不建议将这用于生产服务器。
如何使用 Nginx、APC 和 PostgreSQL 轻松设置 PHP?或者至少是 PHP-FPM + Nginx?
更新
我现在已经安装了一个新的 Ubuntu Server 10.10 并执行了Peter 建议的命令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;
}
}
从 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)