Настройка Nginx для react Не могу получить доступ к сайту
Помогите коректно задиплоить приложение на удаленный сервер.
У меня на компьютере windows. на Сервере Centos. Поставил на сервер nginx. Домена у сайта пока нет, но даже с ssl ключом (генерировал сам) не выходит получить доступ к сайту. Хочу развернуть на 81 порту (на 80 уже стоит версия на php). Отредактировал дефолтный конфиг таким образом:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
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;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
root /var/www/website_folder/build/;
index index.html index.htm;
server_name Machine_IP;
location / {
try_files $uri $uri/ @application;
}
location @application {
proxy_pass http://127.0.0.1:3000;
}
listen [::]:443 ssl ipv6only=on;
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
}
server {
if ($host = Machine_IP) {
return 301 https://$host$request_uri;
}
listen 81;
listen [::]:81;
server_name Machine_IP;
return 404;
}
Ssl сертификат и ключ сгенерировал командой
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
Далее запустил build папку на 3000 порту через
serve -s build
из (website folder) (Файлы сборки лежат в /var/www/website folder/build). Получил не удается получить доступ к сайту при переходе на Machine_ip:3000 и Machine_IP:81. Задавал похожий вопрос тут, но там не было nginx.
nginx -t
ошибок не выдает. React билдил у себя на локальном компьютере с настройками по умолчанию. Без homepage
в package.json.
Объясните, пожалуйста, все подробно, что пропустил и что не правильно. А то уже второй день бьюсь.
При переходе на Machine_IP:81
При переходе на Machine_IP:3000
Во вкладке response
Faild to load resourse data: No resource with given Identifier found
Запрос идет на Machine_IP:81/ или 3000/ соответственно.
Добавляю Access log
5.188.210.227 - - [27/Mar/2023:05:52:14 +0000] "\x05\x01\x00" 400 157 "-" "-" "-"
5.188.210.227 - - [27/Mar/2023:05:53:21 +0000] "\x04\x01\x00P\x05\xBC\xD2\xE3\x00" 400 157 "-" "-" "-"
5.188.210.227 - - [27/Mar/2023:05:54:47 +0000] "GET http://5.188.210.227/echo.php HTTP/1.1" 400 657 "https://www.google.com/" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36" "-"
34.77.127.183 - - [27/Mar/2023:07:27:11 +0000] "GET / HTTP/1.1" 200 644 "-" "python-requests/2.28.2" "-"
176.113.115.51 - - [27/Mar/2023:07:41:07 +0000] "GET /remote/fgt_lang" 200 644 "-" "-" "-"
18.135.100.190 - - [27/Mar/2023:09:17:50 +0000] "GET / HTTP/1.0" 200 644 "-" "'Cloud mapping experiment. Contact research@pdrlabs.net'" "-"
18.135.100.190 - - [27/Mar/2023:09:20:28 +0000] "GET / HTTP/1.0" 200 644 "-" "'Cloud mapping experiment. Contact research@pdrlabs.net'" "-"
18.135.100.190 - - [27/Mar/2023:09:23:04 +0000] "GET / HTTP/1.0" 200 644 "-" "'Cloud mapping experiment. Contact research@pdrlabs.net'" "-"
Добавил 4 последние Записи error log
[emerg] 29908#29908: bind() to [::]:80 failed (98: Address already in use)
[notice] 31036#31036: signal process started
[emerg] 29908#29908: still could not bind()
[notice] 31156#31156: signal process started
Nginx запущен.