Jump to content
Александр Рыжов

Веб-сервер на кинетике

Recommended Posts

Немного добавлю:

Актуальная инструкция получения ssl сертификата: https://github.com/Entware/Entware-ng/wiki/Using-Let's-Encrypt

Конфигуратор ssl https://ssl-config.mozilla.org/

p.s. ssl конфиг рекомендую брать у mozilla. Соответствующие параметры из инструкции выше игнорировать. Генерацию файла dhparam.pem можно также не производить, а взять готовый у mozilla

Для вышеуказанного, надо ставить nginx-extras, а не просто nginx

  • Thanks 1

Share this post


Link to post
Share on other sites

Нашёл такой скрипт для обновления ip у доменом припаркованных в яндексе https://medium.com/заметки-на-разные-темы/обновление-dns-записей-в-яндекс-dns-используя-скрипт-на-bash-ebfcd79dcca4

Скрипт отрабатывает и делает своё дело исправно, с одним большим НО: он как-то криво останавливается, либо не останавливается, либо какие-то другие конфликты возникают, но до ребута роутера - повторно он не запускается)

Sh yandex.sh прожимается без каких-либо дальнейшей информации в строке) После ребута роутера опять 1 раз можно исполнить)

Буду признателен если кто найдёт в чем проблема.

Гуглил несколько часов, в чём проблема не понял(

Edited by karimovrt

Share this post


Link to post
Share on other sites
11 минуту назад, karimovrt сказал:

Нашёл такой скрипт для обновления ip у доменом припаркованных в яндексе

Странно, что он у Вас работает вообще... pdd - почту для домена отменили в 1917 году. Сейчас вместо этого - https://connect.yandex.ru/portal/home и там, если и есть, то другие скрипты. API совсем другое.

Share this post


Link to post
Share on other sites
11 минуту назад, zyxmon сказал:

Странно, что он у Вас работает вообще... pdd - почту для домена отменили в 1917 году. Сейчас вместо этого - https://connect.yandex.ru/portal/home и там, если и есть, то другие скрипты. API совсем другое.

Это всё уже выяснено. Сервис поменялся, api осталось) Единственное отличие которое нашёл в данном случае - это страница получения токена у яндекса.

Share this post


Link to post
Share on other sites
Только что, karimovrt сказал:

Сервис поменялся, api осталось)

Год назад старое API не работало. Нужно будет попробовать опять, может и вернули....

Share this post


Link to post
Share on other sites
3 минуты назад, zyxmon сказал:

Год назад старое API не работало. Нужно будет попробовать опять, может и вернули....

данный скрипт 100% работает)

Share this post


Link to post
Share on other sites

Еще нашёл такой https://github.com/nixscript/ya-ddns/blob/master/ya-ddns

1. Для обновления двух записей требует доработки.

2. В процессе работы выдаёт ошибки, но дело делает.

Первый скрипт по ссылке из предыдущих сообщений предпочтительнее, если найдётся способ его вылечить)

Share this post


Link to post
Share on other sites
В 16.12.2019 в 11:07, karimovrt сказал:

Актуальная инструкция получения ssl сертификата:

Добавлю, что в случае использования нескольких доменов проще создать файл domains.txt, положить рядом со скриптом dehydrated
domains.txt:
 

domain№1.com www.domain№1.com
domain№2.net www.domain№2.net

и запускать скрипт командой bash ./dehydrated -c

Поскольку сайтов несколько, а запись wellknown для скрипта может быть только одна (а не для каждого сайта по отдельности, как я поначалу думал), то сделал так
в файле конфига для dehydrated
 

WELLKNOWN=/opt/share/nginx/html/dehydrated

в конфиге nginx сделал алиас
 

