2014-10-08 2 views
3

Я просмотрел множество ссылок на эту тему, посвященную развертыванию Django и Apache на сервере Ubuntu. Наконец, я нашел эту ссылку Django Deployement Installation to Ubuntu 12.04 Server, которая привела меня дальше любого другого гида. Итак, теперь я нахожусь в этом месте - я установил все программное обеспечение и зависимости, включил mod_WSGI, установил среду Python и Django, запустил новый проект и т. Д. Я назвал свою динамику домена «динамикой». Итак, мой dynamics файл в папке /etc/apache2/sites-available теперь выглядит следующим образом:Развертывание Django + Apache на Ubuntu

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName dynamics 

Alias /site_media/ /srv/my_project/app/webapp/site_media/ 
Alias /static/ /srv/my_project/venv/lib/python2.7/site-packages/django/contrib/admin /static/ 
Alias /robots.txt /srv/my_project/app/webapp/site_media/robots.txt 
Alias /favicon.ico /srv/my_project/app/webapp/site_media/favicon.ico 

CustomLog "|/usr/sbin/rotatelogs /srv/my_project/logs/access.log.%Y%m%d-%H%M%S 5M" combined 
ErrorLog "|/usr/sbin/rotatelogs /srv/my_project/logs/error.log.%Y%m%d-%H%M%S 5M" 
LogLevel warn 

WSGIDaemonProcess dynamics user=itsme group=itsme processes=1 threads=15 maximum- requests=10000 python-path=/srv/my_project/venv/lib/python2.7/site-packages python- eggs=/srv/my_project/run/eggs 
WSGIProcessGroup dynamics 
WSGIScriptAlias//srv/my_project/app/conf/apache/django.wsgi 

<Directory /srv/my_project/app/webapp/site_media> 
    Order deny,allow 
    Allow from all 
    Options -Indexes FollowSymLinks 
</Directory> 

<Directory /srv/my_project/app/conf/apache> 
    Order deny,allow 
    Allow from all 
</Directory> 

</VirtualHost> 

Но, когда я начинаю апач и перейти к localhost я вижу Not found ошибку, если я вместо того, чтобы попытаться пойти http://dynamics/ Я перенаправлен поиск Google стр. Я думаю, мне нужно сделать некоторые дополнительные конфигурации, но я не знаю, какие из них. Вероятно, мне нужно указать ServerRoot в apache.conf (но опять же со всеми этими папками django я не знаю, где именно точно указать).

EDIT Теперь это еще хуже. Я попытался переустановить apache, но когда я перехожу к localhost, браузер хочет загрузить страницу, такую ​​как файл. Итак, что я сделал шаг за шагом:

1. sudo apt-get remove apache2 # remove to install from scratch 
2. sudo apt-get update 
3. sudo apt-get install apache2 
4. sudo a2dissite default # disable the default site 
5. create dynamics file in /etc/apache2/sites-available 
6. dynamics file contains these lines: 

<VirtualHost *:80> 
ServerAdmin [email protected] 
ServerName dynamics 
DocumentRoot /home/username/Sites/dynamics 
<Directory /home/username/Sites/dynamics/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride Node 
    Order allow,deny 
    allow from all 
</Directory> 
</VirtualHost> 
7. /etc/apache2/apache2.conf contains `ServerName dynamics`. 

Если я также указать SeverRoot к /home/username/Sites/dynamics я получаю сотни ошибок, когда я перезапустить Apache, поэтому я не указывать. Проблем:

1. If I go to `http://dynamics`, I'm redirected to google search page 
2. If I go to localhost, the browser wants to load a page like a file 

Итак, после переустановки я даже один шага назад. Я даже не могу создать виртуальный хост. Во время этого процесса я столкнулся с одним вопросом: если вы делаете sudo apt-get remove или sudo apt-get purge, несмотря на то, что они говорят, я все еще вижу нетронутые конфигурационные файлы apache - так же, как и перед деинсталляцией. Итак, теперь у меня есть один дополнительный вопрос:

