Jump to content

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

Featured Replies

Posted
comment_175300

Привет.
Проблема заключается в том, что поставил сайтец по пути /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;
#	}
#}

 

 

  • Author
comment_175304
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"

 

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

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

где location / ? 

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

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

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

где location / ? 

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

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

 

comment_175307
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;
        }

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

comment_175308

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

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

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

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

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

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

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

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

comment_175310

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

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

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

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

  • Author
comment_175312

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

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
    }

 

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

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

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

  • Author
comment_175399

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

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

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

comment_175400

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

Email Settings - Google Chrome.jpg

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

Edited by Zero108

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

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

Email Settings - Google Chrome.jpg

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

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

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

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

Email Settings - Google Chrome.jpg

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

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

comment_175404

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

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

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

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
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.