2016-11-27 2 views
0

У меня возникли проблемы с настройкой uwsgi за apache2. Вот моя система: "Привет"uwsgi и apache2 issue

$ lsb_release -a 
No LSB modules are available. 
Distributor ID: Ubuntu 
Description: Ubuntu 12.04.5 LTS 
Release:  12.04 
Codename:  precise 

$ apache2 -v 
Server version: Apache/2.4.20 (Ubuntu) 

$ uwsgi --version 
2.0.14 

$ cat /etc/init/uwsgi.conf 
description "uWSGI Emperor" 
start on runlevel [2345] 
stop on runlevel [!2345] 
respawn 
exec /usr/local/bin/uwsgi --emperor /etc/uwsgi/vassals/ --logto /var/log/uwsgi.log 

$ python --version 
Python 2.7.3 

С

$ cat ~/myapp/wsgi.py 
def application(environ, start_response): 
    start_response('200 OK', [('Content-Type', 'text/html')]) 
    return ["<h1 style='color:blue'>Hello There!</h1>"] 

и

$ cd ~/myapp 
$ uwsgi --socket 0.0.0.0:8081 --protocol=http -w wsgi 

я могу перейти к http://example.com:8081 и увидеть тестовая страница. Итак, я предполагаю, что uwsgi работает правильно. Тем не менее, я хочу поставить uwsgi за apache2, но whenenver Стараюсь

$ a2enmod uwsgi 

и перезапустить apache2 Я получаю сообщение об ошибке, что я не могу понять:

$ service apache2 restart 
* Restarting Apache httpd web server apache2     [fail] 
* The apache2 configtest failed. 
Output of config test was: 
apache2: Syntax error on line 140 of /etc/apache2/apache2.conf: 
Syntax error on line 1 of /etc/apache2/mods-enabled/uwsgi.load: 
Cannot load /usr/lib/apache2/modules/mod_uwsgi.so into server: 
/usr/lib/apache2/modules/mod_uwsgi.so: cannot open shared object file: 
No such file or directory 
Action 'configtest' failed. 
The Apache error log may have more information. 

Может кто-нибудь помочь мне с этим ? Я искал несколько часов, но я не могу найти ничего, что помогло мне в этом.

Большое вам спасибо.

PS: О, и я не смог найти релевантную информацию в журналах ошибок apache.

ответ

0

В случае, если кто-то интересно, вот как я получил его на работу:

Вместо использования uwsgi_mod, я просто проксированном все в моей конфигурации Apache:

<VirtualHost *:80> 
    ... 
    ProxyPreserveHost On 
    ProxyRequests Off 
    ProxyVia Off 
    ProxyPass/http://127.0.0.1:8081/ 
    ProxyPassReverse/http://127.0.0.1:8081/ 
</VirtualHost> 

Команда uwsgi будет работать с uwsgi --ini uwsgi.ini где uwsgi.ini будет содержать следующие строки

[uwsgi] 
chdir = path/to/my/project 
http-socket = :8081 
module = wsgi:application 
... 

Таким образом, я не нужно запускать uwsgi_mod и everyth . Надеюсь, это поможет кому угодно, когда-нибудь.

Смежные вопросы