Jump to content

Проблема с запуском форума


DarkShy

Recommended Posts

Привет.
Проблема заключается в том, что поставил сайтец по пути /var/www/slainscraft
Выдает 502 ошибку.
Хз, что не так.

Ubuntu
Nginx
PHP-FPM

Конфиг виртуального хоста

Цитата
server {
     listen 80;
     server_name slainscraft.com;
     return 301 https://$host$request_uri;
}
server {
    listen 443 ssl http2;
    root /var/www/slainscraft;
    index  index.php;
    server_name slainscraft.com;
    ssl_certificate /etc/letsencrypt/live/slainscraft.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/slainscraft.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    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;
        }
        location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

   if ($host != "slainscraft.com") {
      return 301 https://slainscraft.com/$request_uri;
     }

        if (!-e $request_filename){
        rewrite .(js|css|jpeg|jpg|gif|png|ico|map)(?|$) /404error.php break;
        }
        if (!-e $request_filename){
        rewrite ^(.*)$ /index.php break;
        }
      }

Конфиг Nginx

Цитата
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
	worker_connections 768;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	types_hash_max_size 2048;
	# server_tokens off;

	# server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# SSL Settings
	##

	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;

	# gzip_vary on;
	# gzip_proxied any;
	# gzip_comp_level 6;
	# gzip_buffers 16 8k;
	# gzip_http_version 1.1;
	# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}


#mail {
#	# See sample authentication script at:
#	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
#	# auth_http localhost/auth.php;
#	# pop3_capabilities "TOP" "USER";
#	# imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#	server {
#		listen     localhost:110;
#		protocol   pop3;
#		proxy      on;
#	}
#
#	server {
#		listen     localhost:143;
#		protocol   imap;
#		proxy      on;
#	}
#}

 

 

Link to comment
Share on other sites

5 минут назад, HooLIGUN сказал:

Смотрите логи веб сервера, php

2021/12/01 23:43:22 [error] 31622#31622: *2328 connect() failed (111: Unknown error) while connecting to upstream, client: 172.68.246.17, server: slainscraft.com, request: "GET / HTTP/2.0", upstream: "fastcgi://127.0.0.1:9000", host: "slainscraft.com"

 

Link to comment
Share on other sites

14 минут назад, DarkShy сказал:
root           html;

Это что означает? Что root вообще делает в локации php?

где location / ? 

В интернете тысячи примеров настройки LEMP, вы нашли самый ужасный.

Link to comment
Share on other sites

3 минуты назад, Desti сказал:

Это что означает? Что root вообще делает в локации php?

где location / ? 

В интернете тысячи примеров настройки LEMP, вы нашли самый ужасный.

Уже чего только не пробовал

 

Link to comment
Share on other sites

location / {
                root /home/user/test;
                index index.php;
                try_files $uri $uri/ /index.php?$args;
        }
location ~ \.php$ {
                if (!-e $request_filename) {
                                return 404;
                }
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
                fastcgi_temp_file_write_size 10m;
                fastcgi_busy_buffers_size 512k;
                fastcgi_buffer_size 512k;
                fastcgi_buffers 16 512k;
                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /home/user/test$fastcgi_script_name;
                include /etc/nginx/fastcgi_params;
        }

Кусок моего работающего конфига.

Link to comment
Share on other sites

В настройка php/pool.d/ваш.conf должно стоять что-то типа 

listen = /run/php/php7.4-fpm.sock

и совпадать с сокетом в конфиге nginx

Link to comment
Share on other sites

21 минуту назад, Desti сказал:

В настройка php/pool.d/ваш.conf должно стоять что-то типа 

listen = /run/php/php7.4-fpm.sock

и совпадать с сокетом в конфиге nginx

а есть что-то типо общей настройки для IPS?

Link to comment
Share on other sites

Да какие настройки?? У вас в конфиге нет location / {}, сервер банально не знает, что ответить на "GET /"

Link to comment
Share on other sites

1 час назад, Desti сказал:

Да какие настройки?? У вас в конфиге нет location / {}, сервер банально не знает, что ответить на "GET /"

я исправил часть на ваш код. У меня просто белый экран

Link to comment
Share on other sites

Актуальный код:

