Ho recentemente trasferito i miei siti da Django DreamHost da FastCGI poveri a causa delle prestazioni a 256 piano l'opzione Slicehost . Se segno-in su con loro, si prega di utilizzare "inerte@gmail.com" al vostro referral. Non ho idea di quanto si paga per i riferimenti, ma ogni moneta è un bene il denaro ;)

Ecco la mia guida:

Registrati per Slicehost

Indolore la registrazione mi ha dato la password di root in 2 minuti. Scrivi il tuo indirizzo IP e la tua password di root da qualche parte in modo da non dimenticarlo.

Installazione dei pacchetti

SSH (ho usato Putty ) al server, l'autenticazione, ed eseguire i comandi che seguono. Ho deciso di installare PHP perché ho domini utilizzarlo. Inoltre, è necessario per phpMyAdmin.

  $ 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 riavviare
 $ / Etc/init.d/apache2 reload 

Setup Mysql

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

Opzionale: Installare phpMyAdmin

E 'solo più facile. Ho deciso di non installare il server FTP per caricare i miei file. Invece, ho usato WinSFTP , il client sftp per Microsoft Windows. Scaricare e installare. Open, incollare Tagliate il vostro indirizzo IP e accedere alla directory / var / www / directory, ITS caricare installare phpMyAdmin e seguire le istruzioni.

Setup Django

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

Imposta il tuo progetto Django

Open WinSFTP ancora, passare alla / usr/lib/python2.4/site-packages / directory e caricare il tuo progetto Django.

ITS Modifica settings.py file.

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

I'll solo mostrare ciò che si deve cambiare, oltre quanto necessario per il vostro progetto di lavoro (come INSTALLED_APPS):

  DATABASE_ENGINE = 'mysql'
 Database_name = 'your_db_name'
 DATABASE_USER = 'your_db_user'
 Database_password = 'your_db_password' 

Io uso la directory per i file multimediali chiamati "web" sulla maggior parte dei miei progetti:

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

Avrete anche cambiare il TEMPLATE_DIRS tupla. Basta mettere tutto ciò che si usa. Ecco il mio riferimento per:

TEMPLATE_DIRS = (
# Metti qui le stringhe, come "/ home / html / django_templates.
# Utilizzare sempre le barre, anche su Windows.
'/ Usr/lib/python2.4/site-packages/my_django_project/templates/my_django_project /',
)

Imposta il dominio

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

Incollare questo testo all'interno del file:

<VirtualHost *>
ServerName www.your_domain.com
ServerAlias your_domain.com
# Le tre righe sotto rimuove il www dal nome di dominio. Non mi piace WWWS.
RewriteEngine On
RewriteCond% (HTTP_HOST) ^ \ www. \ Dominio_organizzazione. Con [] 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 combinata
ErrorLog / var/log/apache2/your_domain.com/error.log

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

# La mia directory multimediali (come indicato nella sezione precedente)
<Location "/web/">
SetHandler Nessuno
</ Location>
# Necessario per la media di Django admin file
<Location "/media/">
SetHandler Nessuno
</ Location>
</> VirtualHost

Symlink configurazione nuovo dominio file nella directory corretta:

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

Symlink Django's media admin file sul tuo dominio:

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

Modifica la configurazione di Apache file di dire al tuo indirizzo IP:

  vi / etc/apache2/apache2.conf 

Incolla questo prima che il # Include l'host virtuale configurazioni: la linea (è uno prima l'ultimo):

  ServerName your.slice.ip.address 

Modifica la rotazione dei log di Apache per includere il nuovo dominio:

  vi / etc/logrotate.d/apache2 

Incollare questo alla fine:

  / Var/log/apache2/your_domain.com / *. log (
         settimanale
         missingok
         ruotare 52
         comprimere
         delaycompress
         notifempty
         creare 640 root adm
         sharedscripts
         postrotate
                 if [-f /] var/run/apache2.pid, poi
                         / Etc/init.d/apache2 restart> / dev / null
                 fi
         EndScript
 ) 

Server DNS

Ho provato a installare il server DNS ma non solo, ho pensato che è difficile, avendo un singolo punto di errore è male. Così ho firmato con DNS Made Easy e li lascio gestire questo per me. E 'super semplice, dopo aver riunito, aggiungere il dominio di DNS Made Easy e scrivere gli indirizzi dei server DNS. Attendere che il nome di dominio è "creato" (per me, variava da 30 minuti a 2 ore), e cambiare i server DNS dal tuo registrar di nomi a dominio.

Ultima azione

Riavviare Apache una volta di più:

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

E abbiamo finito! Con un avvertimento: Abbiamo verificato Django "tronco" directory in directory del Python. Ciò significa che la vita reale la directory di Django qui sotto:

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

Il che significa che se si desidera utilizzare mai al di fuori di Apache mod_python Django, dovrete aggiungere la directory / usr/lib/python2.4/site-packages/django al tuo sys.path. Oppure, si potrebbe checkout Django a qualche altra parte, e spostare la directory "reale django site-packages per / (e cambiare il / etc/apache2/sites-available/your_domain.com) di conseguenza.

Se avete problemi, scrivete qualcosa i commenti qui e cercherò di aiutarvi.

  • O semplicemente l'uso su Ubuntu

    a2ensite your_domain.com

    a2ensite Si tratta di un comodo script fa il softlinking per voi
  • Hiya,

    Grazie per il write-up (ho usato anche a voi il mio referral) - paio di domande / Note:


    Sei esegue la versione prefork di Apache2?
    Per ottenere sovversione sulla mia fetta (per eseguire il checkout Django) mi sono imbattuto anche apt-get install subversion
    Non riuscivo a comando django django-admin.py di lavorare da linea di comando, così ho installato dal tarball django0.95, che sembrava funzionare meglio.


    -Joe
  • Ahoy!
    Sei il codice di riferimento prima è che ho trovato Slicehost Quando usare Google per uno così ho intenzione di aggiungere il vostro come mi iscrivo :-)
  • inerte
    Sì Jim, grazie per la correzione. Articolo aggiornato.
  • Se non 'ln-s / etc / apache / siti-disponibile / your_domain.com / etc / apache / siti abilitati / your_domain.com' b 'ln-s / etc/apache2/sites-available/your_domain.com / etc/apache2/sites-enabled/your_domain.com '?
  • inerte
    Sto utilizzando Ubuntu.
  • Tono
    Hi - di quale distribuzione linux stai usando su Slicehost?
  • inerte
    Ciao Kenzie,

    Nessun motivo particolare. Credo che è una preferenza personale.
  • Kenzie
    Chiedendo perché si mette il file di registro del dominio nella loro directory? Ho appena messo loro nel main / var / log / apache-access.log domain.tld la directory e quindi logrotate li gestisce senza alcuna modifica.

    C'è qualche motivo di metterle in una directory separata diverse preferenze personali?

    Grande write-up, grazie.
  • Awesome post! Fateci sapere se avete bisogno di qualcosa e goditi la tua Slice. Sarò link a questo Wiki e sul Forum Slicehost. Grazie!
osservazioni del blog alimentate da 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 di sconto su DreamHost hosting!
Utilizzare il "Codice Promozionale" inerzia. Lampada con 20GB di spazio e 1 TB di trasferimento.

Articoli correlati

  • No Related Posts

Categorie