Ich habe vor kurzem zog meine Webseiten von Django DreamHost FastCGI aufgrund schlechter Leistung, um die 256 Option Plan von Slicehost. Wenn Sie sich mit ihnen, nutzen Sie bitte "inerte@gmail.com" als Verweis. Ich habe keine Ahnung, wie viel sie zahlen für die Verweise, aber Geld ist gutes Geld ;)

Hier ist mein Guide:

Sign-up Slicehost

Schmerzfreie Registrierung gab mir das root-Passwort in 2 Minuten. Geben Sie Ihre IP-Adresse und Ihr root-Passwort irgendwo so dass Sie nicht vergessen.

Setup-Pakete

SSH (Ich habe Putty verwendet) auf Ihren Server zu authentifizieren, und führen Sie die Befehle unten. Ich habe beschlossen, PHP zu installieren, weil ich Domains über die es haben. Außerdem ist es für phpMyAdmin notwendig.

  $ Apt-get install apache2
 $ Apt-get install libapache2-mod-python2.4
 $ Apt-get install mysql-server
 $ Apt-get install python2.4-mysqldb
 $ Apt-get install php5
 $ Apt-get install php5-mysql
 $ Apache2ctl starten
 $ / Etc/init.d/apache2 reload 

Setup Mysql

  $ Mysql-u root
 mysql> UPDATE mysql.user SET Password = PASSWORD ( 'your_root_mysql_password') WHERE User = 'root';
 mysql> FLUSH PRIVILEGES;
 mysql> quit 

Optional: Installation von phpMyAdmin

Es ist einfacher. Ich habe beschlossen, nicht auf dem FTP-Server auf meine Dateien hochladen zu installieren. Stattdessen habe ich WinSFTP, der SFTP-Client für Microsoft Windows verwendet. Downloaden und installieren Sie sie. Öffnen, Einfügen Slice Ihre IP-Adresse und wechseln Sie zu der Datei / var / www / Verzeichnis hochladen phpMyAdmin und folgen Sie den Anweisungen zu installieren.

Setup Django

  $ Cd / usr/lib/python2.4/site-packages /
 $ Svn co http://code.djangoproject.com/svn/django/trunk/ django 

Richten Sie Ihre Django-Projekt

Open WinSFTP erneut, wechseln Sie zu dem / usr/lib/python2.4/site-packages /-Verzeichnis und laden Sie Ihre Django Projekt.

Bearbeiten Sie die Datei settings.py.

  vi / usr/lib/python2.4/site-packages/your_django_project/settings.py 

Ich will nur zeigen, was Sie ändern müssen, außer, was für Ihr Projekt zu arbeiten (wie INSTALLED_APPS) benötigt wird:

  DATABASE_ENGINE = 'mysql'
 DATABASE_NAME = 'your_db_name "
 DATABASE_USER = 'your_db_user "
 DATABASE_PASSWORD = 'your_db_password " 

Ich benutze ein Verzeichnis für die Medien-Dateien mit dem Namen "web" auf den meisten meiner Projekte:

  MEDIA_ROOT = '/ var / www / your_domain.com / web /'
 MEDIA_URL = '/ web /' 

Darüber hinaus haben Sie die TEMPLATE_DIRS Tupel zu ändern. Sie brauchen nur das, was Sie nutzen. Here's mine for reference:

TEMPLATE_DIRS = (
# Strings Fügen Sie hier, wie "/ home / html / django_templates.
# Verwenden Sie Schrägstriche, auch unter Windows.
'/ Usr/lib/python2.4/site-packages/my_django_project/templates/my_django_project /',
)

Setup der Domäne

  $ Mkdir / var / www / your_domain.com
 $ Mkdir / var/log/apache2/your_domain.com
 $ Vi / etc/apache2/sites-available/your_domain.com 

Fügen Sie diesen Text in der Datei:

<VirtualHost *>
ServerName www.your_domain.com
ServerAlias your_domain.com
# Die drei folgenden Zeilen entfernen Sie die www von den Domain-Namen. I don't like WWWS.
RewriteEngine On
RewriteCond% (HTTP_HOST) ^ www \. Ihre_Domäne \. Com [NC]
RewriteRule (.*) http://your_domain.com $ 1 [R = 301, L]

DocumentRoot / var / www / your_domain.com

CustomLog / var/log/apache2/your_domain.com/access.log kombiniert
ErrorLog / var/log/apache2/your_domain.com/error.log

SetHandler python-Programm
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE your_django_project.settings
PythonDebug Off
PythonPath "[ '/ usr/lib/python2.4/site-packages/django'] + sys.path"

# Meine eigenen Medien-Verzeichnis (wie im vorigen Abschnitt erwähnt)
<Location "/web/">
SetHandler None
</ Location>
# Notwendig für Django admin Mediendateien
<Location "/media/">
SetHandler None
</ Location>
</ VirtualHost>

Symlink Ihrer neuen Domain-Konfigurationsdatei in das richtige Verzeichnis:

  ln-s / etc/apache2/sites-available/your_domain.com / etc/apache2/sites-enabled/your_domain.com 

Symlink Django admin Mediendateien zu Ihrer Domain:

  ln-s / usr/lib/python2.4/site-packages/django/django/contrib/admin/media / / var / www / your_domain.com / media 