server {

    server_name     slainscraft.com;
    listen 443 ssl; # managed by Certbot
    root    /var/www/slainscraft;
    index   index.php index.html;
    ssl_certificate         /etc/letsencrypt/live/slainscraft.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/slainscraft.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/slainscraft.com/chain.pem;

    location / {
                root /var/www/slainscraft;
                index index.php;
                try_files $uri $uri/ /index.php?$args;
        }
    location ~ \.php$ {
                if (!-e $request_filename) {
                                return 404;
                }
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;
                fastcgi_temp_file_write_size 10m;
                fastcgi_busy_buffers_size 512k;
                fastcgi_buffer_size 512k;
                fastcgi_buffers 16 512k;
                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME /var/www/slainscraft$fastcgi_script_name;
                include /etc/nginx/fastcgi_params;
        }
}
      server {
        if ($host = slainscraft.com) {
            return 301 https://$host$request_uri;
        } # managed by Certbot

            listen 80;
            server_name slainscraft.com;
        return 404; # managed by Certbot
    }

 

Link to comment
Share on other sites

9 часов назад, DarkShy сказал:

обнаружил, что код php не исполняется корректно, выбивая в 502 ошибку.

502 ошибка это не ошибка php кода, это ошибка вызова интерпретатора php. Не надо копировать мой код, пишите свой, для своей версии php и настроек.

Link to comment
Share on other sites

Крч. Проблему решил. Файл sock был поврежден.

Проблема в другом теперь.

Пользователь регистрируется на сайте, и отключает рассылку. Вместе с этим ему не приходят никакие письма: ни подтверждение регистрации, ни уведомления о событиях, ничего то еще.

Link to comment
Share on other sites

Так почтовый сервер настроен сторонний или свой каким-то образом в настройках? Если стоит отправка PHP мейлером, то на большинство бесплатных почтовых серверов почта доходить не будет. А вообще, это длинная тема.

Email Settings - Google Chrome.jpg

Я бы рекомендовал ограничить отправку мыл по максимуму. Отключить подтверждение емейла при регистрации и агитировать пользователей подписываться на ваш Телеграм-канал. Кстати, можно запросто настроить выгрузуку RSS-ленты в ваш Телеграм-канал. Сейчас это делается с помощью бота в самом Телеграме.

Edited by Zero108
Link to comment
Share on other sites

38 минут назад, Zero108 сказал:

Так почтовый сервер настроен сторонний или свой каким-то образом в настройках? Если стоит отправка PHP мейлером, то на большинство бесплатных почтовых серверов почта доходить не будет. А вообще, это длинная тема.

Email Settings - Google Chrome.jpg

Я бы рекомендовал ограничить отправку мыл по максимуму. Отключить подтверждение емейла при регистрации и агитировать пользователей подписываться на ваш Телеграм-канал. Кстати, можно запросто настроить выгрузуку RSS-ленты в ваш Телеграм-канал. Сейчас это делается с помощью бота в самом Телеграме.

Отправка идет с помощью smtp yandex

38 минут назад, Zero108 сказал:

Так почтовый сервер настроен сторонний или свой каким-то образом в настройках? Если стоит отправка PHP мейлером, то на большинство бесплатных почтовых серверов почта доходить не будет. А вообще, это длинная тема.

Email Settings - Google Chrome.jpg

Я бы рекомендовал ограничить отправку мыл по максимуму. Отключить подтверждение емейла при регистрации и агитировать пользователей подписываться на ваш Телеграм-канал. Кстати, можно запросто настроить выгрузуку RSS-ленты в ваш Телеграм-канал. Сейчас это делается с помощью бота в самом Телеграме.

А есть гайд про бота в телеграм? Просто боюсь, что не у всех он есть

Link to comment
Share on other sites

Яндекс лучше вообще не использовать. У них дурацкие настройки системы отсеивания спама. Попасть в стоп-лист очень просто. Что скорее всего и произошло в вашем случае.

https://www.exler.ru/likbez/kak-nastroit-avtoposting-v-telegram-kanal.htm

Попробуйте настроить на своем сервере свой почтовый сервер и прописать его smtp.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Ваша ссылка была автоматически строена.   Отображать как обычную ссылку

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...