Configuring sites with nginx

Configuring sites with nginx

 

  • Setup requirements: 
     sudo apt-get install nginx uwsgi uwsgi-plugin-python
  • Клонируем репозиторий и устанавливаем зависимости для сайта:
     git clone git@bitbucket.org:osll/museums.git
     sudo museums/scripts/server_setup/env_prepare.sh
     sudo pip install -r museums/www/hypertext-admin/requirements.txt

Установка сайта для администрирования:

  • Создаем конфиг для nginx: /etc/nginx/sites-available/hypertext-admin.conf 
    server {
        listen 80;
        server_name hypertext-admin;
        
        location / {
            uwsgi_pass      unix:/tmp/hypertext-admin.sock;
            include         uwsgi_params;
        }
    
        location /static/ {
            alias /var/www/hypertext-admin/static/;
        }
    }
  •  Делаем симлинк в папку sites-enabled: 
    sudo ln -s /etc/nginx/sites-available/hypertext-admin.conf /etc/nginx/sites-enabled/hypertext-admin.conf
     
  • Создаем конфиг для uwsgi  /etc/uwsgi/apps-available/hypertext-admin.xml

    <uwsgi>
    <socket>/tmp/hypertext-admin.sock</socket>
    <pythonpath>/var/www/hypertext-admin/</pythonpath>
    <module>runserver</module>
    <callable>app</callable>
    <plugins>python27</plugins>
    </uwsgi>

     

 

  • Делаем симлинк в папку apps-enabled: 
    sudo ln -s /etc/uwsgi/apps-available/hypertext-admin.xml /etc/uwsgi/apps-enabled/hypertext-admin.xml

 

  • Копируем необходимые файлы в папку сайта(все команды выполняются с sudo): 
    mkdir /var/www
    mkdir /var/www/hypertext-admin/
    cd museums/www
    cp museums_* /var/www/hypertext-admin/
    cp errors.py /var/www/hypertext-admin/
    cp logger.py /var/www/hypertext-admin/
    cp config.ini /var/www/hypertext-admin/
    cp -R hypertext-adm/static /var/www/hypertext-admin/
    cp -R hypertext-adm/templates /var/www/hypertext-admin/
    cp -R hypertext-adm/translations /var/www/hypertext-admin/
    cp hypertext-adm/babel.cfg /var/www/hypertext-admin/
    cp hypertext-adm/runserver.py /var/www/hypertext-admin/
    cp hypertext-adm/museums.py /var/www/hypertext-admin/
  • Заносим пользователся nginx в группу www-data в файле /etc/group
  • Перезапускаем оба сервера: 
     sudo service nginx restart
     sudo service uwsgi restart

Теперь сайт должен быть доступен по адресу hypertext-admin.

Установка мобильной версии:

  • Создаем конфиг для nginx: /etc/nginx/sites-available/hypertext-mobile.conf 
    server {
        listen 80;
        server_name hypertext-mobile;
        
        location / {
            uwsgi_pass      unix:/tmp/hypertext-mobile.sock;
            include         uwsgi_params;
        }
    
        location /static/ {
            alias /var/www/hypertext-mobile/static/;
        }
    }
  •  Делаем симлинк в папку sites-enabled: 
    sudo ln -s /etc/nginx/sites-available/hypertext-mobile.conf /etc/nginx/sites-enabled/hypertext-mobile.conf
  • Создаем конфиг для uwsgi  /etc/uwsgi/apps-available/hypertext-mobile.xml

    <uwsgi>
    <socket>/tmp/hypertext-mobile.sock</socket>
    <pythonpath>/var/www/hypertext-mobile/</pythonpath>
    <module>runserver</module>
    <callable>app</callable>
    <plugins>python27</plugins>
    </uwsgi> 

  • Делаем симлинк в папку apps-enabled: 
    sudo ln -s /etc/uwsgi/apps-available/hypertext-mobile.xml /etc/uwsgi/apps-enabled/hypertext-mobile.xml

Копируем необходимые файлы

Для установки версии 0.2:

  • Копируем необходимые файлы в папку сайта(все команды выполняются с sudo): 
    mkdir /var/www
    mkdir /var/www/hypertext-mobile/
    cd museums/www
    git checkout 02_demo
    cp museums_* /var/www/hypertext-mobile/
    cp -R mobile/static /var/www/hypertext-mobile/
    cp -R mobile/templates /var/www/hypertext-mobile/
    cp -R mobile/translations /var/www/hypertext-mobile/
    cp mobile/babel.cfg /var/www/hypertext-mobile/
    cp mobile/runserver.py /var/www/hypertext-mobile/
    cp mobile/mobile.py /var/www/hypertext-mobile/

Для установки версии из master:

  • Копируем необходимые файлы в папку сайта(все команды выполняются с sudo): 
    mkdir /var/www
    mkdir /var/www/hypertext-mobile/
    cd museums/www
    git checkout master
    cp museums_* /var/www/hypertext-mobile/
    cp errors.py /var/www/hypertext-mobile/
    cp config.ini /var/www/hypertext-mobile/
    cp -R mobile/static /var/www/hypertext-mobile/
    cp -R mobile/templates /var/www/hypertext-mobile/
    cp -R mobile/translations /var/www/hypertext-mobile/
    cp mobile/babel.cfg /var/www/hypertext-mobile/
    cp mobile/runserver.py /var/www/hypertext-mobile/
    cp mobile/mobile.py /var/www/hypertext-mobile/

Последние действия

  • Заносим пользователся nginx в группу www-data в файле /etc/group
  • Перезапускаем оба сервера: 

 

     sudo service nginx restart
     sudo service uwsgi restart

Теперь сайт должен быть доступен по адресу hypertext-mobile.