I-am mutat recent site-urile mele de la Django Dreamhost FastCGI datorită performanţelor slabe la opţiunea de planul de 256 de la Slicehost. Dacă vă înscrieţi cu ei, vă rugăm să folosiţi "inerte@gmail.com" ca trimiterea dvs.. Nu am nici o idee cât de mult le plătească pentru recomandări, dar orice bani sunt bani buni ;)

Aici e ghidul meu:

Sign-up pentru a Slicehost

Înregistrare Fără efort mi-a dat parola de root în 2 minute. Notaţi adresa ta de IP şi parola de root undeva, aşa că nu veţi uita.

De instalare pachete

SSH (l-am folosit Putty) la server-ul dvs., autentificarea, şi executa comenzile de mai jos. Am decis să instala PHP pentru că am domenii folosind-o. De asemenea, este necesar pentru 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 $ restart
 $ / Etc/init.d/apache2 reload 

Setup Mysql

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

Opţional: Instalaţi phpMyAdmin

E doar mai uşor. Am decis să nu pentru a instala server FTP pentru a încărca fişierele mele. În schimb, m-am folosit WinSFTP, clientul SFTP pentru Microsoft Windows. Descărcaţi şi instalaţi-o. Open, pasta Slice adresa de IP-ul şi navigaţi la / var / www / directorul, phpMyAdmin de încărcare şi urmaţi instrucţiunile de instalare.

Setup Django

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

Setup proiectul dumneavoastră Django

Open WinSFTP din nou, răsfoiţi la usr/lib/python2.4/site-packages / / directorul de proiect şi încărcaţi-vă Django.

Editare dosarul său settings.py.

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

Vă vom arăta doar ceea ce ai de a schimba, pe langa tot ceea ce este necesar pentru proiectul dumneavoastra la locul de muncă (cum ar fi INSTALLED_APPS):

  DATABASE_ENGINE = 'MySQL'
 Database_name = 'your_db_name'
 DATABASE_USER = 'your_db_user'
 DATABASE_PASSWORD = 'your_db_password' 

Eu folosesc un director pentru fiÅŸierele media numit "web" pe cele mai multe dintre proiectele mele:

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

Veţi avea, de asemenea, pentru a schimba TEMPLATE_DIRS tuple. Doar pune orice ai folosi. Aici 'meu de referinţă:

TEMPLATE_DIRS = (
# Pune siruri de caractere aici, cum ar fi "/ home / html / django_templates.
# Utilizaţi întotdeauna slashes înainte, chiar şi pe Windows.
'/ Usr/lib/python2.4/site-packages/my_django_project/templates/my_django_project /',
)

Setup domeniu

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

Lipiţi acest text în interiorul fişier:

<VirtualHost *>
Www.your_domain.com ServerName
Your_domain.com ServerAlias
# Trei linii de mai jos eliminaţi WWW de la numele de domeniu. Nu-mi place wwws.
RewriteEngine On
RewriteCond% (HTTP_HOST) ^ www \. Your_domain \. 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 combinate
ErrorLog / var/log/apache2/your_domain.com/error.log

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

# Directorul My own mass-media (astfel cum se menţionează în secţiunea anterioară)
<Location "/web/">
Nici unul SetHandler
</ Location>
# Necesare pentru mass-media Django lui admin fiÅŸiere
<Location "/media/">
Nici unul SetHandler
</ Location>
</ VirtualHost>

Symlink-ul dvs. de configurare nou domeniu de fişiere în directorul corect:

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

Symlink Django lui admin fiÅŸiere multimedia pentru domeniul dvs.:

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

Editaţi fişierul de configurare Apache pentru a spune aceasta adresa dvs. de IP:

  VI / etc/apache2/apache2.conf 

Lipiţi acest lucru înainte # include configuraţii gazdei virtuale: linie (este ultima înainte):

  ServerName your.slice.ip.address 

Editare rotaţie Apache jurnal pentru a include noul dvs. domeniu:

  VI / etc/logrotate.d/apache2 

