LINUX.ORG.RU

Сообщения Aswed

 

django + uwsgi + nginx

Пытаюсь тут поднять эту связку, но uwsgi сыплет ошибки uwsgi.ini

[uwsgi]
chdir=/home/algiz/code/mandelbort/mand_server/mand_server/
http=127.0.0.1:8001
wsgi-file=/home/algiz/code/mandelbort/mand_server/mand_server/wsgi.py
pythonpath=/home/algiz/anaconda3/bin/
master=True
pidfile=/tmp/project-master.pid
vacuum=True
max-requests=5000
daemonize=/var/log/uwsgi/mand_serv.log
лог uwsgi
*** Starting uWSGI 2.0.14 (64bit) on [Mon Feb 27 10:49:13 2017] ***
compiled with version: 4.9.2 on 21 February 2017 08:39:53
os: Linux-2.6.32-042stab116.2 #1 SMP Fri Jun 24 15:33:57 MSK 2016
nodename: 7cc81ed46c
machine: x86_64
clock source: unix
pcre jit disabled
detected number of CPU cores: 1
current working directory: /home/algiz/code/mandelbort/mand_server
writing pidfile to /tmp/project-master.pid
detected binary path: /home/algiz/anaconda3/bin/uwsgi
chdir() to /home/algiz/code/mandelbort/mand_server/mand_server/
your processes number limit is 1030696
your memory page size is 4096 bytes
detected max file descriptor number: 65536
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uWSGI http bound on 127.0.0.1:8001 fd 4
uwsgi socket 0 bound to TCP address 127.0.0.1:35836 (port auto-assigned) fd 3
Python version: 3.6.0 |Anaconda 4.3.0 (64-bit)| (default, Dec 23 2016, 12:22:00)  [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x106cf70
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 145520 bytes (142 KB) for 1 cores
*** Operational MODE: single process ***
added /home/algiz/anaconda3/bin/ to pythonpath.
Traceback (most recent call last):
  File "/home/algiz/code/mandelbort/mand_server/mand_server/wsgi.py", line 16, in <module>
    application = get_wsgi_application()
  File "/home/algiz/anaconda3/lib/python3.6/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
    django.setup(set_prefix=False)
  File "/home/algiz/anaconda3/lib/python3.6/site-packages/django/__init__.py", line 22, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "/home/algiz/anaconda3/lib/python3.6/site-packages/django/conf/__init__.py", line 53, in __getattr__
    self._setup(name)
  File "/home/algiz/anaconda3/lib/python3.6/site-packages/django/conf/__init__.py", line 41, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/algiz/anaconda3/lib/python3.6/site-packages/django/conf/__init__.py", line 97, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/home/algiz/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 936, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 948, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mand_server'

 , ,

Aswed
()

джанго, статика в релизе

Я тут немного разбираюсь с джангой и увидел, что при debug = False он не хочет отдавать статические файлы. И в документации пишут, что типа это так и нужно и статикой должен заниматься не джанго а апач или nginx какой-нибудь. А если я не использую не то ни другое, и у меня есть только мой маленький серверок на джанге? Как можно настроить его на отдачу статики при debug = False?

 ,

Aswed
()

django не дает статические ресуры

не могу получить доступ к статике. Когда коннекчусь к серверу, в логе

[10/Feb/2017 15:13:41] "GET / HTTP/1.1" 200 147
[10/Feb/2017 15:13:41] "GET /static/samples/pic.png HTTP/1.1" 404 1665
settings.py
PROJECT_DIR = os.path.dirname(__file__)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
MEDIA_URL = '/media/'

STATICFILES_DIRS = (
               os.path.join(PROJECT_DIR, 'staticfiles'),
            )

views.py

def index(request):
    html = '''
        <html><head></head>
        <body>
            <img src="static/samples/pic.png" alt="not load :("/>
        </body>
        </html>
    '''
    return HttpResponse(html)

urls.py

urlpatterns = [
    url(r'^$', views.index),
] +static(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)
структура проекта
   proj_dir/
   --manage.py
   --proj_dir/
   ----settings.py
   ----views.py
   ...
   --static/
   ----samples/
   ...

Перемещено leave из development

 ,

Aswed
()

Изменить пароль рута

Не уверен что в правильной ветке пишу. Моя ситуация такая. Завел на амазоне сервер. Там уже накатана убунта. Когда захожу по ssh то логинюсь за пользователя ubuntu. За ubuntu могу через sudo перейти в root. sudo не запрашивает пароля. Хочу установть на рут пароль. Я так понимаю, что root здесь по умолчанию без пароля. Как это сделать? И безопасно ли иметь такие параметры в sudoers?

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

 , ,

Aswed
()

Сохранить в конфигах пароль от гитхаба

Подскажите пожалуйста, где в .git/config указать логин-пароль от гитхаба что бы не вводить его всякий раз как делаю git push?

 ,

Aswed
()

rust, ФП и lifetime

Господа знатоки, подскажите пожалуйста, что именно с lifetime в этом коде не так, что компилер не хочет его кушать и как это можно исправить сохранив суть.

fn curry<A,B,C>(f : Box<Fn(A,B) -> C>, a : A) -> Box<Fn(B) -> C> {
    Box::new(move|b : B| {f(a,b)})
}

 

Aswed
()

шифрование файловой системы

Добрый вечер господа. Можете мне подсказать, как правильно включить шифрование файловой системы в той же бубунте. И зачем нужны всякие утилиты вроде truecrypt есть ext4 поддерживает шифрование. Я полный нуб в данном вопросе, но вот новости читаю и захотелось включить.

 , ,

Aswed
()

Что нынче актуально в серверных веб фреймворках?

Знатоков бекэнда веба хочу спросить, что сейчас актуально в этой сфере? Хочу попробовать себя в этой стезе и, возможно, поработать за деньги в этом направлении. Посему хотелось бы изучить что-то, с чем потом можно найти вакансии. Как там дела у Django, Ruby On Rails, Node.js?

P.S. Если не сложно, скажите какую актуальную инфу можно почитать по технологии, которой вы придерживаетесь.

Перемещено leave из development

 ,

Aswed
()

Макросы в расте

Знатоки раста, подскажите пожалуйста, как в макросах раста раскрыть блок и обработать элементы?
Т.е. я хочу вот такой вариант:

opt_m!({
  a <- f1();
  b <- f2();
  let c = a + b;
  mret(c);
})
транслировать в такой:
{
  let mut res = None;
  loop {
    let a = match f1() {
      Some(x) => x,
      None => break
    }
    let b = match f2() {
      Some(x) => x,
      None => break
    }
    let c = a + b;
    res = Some(c);
    break;
  }
  res
}

 ,

Aswed
()

Ржавая демонология

Уважаемые дамы и господа, кто имел дело с rust. Подскажите пожалуйста, как в расте демонизировать процесс? То, что в сишке делается с помощью fork() и setsid().

 ,

Aswed
()

rust запись/чтение в бинарном виде

Уважаемые знатоки, подскажите пожалуйста, как в расте организовать сабж. Т.е. функция для записи в бинарном виде в файл требует &[u8]. Как скастовать к подобному виду структуру, или хотя бы простой тип вроде f64. Первое, что мне в голову пришло

let a : f64 = 1.001;
let data : &[u8] = mem::transmute(&a);
Но ведь слайсы в расте помимо данных хранять информацию о длине себя. Как в таком случае быть? Как правильно перевести структуру в байты и обратно? Ну или писать/читать в файл не только &[u8]?

 ,

Aswed
()

Алгоритм впихивания многоугольников в форму

У меня возникла задача, спрятать изображение наложив сверху несколько других. Т.е. есть список могоугольников и их нужно вписать в форму. Допускаются небольшие дырки или небольшой заступ за пределы формы. Вот как на рисунке фигуры с буквами впихиваются в большой пятиугольник Если кто-то сталкивался с подобным, подскажите алгоритм или хотя бы куда копать.

 

Aswed
()

Дублирование информации в TcpStream

Я новичок в сетевом программировании, пытаюсь разобраться с TcpStream в rust. Я пытаюсь связать клиент и сервер. Для этого создаю один канал TcpStream и использую его и на сервере и на клиенте на чтение и запись. Пишу на клиенте через метод write сообщение 'A', вызываю flush, на сервер приходит 'A', отсылаю ответ клиенту. После этого, с клиента в тот же TcpStream пишу сообщение 'B', вызываю fush, и на сервер приходит не 'B', а 'AB'. ЧЯДНТ? Как убрать дублирование прочитанной инфы? Надо как-то руками очищать TcpStream? Открывать 2 TcpStream(в один писать, из другого читать)? Или надо переконнекчиваться после каждого запрос/ответ?

 , ,

Aswed
()

Алгоритм нахождения минимального контура

Подскажите скажите название алго, или хотя бы в какую сторону гуглить. Суть: Есть рандомный контур например. Дана точка. Нужно найти минимальный контур, в котором она находится. Или сказать что такого нет, как например тут

UPD

Входная информация не готовые контуры в виде многоугольников, а набор ребер.

 

Aswed
()

regexp match с определенной позиции в руби

Уважаемые знатоки, скажите, а можно ли в руби сделать regexp.match с определенной позиции в строке или нужно делать slice, а потом к нему применять match?

 ,

Aswed
()

сделать свои числа в js

Скажите, как можно добавить к своему классу совместимость с математическими операторами? Например, я хочу запилить класс «точка» и добавить возможность складывать и вычитать точки используя операторы «+» и "-". Как это сделать?

UPD

я о подобной перегрузке операторов, а не об онанизме

function Point(x,y){
  this.x = x
  this.y = y
  this.toString = function(){
    return '<' + this.x + ' ' + this.y + '>'
  }
}

// хочу чтоб

var a = new Point(1,2) + new Point(2,3)
alert(a.toString()) // это должно выводить '<3 5>'

 ,

Aswed
()

rust, сменить владельца Box указателя

Скажите, можно ли в расте поменять владельца Box указателя? Например я описываю простой стек двумя структурами:

enum Node<A> {
  Cons(A, Box<Node<A>>),
  Nil
}

struct stack {
  head : Box<Node<A>>,
  size : uint
}
и хочу сделать метод push
impl<A> Stack<A> {
  fn push(&mut self, data : A) {
    self.size += 1;
    self.head = box Cons(data, self.head)
  }
}
Но в таком случае компилятор ругается
cannot move out of dereference of `&mut`-pointer
Как поступить если я хочу переместить, а не скопировать значение?

 ,

Aswed
()

модульность в rust

Скажите как в расте скормить компилятору несколько библиотек. Я пишу модуль, например mud.rs компилю его с ключем "--crate-type lib". Получаю libmod.rlib. Затем пускаю собирать другой модуль с ключем "-L путь-до-спапки-с-первым-модулем". Но компилер все равно ругается на импорт «use mod::*». Что я делаю не так?

 

Aswed
()

типы указателей в расте

Помогите мне разобраться с типами указателей в расте. Есть указател типа &int. По этому указателю находится число и у такого указателя есть только один владелец. Т.е. я не могу сделать две структуры

struct store{a : &int}
и записать в них один указатель. GC с ним не работает, так как время жизни известно на этапе компиляции.
Есть указатель Box<int> я могу создать такой указатель внутри блока и делать с ним все, что угодно, но в конце блока все копии этого указателя должны быть удалены и сам указатель освободится. GC эти указатели тоже не трогает, так как время освобождения известно.
Есть указатель ~int. Это обычный указатель на объект в куче. Время жизни неизвестно, за ним следит GC.
Я правильно понял, как работать с этими указателями? Есть тут еще какие-то типы или только эти 3? Что за указатель *mut int?

 , ,

Aswed
()

rust, lifetime specifier

Есть вот такой код на расте.

fn hsort(vec : &mut Vec<int>) -> () {
	let size = vec.len();
	struct Env {
		vec   : &Vec<int>,
		start : uint,
		size  : uint
	};
	fn getMax(env : &Env, cur : uint, maxInd: uint){
		if cur >= env.size {
			return maxInd;
		}
		let sh = cur - env.start;
		let maxInd = getMax(env, sh * 2 + 1 + env.start, maxInd);
		let maxInd = getMax(env, sh * 2 + 2 + env.start, maxInd);
		if env.vec[cur] <= env.vec[maxInd] {
			return cur;
		}
		else {
			return maxInd;
		}
	};
	let mut env = Env {
		vec : vec,
		start : 0,
		size : size
	};
	for i in range(0,size - 1){
		env.start = i;
		let ind = getMax(env,i,i);
		let a = (*vec)[ind];
		(*vec)[ind] = (*vec)[i];
		(*vec)[i] = a;
	}
}
Компилятор ругается на структуру Env. Говорит мне указать мне время жизни поля vec. Вектор, ссылка на который используется в структуре должен пережить саму структуру. Как сделать такую ссылку в структуре?

 ,

Aswed
()

RSS подписка на новые темы