server {
    listen 443 ssl http2;
    server_name domain№1.com www.domain№1.com;
    [.....]
       }
    location / {
            root   /opt/share/nginx/domain№1/html;
            index  index.html index.htm;
    location ^~ /.well-known/acme-challenge {
        alias /opt/share/nginx/html/dehydrated;
       }
.........
server {
    listen 443 ssl http2;
    server_name domain№2.net www.domain№2.net;
    [.....]
       }
    location / {
            root   /opt/share/nginx/domain№2/html;
            index  index.html index.htm index.php;
    location ^~ /.well-known/acme-challenge {
        alias /opt/share/nginx/html/dehydrated;
       }

Для того, чтобы отфутболивать тех, кто хочет обратиться напрямую по IP, нагородил вот такую конструкцию с самоподписанным сертификатом
 

    server {
    listen 80 default_server;
	server_name "";
	return 301 https://$host$request_uri;
        }
    server {
    listen 443 default_server ssl http2;
    server_name мой_внешний_IP_адрес;
    ssl_certificate /opt/etc/nginx/snippets/самоподписанный_сертификат.crt;
    ssl_certificate_key /opt/etc/nginx/snippets/самоподписанный_сертификат.key;
    return 444;
        }

 

Share this post


Link to post
Share on other sites
5 часов назад, SKREBYSHI SKR сказал:

Подскажите что делаю не так, установил с нуля на флешку в папку install - mipsel-installer.tar.gz В putty root+keenetic выдает ошибку Core::Authenticator: access to "cli" denied for user "root". 

Вы, видимо, пытаетесь не существующими пользователем root, зайти в штатный ssh...

Share this post


Link to post
Share on other sites
В 02.06.2016 в 14:17, Le ecureuil сказал:

На 80 порту пока нельзя, его занимает системный web-сервер.

На 81 можно сделать несколько, смотреть сюда: http://nginx.org/ru/docs/http/request_processing.html

когда же системный web-сервер освободит 80 порт?

  • Upvote 1

Share this post


Link to post
Share on other sites

Всем привет.

Поставил nginx на свой старенький Keenetic Ulnra, все встало нормально и даже заработало :)

Стал править nginx.conf, добавил штатную авторизацию, вроде тоже все получилось.

Захотел отключить логирования, место на флешке не так много, не получилось :(

#error_log  /opt/var/log/nginx/error.log;
#error_log  /opt/var/log/nginx/error.log  notice;
#error_log  /opt/var/log/nginx/error.log  info;

error_log /opt/var/log/nginx/error.log crit
access_log off;

после перезапуска nginx логи по прежнему пишутся в файлы.

Собственно:

1) как отключить логирование? радикальны метод: error_log /dev/null; не подойдет

2) авторотация в  Entware предусмотрена? если да, то как ее натравить на логи nginx

3) а CRON в Entware есть? как его править, в смысле где лежит файлик с правилами?

Edited by Олег Н

Share this post


Link to post
Share on other sites

Народ, подскажите, что изменить в конфигурации для организации virtual hosts 

 

user  nobody;

worker_processes  1;

 

#error_log  /opt/var/log/nginx/error.log;

#error_log  /opt/var/log/nginx/error.log  notice;

#error_log  /opt/var/log/nginx/error.log  info;

 

pid        /opt/var/run/nginx.pid;


 

events {

    worker_connections  1024;

}


 

http {

    include       mime.types;

    default_type  application/octet-stream;

    index index.php index.html index.htm;

 

    sendfile        on;

    keepalive_timeout  65;

    gzip on;

 

    server {

    listen 88;

 

    server_name  my.local www.my.local;

 

    root   /opt/share/www;

 

    location ~ [^/]\.php(/|$) {

            fastcgi_split_path_info   ^(.+?\.php)(/.*)$;

            if (!-f $document_root$fastcgi_script_name) {

         return 404;

      }

#          fastcgi_pass   unix:/opt/var/run/php7-fpm.sock;

           fastcgi_pass   unix:/opt/var/run/php-fcgi.sock;

           fastcgi_index  index.php;

           include        fastcgi_params;

        }

    }

}

Share this post


Link to post
Share on other sites

Я так понял, что в настоящий момент virtual host не работает на nginx.

Share this post


Link to post
Share on other sites

После обновления Nginx до версии nginx (1.19.2-1) сервер перестал запускаться. nginx -t выдает

nginx: [emerg] using regex "\.php$" requires PCRE library in /opt/etc/nginx/nginx.conf:65
nginx: configuration file /opt/etc/nginx/nginx.conf test failed

Содержимое конфига ниже


user  nobody;
worker_processes  1;