Inseraţi acest lucru la sfârşitul:

  / Var/log/apache2/your_domain.com / *. log (
         pe săptămână
         missingok
         roti 52
         compress
         delaycompress
         notifempty
         a crea 640 de root adm
         sharedscripts
         postrotate
                 if [-f / var/run/apache2.pid], atunci
                         / Etc/init.d/apache2 restart> / dev / null
                 fi
         EndScript
 ) 

Server DNS

Am încercat să instalaţi serverul DNS, dar nu numai am crezut că e greu, având un singur punct de eroare este rău. Asa ca l-am semnat cu DNS-Made Easy şi te-am lasat le gestioneze acest lucru pentru mine. E simplu super, după aderarea, Adăugaţi domeniul dvs. de DNS Made Easy şi scrie în jos adresele de server DNS. Aşteptaţi până când numele de domeniu este "creat" (pentru mine, aceasta a variat de la 30 minute la 2 ore), şi schimbarea serverele DNS de la dvs. de înregistrare de nume de domeniu.

Ultima acţiune

Reporniţi Apache-o de mai mult timp:

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

Si am terminat! Cu o singură caveat: Am verificat Django "trunchi", directorul în directorul Python's. Asta înseamnă că viaţa reală a Directory Django de mai jos:

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

Ceea ce înseamnă că, dacă vrei să utilizeze în afara lui Django mod_python Apache, va trebui să adăugaţi directorul / usr/lib/python2.4/site-packages/django pentru a sys.path dumneavoastră. Sau, ai putea checkout Django la altceva undeva, şi pentru a muta "reale" Django directorul de la site-ul-pachete / (şi să modificaţi / etc/apache2/sites-available/your_domain.com) în consecinţă.

Dacă aveţi probleme, scrie ceva la comentariile aici şi voi încerca să vă ajute.

  • mat
    Post Awesome! Anunţaţi-ne dacă aveţi nevoie de ceva şi să vă bucuraţi felie dumneavoastră. Voi fi cu legătură la acest pe wiki-Slicehost şi Forum. Mulţumesc!
  • Kenzie
    Vă întrebaţi de ce-ai pus fişierele dvs. de domeniu jurnal în directorul de propriile lor? Eu doar le-a pus, în principal, / var / log / apache directorul domain.tld-access.log şi apoi logrotate mânere-le fără modificări.

    Există vreun motiv pentru a pune-le într-un director separat, altele decât o preferinţă personală?

    Great scrie-up, multumesc.
  • inerte
    Max Kenzie,

    Nici un motiv special. Cred ca este de preferinţă personală.
  • Tom
    Hi - ce distribuţie Linux, sunt folositi pe Slicehost?
  • inerte
    I sînt folosire Ubuntu.
  • Ln cazul în care "-s / etc / apache / site-uri-available / your_domain.com / etc / apache / site-uri-enabled / your_domain.com 'să fie" ln-s / etc/apache2/sites-available/your_domain.com / etc/apache2/sites-enabled/your_domain.com '?
  • inerte
    Da Jim, multumesc pentru corectare. Articolul actualizat.
  • Ahoy!
    Tu esti primul cod de recomandare pentru Slicehost care le-am găsit atunci când cu Google pentru unul, aşa că am de gând să adăugaţi a ta cum mă înscriu :-)
  • Salut,

    Multumesc pentru a scrie-up (am folosit, de asemenea, tine ca trimiterea mea) întrebări - tânăr / note:


    Esti executaţi versiunea prefork de Apache2?
    Pentru a obţine acţiuni subversive pe slice-ul meu (Django să curgă de check-out), am fugit, de asemenea, apt-get install subversiune
    Nu am putut ajunge Django-comandă Django admin.py de a lucra de la linia de comanda, asa ca am instalat django0.95 din arhiva tar, care părea să funcţioneze mai bine.


    -Joe
  • Sau pur ÅŸi simplu utilizarea pe Ubuntu

    your_domain.com a2ensite

    a2ensite este un script la îndemână care nu softlinking pentru tine
comentarii blog-ul creat de 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 reducere la gazduieste Dreamhost!
Utilizaţi "CODUL PROMO" inerţie. LAMP cu 20GB de spaţiu şi de 1TB de transfer.

Coverage

  • Nu Related Posts

Categorie