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:
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.
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
$ Mysql-u root mysql> UPDATE mysql.user SET Password = PASSWORD ( 'your_root_mysql_password') WHERE User = 'root'; mysql> FLUSH PRIVILEGES; mysql> quit
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.
$ Cd / usr/lib/python2.4/site-packages / $ Svn co http://code.djangoproject.com/svn/django/trunk/ django
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 /',
)
$ 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 )
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.
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.