#error_log  /opt/var/log/nginx/error.log;
#error_log  /opt/var/log/nginx/error.log  notice;
#error_log  /opt/var/log/nginx/error.log  info;

#pid        /opt/var/run/nginx.pid;


events {
    worker_connections  64;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #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  /opt/var/log/nginx/access.log main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       88;
        server_name  localhost;

        #charset koi8-r;

        #access_log  /opt/var/log/nginx/host.access.log;

        location / {
            root   /opt/share/www;
            index  index.php index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /opt/share/www/html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           /opt/share/www;
            fastcgi_pass   unix:/opt/var/run/php-fcgi.sock;
            fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

До обновления все работало отлично. Состав пакетов не менялся

Библиотеки установлены

 libpcre - 8.44-2
libpcre2 - 10.35-2
libpcre2-32 - 10.35-2

Что ему нужно ума не приложу

 

Share this post


Link to post
Share on other sites

После обновления nginx (1.19.2-1a) стал в логах 

worker process 6564 exited on signal 11

Проблема наблюдалась на двух девайсах

Заменил файл nginx c версии nginx (1.17.8-1) , который находится  /opt/sbin/nginx

Завелось без проблем

 

Edited by yuoras

Share this post


Link to post
Share on other sites

Здравствуйте! Уважаемые форумчане подскажите пожалуйста, можно ли поэтапно осветить процесс установки nginx на роутер ZyXel Keenetic III? К сожалению в Linux я очень плохо ориентируюсь... У меня стоит задача запилить веб сервер для хостинга сайта с помощью роутера. Спасибо заранее за помощь. 

Share this post


Link to post
Share on other sites
19 часов назад, ActionMen сказал:

Здравствуйте! Уважаемые форумчане подскажите пожалуйста, можно ли поэтапно осветить процесс установки nginx на роутер ZyXel Keenetic III

1. 

 

2. 

 

Share this post


Link to post
Share on other sites

Все разобрался с Nginx, все вроде бы заработало. У меня вопрос остался нужно ли делать портфорвардинг в роутере? Из своей сети я могу видеть страницу приветствия, из Интернета ее не видно.

Share this post


Link to post
Share on other sites
13 часа назад, ActionMen сказал:

нужно ли делать портфорвардинг в роутере?

Да, нужно.

Share this post


Link to post
Share on other sites

Уважаемые форумчане, выручите советом. Как прикрутить к NGINX PHP? Отталкивался от инструкции http://forums.zyxmon.org/viewtopic.php?f=5&t=5277.

Установил # opkg install php7-fastcgi

Сконфигурировал в соответствии с инструкцией nginx.conf и fastcgi_params

Запускаю php-fcgi -b 9000& и получаю  Cannot bind/listen socket - [125] Address already in use. Couldn't create FastCGI listen socket on port 9000 Как адрес может быть занят? Помогите советом что нужно исправить?

 

Share this post


Link to post
Share on other sites

Форумчане подскажите. Так можно ли на Keenetic организовать несколько сайтов с nginx? Один получается ОК. А как только несколько пробую ошибка конфигурации

nginx: [emerg] could not build server_names_hash, you should increase server_name_hash_bucket_size: 32.

Подскажите пожалуйста, можно ли и как решить вопрос. Спасибо.

Share this post


Link to post
Share on other sites

Ну и еще вопрос как зайти по SSH через PuTTY. Ни порт 222 ни 22022. Network error: Connection refused.

Share this post


Link to post
Share on other sites
6 минут назад, Eric750 сказал:

Подскажите пожалуйста, можно ли и как решить вопрос. Спасибо.

Пробовали рецепт из Google?

2 минуты назад, Eric750 сказал:

Ну и еще вопрос

Явный offtopic - есть другие темы по этому вопросу.

Share this post


Link to post
Share on other sites

Да, Google помог, ему спасибо :) Ну а про offtopic то извините уж, раз нет у вас ссылки прямой поищу дальше по теме в форумах... Иногда хочется быстрого решения а то время...

Для очистки темы можно мои запросы удалить... Благо не информативны...

Share this post


Link to post
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 link has been automatically embedded.   Display as a link instead

×   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...