Então, estou postando uma resposta, porque depois da reinstalação limpa duas vezes, configurei as coisas de maneira diferente (no meu ponto de vista). Como eu disse acima, enfrento um dilema, já que nenhuma configuração que tenho é igual a qualquer outra resposta que encontrei. Por exemplo :
Minha pasta /etc/nginx é basicamente constituída da seguinte forma:
|- /etc/nginx/
| |- conf.d/
| | |- default.conf
| |
| |- fastcgi_params
| |- mime.types
| |- modules/ -> /usr/lib/nginx/modules
| |- nginx.conf
| |- scgi_params
| |- uwsgi_params
Não há /sites-available ou /sites-enabled como visto em todos os lugares, o fastcgi-php.conf mencionado é na verdade um fastcgi_params na pasta raiz, meu padrão, portanto, não está na pasta site-available.
Aqui estão os dois arquivos de configuração que tenho agora (domínio oculto em my_domain.com): Primeiro: o nginx.conf (quase intocado)
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
include /etc/nginx/sites-available/*.conf;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
Em segundo lugar, o /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name my_domain.com www.my_domain.com;
location / {
root /var/www/www.my_domain.com;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/www.my_domain.com;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
#if (!-f $document_root$fastcgi_script_name) {
# return 404;
#}
root /var/www/www.my_domain.com;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
Eu também adicionei uma linha
text/php php;
ao mime.types também lembro de deletar o cache do meu_domínio nos navegadores que utilizo (Firefox, Opera e Chrome).
Mesmo assim, o arquivo foi baixado.
O que eu fiz errado ?
Edit: como gostaria de fazer um blog.my_domain.com, shop.my_domain.com e forum._mydomain.com, criei a pasta /site-available e /site-enabled, pretendo criar um blog/forum/shop .my_domain.com.conf em cada pasta de mesmo nome localizada em /sites-available, mas estou aguardando uma configuração funcional para torná-los visíveis no nginx.conf (com uma linha de inclusão, certo?).
Então, eu realmente não entendo como essas duas pastas funcionam. Os subdomínios têm seu registro CNAME definido como meu_domínio.com. Também li sobre como criar um link simbólico para esses subsites, mas não sei realmente de onde para onde? obrigado novamente
O log de erros informa que a conexão com /var/run/php/ foi negada. o usuário padrão é www-data www-data, mas meu usuário nginx padrão é nginx (se eu alterá-lo, ele nem inicia.) Devo fazer um
chown nginx:nginx /var/run/php/
?
Responder1
Para configurar o php você precisa ter uma versão do php-fpm instalada em seu sistema. E adicione este trecho ao seu conf nginx no server
bloco.
Você deve mudar php5-fpm
para a versão instalada em seu sistema.
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Responder2
Você não tem um interpretador de PHP, o NGINX temum artigoem seu wiki sobre FPM.