1. How to uninstall completely apache. All guides and tips that I followed left apache config files just as they were. 

EDIT

Ну, я переустановил апача с самого начала, добавлен виртуальный хост dynamics (во-первых, без какой-либо связи с Джанго), то я последовали советы Даниэля Роземана - исправил hosts файл немного. И нет, по крайней мере, эта часть работает. Я могу добавить файл index.html в папку динамиков, и если я перейду к http://dynamics/, я вижу эту страницу визуализированной. НО, все мои попытки создать проект django и запустить его по тому же адресу http://dynamics закончились неудачей. Каждый раз, когда я получаю эту ошибку, «Не найден». Тонны гидов, сотни блогов и океанов руководств кажутся совершенно бесполезными, чтобы сделать (я думаю) самой простой возможной задачей - просто запустить проект django на Apache.

EDIT

Начну Баунти вопрос с. Теперь я просто хочу официально оформить все заранее. Вопрос Как развернуть Django и Apache на Ubuntu? Требования:

Strongly required: 
1. Ubuntu 12.04 
2. Python 3.3.4 
3. Apache 2.2.22 
4. mod_wsgi 

Не так сильно: 5. Если кто-то сделает тестовый чехол, это будет здорово. Итак, моя конечная цель - создать крошечный веб-проект, где я мог бы использовать f2py для вызова подпрограмм fortran. Если это соединение можно сделать в этой среде, я буду полностью над луной. И скажем, я хочу иметь конкретный виртуальный хост под названием dynamics.Итак, я хочу хранить файлы всех проектов в этом каталоге/home/victor/dynamic /. Мне нужна пошаговая инструкция, а не только клочки подсказок. И надеюсь, что эта инструкция, если кому-то удастся это сделать, будет невероятно популярна среди django newbeis, подобных мне.

+1

ха-ха, имя пользователя якобиан делает нас Джанго люди думают, что вы Jacob Kaplan-Moss –

+0

P.S. по умолчанию /etc/apache2/apache2.conf ищет configs в * sites-enabled * (не сайты-доступные! так что, возможно, symlink его там) –

+1

Если вы хотите сделать чистую переустановку пакета, вы должны очистить его, а не удалить это: 'sudo apt-get purge apache2'. Он также удалит все файлы конфигурации, принадлежащие пакетам. – cezar

ответ

3

Вам необходимо запустить sudo a2ensite dynamics, чтобы включить динамику conf (или вы можете вручную привязать ее к сайтам), а затем перезапустите Apache с помощью sudo /etc/init.d/apache2 restart.

Редактировать Похоже, другой проблемой является то, что вы пытаетесь связать VirtualHost с именем домена, который не существует и не связан с вашей машиной, то есть dynamics. Если вы хотите получить доступ к нему, как это, вам нужно отредактировать /etc/hosts, чтобы указать, что имя для локального хоста: добавьте в этот файл:

127.0.0.1 dynamics 

Не стоит забывать, что это просто хак для вашей машины. Для реального развертывания вам потребуется правильное доменное имя, которое разрешено через DNS.

+0

Я сделал все это, но все равно имею ту же проблему. Я постараюсь сделать это шаг за шагом. Что на самом деле сводит меня с ума, так это то, что есть Океан учебных пособий и руководств и руководств, но нет единого документа, который вы могли бы выполнить шаг за шагом и получить то, что хотите. – Jacobian

+0

Спасибо, я проверю сейчас! – Jacobian

+0

К сожалению, это не работает. – Jacobian

1

Вы проверили файл локальных хостов по следующему пути, который содержит «динамику» в качестве локального хоста?

Расположение файла:/и т.д./хосты

127.0.0.1 localhost 
127.0.1.1 dynamics 
+0

Как я уже писал, я следовал совету Данеля Роземана. И, да, я сделал это так. Но это не решает часть проблемы джанго. – Jacobian

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