Показать сообщение отдельно
  #6 (permalink)  
Старый 05.02.2020, 20:11
Интересующийся
Отправить личное сообщение для illusion Посмотреть профиль Найти все сообщения от illusion
 
Регистрация: 01.02.2020
Сообщений: 22

Большое спасибо за ответы.
Я немного знаком с pm2, пробовал запускать скрипты с помощью его.
У меня имеется nginx на сервере и установлен ssl от Certbot с самообновлением.
В /etc/nginx/sites-available остался старый фал default c текстом стандартным и я создал файл funprograms.ru с таким содержимым:
server {
listen 80;
listen [::]:80;
root /var/www/funprograms.ru/html;
index index.html index.htm index.nginx-debian.html;
server_name funprograms.ru [url]www.funprograms.ru;[/url]
location / {
try_files $uri $uri/ =404;
proxy_pass [url]http://localhost:5000;[/url]
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/funprograms.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/funprograms.ru/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
#return 301 https://funprograms.ru$request_uri;

}

Область ssl записалась автоматом при установке сертификата.
В файле /etc/hosts одна запись:
127.0.0.1 localhost

вот что на 80 порту:

Понял почему у меня на 5000 порту открывалась страничка:
"proxy_pass http://localhost:5000;"
Знаком с командой sudo lsof -i :3000 и использую ее. Бывают ситуации в консоль зависнет и скрипт не закрывается "CTRL+C" и потом убиваю процесс чтобы не висел и не забивал порт.

Получается что я запускаю скрипт под localhost:5000 nginx перебрасывает его на 80 порт и он открывается по доменному имени. Но запросы с странички не добираются до /api/users
app.get("/api/users", function(req, res){
    console.log('Тест error my /api/users');
    User.find({}, function(err, users){
 
        if(err) return console.log(err);

        res.send(users)
    });

});

Срабатывает только по http://funprograms.ru:5000/api/users
а не по http://funprograms.ru/api/users

Не обращайте внимания на proxy_pass это автоматом на форум добавилось так как текст разместил как код JS

Последний раз редактировалось illusion, 05.02.2020 в 20:39.
Ответить с цитированием