Bearbeiten Sie die Konfigurationsdatei von Apache zu sagen, Ihre IP-Adresse:

  vi / etc/apache2/apache2.conf 

Fügen Sie diese vor dem # INCLUDE den virtuellen Host-Konfigurationen: Linie (es ist die letzte vor):

  ServerName your.slice.ip.address 

Bearbeiten Sie die Apache-Log-Rotation, um auch Ihre neue Domain:

  vi / etc/logrotate.d/apache2 

Fügen Sie diesen am Ende:

  / Var/log/apache2/your_domain.com log / *. (
         wöchentlich
         missingok
         drehen 52
         komprimieren
         delaycompress
         notifempty
         create 640 root adm
         sharedscripts
         postrotate
                 if [-f / var/run/apache2.pid] then
                         / Etc/init.d/apache2 restart> / dev / null
                 fi
         Endscript
 ) 

DNS-Server

Ich habe versucht, den DNS-Server zu installieren, aber nicht nur ich dachte, es ist schwer, mit einem Single Point of Failure ist schlecht. Deshalb habe ich mit DNS-Made Easy Hinzufügen und ich lasse sie das für mich zu verwalten. Es ist super einfach, nach dem Beitritt, fügen Sie Ihre Domain auf DNS-Made Easy und notieren Sie die DNS-Server-Adressen. Warten Sie, bis der Domain-Name "geschaffen" (für mich, schwankte sie zwischen 30 Minuten bis 2 Stunden), und ändern Sie die DNS-Server von Ihrem Domain-Namen aufnehmen.

Letzte Aktion

Starten Sie den Apache noch einmal:

  $ Apache2ctl starten
 $ / Etc/init.d/apache2 reload 

Und sind wir fertig! Mit einer Einschränkung: Wir haben aus Django "Stamm"-Verzeichnis in das Verzeichnis Python's überprüft. Das bedeutet, dass das reale Leben django Verzeichnis unterhalb:

/ Usr/lib/python2.4/site-packages/django/django /

Das bedeutet, dass wenn Sie jemals außerhalb Django's Apache mod_python verwenden möchten, werden Sie die / usr/lib/python2.4/site-packages/django Verzeichnis auf ihre sys.path zu haben. Oder Sie könnten Kasse Django irgendwo anders, und bewegen Sie den "echten" django Verzeichnis site-packages / (und ändern Sie die / etc/apache2/sites-available/your_domain.com) entsprechend.

Wenn Sie Probleme haben, schreiben Sie etwas in den Kommentaren hier und ich werde versuchen, Ihnen zu helfen.

  • Awesome post! Lassen Sie uns wissen, wenn Sie etwas und genießen Sie Ihren Slice müssen. Ich werde auf diese Verknüpfung auf dem Slicehost Wiki und Forum. Danke!
  • Kenzie
    Sich wundern, warum Sie Ihren Domain-Log-Dateien im eigenen Verzeichnis? Ich setzte sie in die Haupt-/ var / log / apache-Verzeichnis der Domain-access.log logrotate und dann entsprechend behandelt werden ohne Modifikation.

    Gibt es einen Grund, sie in ein separates Verzeichnis mit Ausnahme der persönlichen Präferenz setzen?

    Great write-up, thanks.
  • inert
    Hallo Kenzie,

    Kein Grund angegeben. Ich schätze, ist die persönliche Präferenz.
  • Tom
    Hallo - was Linux-Distribution verwenden Sie am Slicehost?
  • inert
    Ich bin mit Ubuntu.
  • Sollte 'ln-s / etc / apache / sites-available / your_domain.com / etc / apache / sites-enabled / your_domain.com' sein 'ln-s / etc/apache2/sites-available/your_domain.com / etc/apache2/sites-enabled/your_domain.com '?
  • inert
    Jim Ja, vielen Dank für die Korrektur. Artikel aktualisiert.
  • Ahoi!
    Du bist der erste Befassung Code für Slicehost, dass ich fand, als Googeln für ein so werde ich verkaufen, wie ich hinzufügen, registrieren :-)
  • Hiya,

    Thanks for the write-up (ich auch Sie als meinen Befassung) - Paar Fragen / Anmerkungen:


    Sind Sie mit dem prefork-Version von Apache2?
    Um Subversion auf meiner Scheibe get (Django zum Check-out), ich lief auch apt-get install subversion laufen
    Ich konnte nicht django-admin.py Django's Befehl von der Kommandozeile arbeiten, so dass ich installiert django0.95 aus dem Archiv, die besser funktionieren schien.


    -Joe
  • Oder nutzen Sie einfach auf Ubuntu

    a2ensite your_domain.com

    a2ensite ist ein handliches Skript, das die softlinking für Sie tut
Blog-Kommentare powered by Disqus

Português flagItaliano flagCoreano flagChinês (simplificado) flagEnglish flagAlemâo flagFrancês flagEspanhol flag
Japonês flagÁrabe flagRusso flagHolandês flagBúlgaro flagTcheco flagCroata flagDinamarquês flag
Finlandês flagHindu flagPolonês flagRomeno flagSueco flagGrego flagNorueguês flag 
By N2H
Dolet 96 Rabatt auf Hosting DreamHost!
Verwenden Sie die "PROMO CODE" Trägheit. LAMP mit 20 GB und 1 TB Speicherplatz zu übertragen.

Coverage

  • No related posts

Kategorien