LINUX.ORG.RU

web.py + with + nginx - проблема при развертывании

 , , ,


0

2

Всем привет! Разворачиваю свой webpy проект на сервере digital ocean

Делаю все по туториалу https://gist.github.com/TimSC/04993f1e3668d1decdfb

но столкнулся со следующей проблемой после создания файла /etc/init/mon.conf

со следующим содержимым

description "mon uwsgi"
author "TSC"

start on runlevel [2345]
stop on runlevel [016]

env DIR=/run/uwsgi/app/mon
env USER=www-data
env GROUP=www-data
env PERMS=0755

pre-start script
  mkdir -p $DIR              || true
  chmod $PERMS $DIR       || true
  chown $USER:$GROUP $DIR || true
end script

exec uwsgi /var/srv/www/mon/app/mon.xml --logto /var/srv/www/mon/logs/uwsgi.log

и запуска команды sudo service mon start я получаю ошибку Failed to start mon.service: Unit mon.service not found.

Что в свою очередь приводит к ошибке запуска nginx поскольку файл mon.socket не был создан и nginx не может его найти.

Как решить проблему? система ubuntu 16.04

If upstart, as used in Linux Mint 17.2, is available, create file: /etc/init/mon.conf
If upstart is available
ubuntu 16.04

У тебя systemd, а не upstart.

Deleted
()
Ответ на: комментарий от technobot

Ну так попробуй, например:

Вместо

If upstart, as used in Linux Mint 17.2, is available, create file: /etc/init/mon.conf

Вот это

sudo xed /etc/systemd/system/mysite.service

[Unit]
Description=uWSGI instance to serve mysite
After=network.target

[Service]
User=root
Group=www-data
WorkingDirectory=/var/srv/www/mon/app/
ExecStart=/usr/local/bin/uwsgi /var/srv/www/mon/app/mon.xml --logto /var/srv/www/mon/logs/uwsgi.log
KillSignal=SIGQUIT

[Install]
WantedBy=multi-user.target
mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala

сделал как вы написали. но nginx по прежнему не видет socket файл(

вообще, уже ногу сломал в этих конфигаг и ни одного туториала дельного на эту тему нет

technobot
() автор топика
Ответ на: комментарий от technobot

Хз тогда, у меня этой штуки нету, я просто немного поразмышлял. Видимо у тебя проблема глубже. Создай новый тред с полным описанием своих действий (да, ссылка на туториал у тебя есть, но форумчанам будет проще тебе помочь когда ты тут все подробно напишешь).

mandala ★★★★★
()
Ответ на: комментарий от mandala

Сервер запустился! На всякий случай, если кому нужно, кротчайший путь для запуска uwsgi + web.py + nginx

создаем yorname.ini файл c uwsgi данными

[uwsgi]
socket = yourServerIp:3031
chdir = /your/path/to/project/
wsgi-file = yourname.py
stats = yourServerIp:9191

создаем yourname.py файл со следующим содержимым

import web

urls = (
    '/', 'hello'
)
app = web.application(urls, globals())

class hello:
    def GET(self):
        return "Hello World"

application = app.wsgifunc()

заходим в /etc/nginx/sites-available и добавляем в файл default следующую инструкцию

location / {
    include uwsgi_params;
    uwsgi_pass 174.138.49.145:3031;
    try_files $uri $uri/ =404;
}

запускаем команду uwsgi yourname.ini и тестируем уже на своем домене ну или локальном хосте...

technobot
() автор топика
Ответ на: комментарий от mandala

теперь следующая проблема, это заставить отдавать nginx статику...

я решил тестировать по быстрому поэтому создал тестовый .py файл в папке home там же создал папку static и положил туда картинку..

в файле /etc/nginx/sites-available/default добавил следующую инструкцию


location ~ /static/  {

    root /home/static/;

}

web.py файл теперь выглядит так

import web

urls = (
    '/', 'hello'
)
app = web.application(urls, globals())

class hello:
    def GET(self):
        return "<img src='/static/300px-82f2426f2971.jpg'>"

application = app.wsgifunc()

но картинка не отображается... пишет что нет такого файла. я так понимаю проблема в правах доступа?

technobot
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.