ФорумРазработкаУстановка и администрирование ПОВебсервер → Настройка полноценного веб-сервера

Настройка полноценного веб-сервера

  • CoolJan

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 15 января 2016 г. 7:40

    Здравствуйте уважаемый форумчани! Есть задача развернуть веб сервер, интернет магазин (посещаемость 30тыс+ в день) сайт написал на двух языках (есть и на ruby есть и python –сказали сделать на двух языках я сделал). Есть два сервера одни на Dedbian второй OpenSuse.
    Какую связка нужно установить чтобы запустить сайт + фреймворки для ruby(ruby on rails) и python(django)?

    1. Pytho Django+(virtualev/supervision) + Nginx+unicorn + sql
      Nginx+passenger
      Nginx+uwsgi
    2. Rvm+Ruby+ Rails(Mongrel) + Nginx+unicorn + sql | (nginx + passenger + puma + unicorn)
      Nginx+passenger
      Nginx+uwsgi
    3. Мониторинг сервер munin или grafana, wealize, nagios

    P.S сам программист пишу на ruby и python, на сервак ничего не ставил так как был админ все ему отдавал, админ уволился, начальник нового брать хочет, дал 1,5 месяца разобраться со всем, сижу курю…. Установку знаю только с php+mysql+apach….а с ruby и python на сервер не сталкивался.
    Для Ruby и Python читал много что можно использовать Nginx не знаю какую связку установить чтобы было правильно. Если у кого крутятся сайты на этих платформах напишите пожалуйста какую связку поставить и чего еще не хватает.
    заранее спасибо за ответы

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 15 января 2016 г. 7:43, спустя 3 минуты 13 секунд

    под django - uwsgi используй. для запуска/перезапуска - supervisord

    Спустя 6 сек.

    под руби не подскажу, не пишу на них

    Спустя 21 сек.

    но всякие редмайны в свое время на пассенжере запускал как вроде самом адекватном сервере

    Сапожник без сапог
  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 15 января 2016 г. 7:44, спустя 1 минуту 11 секунд

    сказали сделать на двух языках я сделал

    ох

    Спустя 192 сек.

    для руби норм passenger как бэкенд. если используешь nginx как реверс-прокси - то пропиши в нём правила отдачи статики для документрут

    не всё полезно, что в swap полезло
  • CoolJan

    Сообщения: 2 Репутация: N Группа: Кто попало

    Spritz 15 января 2016 г. 8:08, спустя 23 минуты 53 секунды

    ага вот такие у нас "жермесы" все им надо былаго не заставил писать на asp а то я бы от IIS блевонул....
    спасибо за ответы народ))
    веселые будут выходные)

    Fabric python типо RVM у Ruby?

  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 15 января 2016 г. 10:29, спустя 2 часа 20 минут 51 секунду

    да там делать нехуй, работы на пару часов

    пассажыра в связке с рвм запускаешь так:

    
    #!/bin/bash
    source /usr/local/rvm/scripts/rvm (ну или если рвм в домашней директории - то ~/.rvm/scripts/rvm)
    cd /path/to/project/dir/
    passenger start --daemonize --address 127.0.0.1 --port 12345 --max-pool-size 4 --min-instances 1 --environment production
    

    количество инстансов подбираешь экспериментально

    на нжинксе потом проксишь запросы на порт 12345

    
    server {
        listen *:80;
    
        root {{ vhost_document_root }};
    
        server_name {{ vhost_server_names|join(' ') }};
    
        location / {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_pass http://127.0.0.1:{{vhost_rproxy_port}};
            proxy_read_timeout 300;
        }
    
        access_log {{ vhost_log_dir }}nginx_access.log;
        error_log {{ vhost_log_dir }}nginx_error.log;
    }
    

    Спустя 282 сек.

    запуск пассажыра добавляешь в крон

    Спустя 42 сек.

    для запуска при загрузке системы

    не всё полезно, что в swap полезло
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 25 января 2016 г. 8:00, спустя 9 дней 21 час 31 минуту

    Fabric python типо RVM у Ruby?

    @CoolJan, Fabric это деплой-тул Python. Автоматизируем деплой и рутину с Fabric / Мастерская интернет-разработчика [adw0rd.com]
    Более продвинутый инструмент в питон-мире это Ansible

    Спустя 57 сек.

    Для жанги надо брать uWSGI+Nginx+Supervisor

    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!