В моей панели управления хостинга я настроил свой API сервера для имени сервера (позвольте ему быть dev.domainname.com
).
dev.domainname.com
конфигурация:
server {
listen 80;
#listen [::]:80;
root /var/www/dev.domainname.com/public;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name dev.domainname.com;
location / {
try_files $uri $uri/ =404;
}
}
После того, как я открою, dev.domainname.com brower получают файл, названный "загрузкой". На самом деле я проверил, что файл - это - мой index.php
внутри /public
.
Что случилось?
Некоторая дополнительная информация: я установил использование сертификата SSL certbot
. https://dev.domainname.com
не доступно также, я добрался ERR_CONNECTION_TIMED_OUT
.
sudo tail -n 20 /var/log/nginx/error.log
не имеет никаких ошибок в течение прошлого часа.
hosts
файл содержит одну строку:
127.0.0.1 domainname domainname
sudo nginx -t
также в порядке.
Необходимо сказать nginx, как иметь дело с php файлами. Я создаю "макрос", который является просто файлом, содержащим следующее:
location ~ \.php$ {
fastcgi_param PHP_VALUE "display_errors=Off";
fastcgi_split_path_info ^(.+\.php)(.*)$;
include fastcgi.conf;
fastcgi_send_timeout 600;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
Я затем храню это в /etc/nginx/macros
и включайте его с
include macros/php;