ATUALIZAÇÃO: Ok, agora posso dizer com alegria que o que você vê abaixo é a receita para uma configuração automatizada do PHP e Nginx dev (com domínios automáticos) e todos os problemas que tive agora estão resolvidos.
Eu instalei o seguinte, sudo apt-get nginx php5 php5-fpm dnsmasq
no Debian 8, Jessie. Eu instalei o dnsmasq para que eu possa ter domínios com o nome dos meus sites de desenvolvimento. Eu fiz um arquivo .conf
em /etc/dnsmasq.d
contendo
address=/dev/127.0.0.1
e essa parte da configuração está funcionando bem, qualquer domínio .dev resolve para localhost, que está sendo atendido pelo Nginx.
Agora, na parte do servidor do ambiente de desenvolvimento e o que tentei até agora (os blocos do servidor estão abaixo da lista de verificação). Atualização: tudo é bom! Tudo está funcionando agora!
Lista de verificação "coisas que já fiz até agora:
ln -s /etc/nginx/sites-available/local_dev.conf /etc/nginx/sites-enabled/
Eu segui um tutorial de instalação do Nginx dev by goodrobot.com, que não estava usando PHP; Então, eu combinei as partes principais desse tutorial com parte de um tutorial de ambiente PHP não-dev de Christophe em scaleyourcode.com
Isso é o que eu criei para os blocos de servidores no arquivo conf em /etc/nginx/sites-available
(da combinação de idéias dos dois tutoriais). Novamente, o problema é que minha página index.php não está sendo exibida. (Se eu adicionar um arquivo index.html ao índice abaixo no bloco do servidor e, em seguida, servir um arquivo index.html, ele funcionará bem) .Update. Eu desfeito esse arquivo Frankenconfig que eu fiz e tenho um novo e os detalhes logo abaixo. Tudo agora é bom!
ATUALIZAR, TRABALHANDO! Eu publiquei um novo arquivo de configuração uma versão ligeiramente modificada de um que o usuário denji (no Github) colocou no Github intitulado 'dnsmasq'. Essa versão também tem blocos para o PHPmyadmin, que eu não preciso. Eu também adicionei fastcgi_param SCRIPT_FILENAME $ document_root / $ fastcgi_script_name; para o local ~ bloco .php porque antes disso não iria funcionar na minha configuração. Eu também removi o cifrão que estava na frente da localização ~ .php (sinal de cifrão estava aqui, não é bom) para que quando eu usar qualquer um dos itens abaixo em um servidor real ao vivo, o sinal $ não se tornará um passe livre para hackers. / p>
server {
index index.php;
set $basepath "/var/www";
set $domain $host;
# check one name domain for simple application
if ($domain ~ "^(.[^.]*)\.dev$") {
set $domain $1;
set $rootpath "${domain}";
set $servername "${domain}.dev";
}
# check multi name domain to multi application
if ($domain ~ "^(.*)\.(.[^.]*)\.dev$") {
set $subdomain $1;
set $domain $2;
set $rootpath "${domain}/${subdomain}/www/";
set $servername "${subdomain}.${domain}.dev";
}
server_name $servername;
access_log "/var/log/nginx/server.${servername}.access.log";
error_log "/var/log/nginx/server.dev.error.log";
root $basepath/$rootpath;
# check file exist and send request sting to index.php
location / {
try_files $uri $uri/ /index.php?$args;
}
# allow php only in root index.php
#location ~ "^/index\.php" {
# allow execute all php files
location ~ \.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
}
location ~ /\.ht {
deny all;
}
# disallow access to git configs path
location ~ /\.git {
deny all;
}
}
Tags php nginx debian development linux