2015-04-14 2 views
8

Я не могу найти способ настроить php-fpm на nginx на Amazon AMI EC2 с нуля. Я знаю, что это не должно быть так сложно, но найти разные ответы, основанные на версиях * nix, сбивает с толку.Как настроить PHP-FPM 5.6 с nginx на экземпляре Amazon EC2 AMI

Вот сжатые шаги, которые я предпринял, которые, как я думал, будут работать, но не надо. У кого-нибудь есть набор шагов для надежной установки php-fpm с nginx в экземпляре Amazon AMI EC2?

Я умышленно ушел из nginx.conf и т. Д. Из этого сообщения, так как они являются «запасными» установками из репозиториев yum по умолчанию.

версия Nginx: 1.6.2

Кто-нибудь есть надежные шаги для установки PHP-FPM в Nginx для экземпляров EC2 Amazon AMI? Я предпочел бы настроить себя вместо использования AMI на рынке Amazon, который взимает плату за эту настройку.

Благодаря

# install packages 
yum install -y nginx 
yum install -y php56-fpm.x86_64 

# enable php in nginx.conf 
vi /etc/nginx/nginx.conf 
# add index.php at the beginning of index 
    index index.php index.html index.htm; 

# uncomment the php block in nginx.conf 
    location ~ \.php$ { 
     root   html; 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
     include  fastcgi_params; 
    } 

# tell php-fpm to run as same account as nginx 
vi /etc/php-fpm-5.6.d/www.conf 
- change user and group apache to nginx 

# allow nginx user to read website files since they are typically owned by root 
cd /usr/share/nginx 
chown -R nginx:nginx html 

# check to see if php works - doesn't with these steps 
echo "<?php phpinfo(); ?>" > /usr/share/nginx/info.php 

# restart services since we changed things 
service nginx restart 
service php-fpm-5.6 restart 

# verify root path exists and is owned by nginx as we said above 
# ls -l /usr/share/nginx/html 
-rw-r--r-- 1 nginx nginx 3696 Mar 6 03:53 404.html 
-rw-r--r-- 1 nginx nginx 3738 Mar 6 03:53 50x.html 
-rw-r--r-- 1 nginx nginx 3770 Mar 6 03:53 index.html 
-rw-r--r-- 1 nginx nginx 20 Apr 14 14:01 index.php 

# I also verified php-fpm is listening on port 9000 and nginx is setup that way in the nginx.conf 
# port 9000 usage is the default and I left it as-is for this question, but I would prefer to use sock once I get this working. 

Редактировать

Это то, что я вижу в журнале ошибок Nginx

2015/04/14 17:08:25 [error] 916#0: *9 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, 
client: 12.34.56.78, server: localhost, request: "GET /index.php HTTP/1.1", 
upstream: "fastcgi://127.0.0.1:9000", host: "12.34.56.90" 
+0

ли это когда-нибудь разрешится? –

ответ

1

Что вы видите в Nginx журнале ошибок (/ вар/Журнал/Nginx/errors.log)?

Добавлено после получения дополнительной информации (журналы), если:

Для меня это выглядит корневой сервер должен быть раздел не место.

server { 
... 
    root /usr/share/nginx/html; 
    ... 
    location ~ \.php$ { 
     fastcgi_pass 127.0.0.1:9000; 
     fastcgi_index index.php; 
     fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 
     include  fastcgi_params; 
    } 
} 
+0

Обновленный вопрос с этой информацией. –

0

Где ваш index.php файл? Если здесь:

/usr/share/nginx/html/index.php 

затем изменить эту строку

fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 

к:

fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; 
Смежные вопросы