[ English | English (United Kingdom) | 中文 (简体, 中国) | Indonesia | русский | français | नेपाली | Deutsch | Esperanto | português (Brasil) | español | 한국어 (대한민국) ]
Permana instalado¶
Ĉi tiu paĝo kovras la bazan instaladon de horizon en produkta medio. Se vi serĉas programista medion, vidu: ref: quickstart.
Por la sistemaj dependecoj, vidu: doc: ‘system-requirements’.
Instalado¶
Note
En la sekvaj komandoj, anstataŭigu “<release>” kun via versio elektita, kiel “queens” aŭ “rocky”.
Se vi uzas la evoluigan version, anstataŭigu “stable/<release>” kun “master”.
Klonu Horizon
$ git clone https://opendev.org/openstack/horizon -b stable/<release> --depth=1 $ cd horizon
Instalu la horizon python modulon en vian sistemon
$ sudo pip install -c https://opendev.org/openstack/requirements/raw/branch/stable/<release>/upper-constraints.txt .
Konfiguron¶
Ĉi tiu sekcio enhavas malgrandan resumon de la kritikaj agordoj necesaj por kuri horizon. Por pliaj detaloj, bonvolu rilati al :ref: install-settings.
Agordoj¶
Create openstack_dashboard/local/local_settings.py
. It is usually a good
idea to copy openstack_dashboard/local/local_settings.py.example
and
edit it. As a minimum, the follow settings will need to be modified:
DEBUG
Agordi al
False
ALLOWED_HOSTS
Agordu al vian domajno nomo(j)n
OPENSTACK_HOST
Agordu al la IP de via Keystone finpunkto. Vi eble bezonas ŝanĝi
OPENSTACK_KEYSTONE_URL
Note
La sekvaj paŝoj en la sekcio “Agordo” estas laŭvolaj, sed tre rekomendindaj en produktado.
Tradukoj¶
Kompili tradukajn mesaĝo katalogojn por internaciigo. Ĉi tiu paŝo ne estas necesa, se vi ne bezonas subteni lingvojn krom la US angla. La GNU gettext
ilo estas necesa por kompili mesaĝajn katalogojn.
$ sudo apt install gettext
$ ./manage.py compilemessages
Statikaj Aĵoj¶
Densigi viajn statikajn dosierojn aldonante COMPRESS_OFFLINE = True
al viaj local_settings.py
, tiam kuru la sekvajn komandojn
$ ./manage.py collectstatic
$ ./manage.py compress
Protokolado¶
Horizon uzas la mekanismon de agordo de protokolado de Django, kiu povas esti personecigita ŝanĝante la LOGGING
vortaro en local_settings.py
. Defaŭlte, la protokolada ekzemplo de Horizon agordas la log-nivelon al `` INFO``.
Horizon ankaŭ uzas kelkajn ekstera-liveranto (3rd-party) klientojn, kiuj protokoladas aparte. La log-nivelo por ĉi tiuj ankoraŭ povas esti kontrolita per la agordo de LOGGING
de Horizon, tamen kondutoj povas varii preter la kontrolo de Horizon.
Por pliaj informoj pri agordado de protokolado en Horizon, bonvolu legi la Django-logging-directive kaj la Python-logging-directive dokumentado. Horizon estas konstruita sur Python kaj Django.
Seanco Memorilo¶
Horizon uzas la Seanca Framo de Django por manipuli seanco-datumon. Ekzistas multaj seancoj, kiuj estas elektitaj per la SESSION_ENGINE
en via `` local_settings.py``-dosiero.
Memcached¶
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyMemcacheCache',
'LOCATION': 'controller:11211',
}
}
Ekstera kaŝmemorigado uzante aplikaĵon kiel memcached ofertas persistadon kaj komunan memorilon, kaj povas esti tre utila por malgrandskala disponigo kaj / aŭ disvolviĝo. Tamen, por distribuitaj kaj treaj-disponeblaj scenaroj memcached havas proprajn problemojn, kiuj estas preter la amplekso de ĉi tiu dokumentado.
Postuloj:
Memcached servo kuranta kaj alirebla
Python memcached modulo instalita
Datumbazo¶
SESSION_ENGINE = 'django.core.cache.backends.db.DatabaseCache'
DATABASES = {
'default': {
# Database configuration here
}
}
Datumbazo-subtenitaj seancoj estas skaleblaj (uzante taŭgan datumbazan strategion), persista, kaj povas esti alt-konkuraj kaj tre-disponebla.
La malfacilaĵo al ĉi tiu aliro estas, ke datumbazoj-subtenitaj seancoj estas unu el la pli malrapidaj memorilaj seancoj, kaj kaŭzas aldonan superfluon sub peza uzado. Propra agordo de via datumbazo disponigo povas ankaŭ esti grava entrepreno kaj ne estas parto de ĉi tiu dokumentado.
Kaŝmemorigita Datumbazo¶
Por mildigi la rendimentajn problemojn de datumbazoj, vi povas ankaŭ konsideri uzadon de la cached_db
seanco de la interno de Django, kiu uzas vian datumbazon kaj kaŝmemoran infrastrukturon por realigi skrib-tra (write-through) caching kaj efika reakiro. Vi povas ebligi ĉi tiun hibridan agordon per agordado de via datumbazo kaj kaŝmemoro kiel diskutante supre kaj poste uzante
SESSION_ENGINE = "django.contrib.sessions.backends.cached_db"
Disponigo¶
Agordu retservilon kun WSGI-subteno. Ekzemple instali la Apache retservilon sur Ubuntu
$ sudo apt install apache2 libapache2-mod-wsgi
Vi povas uzi kaj la provizita
openstack_dashboard/wsgi.py
aŭ kreiopenstack_dashboard/horizon_wsgi.py
dosiero kun la sekva komando (kiu detektas, ĉu vi uzas virtulan medion aŭ ne por aŭtomate krei adaptitan WSGI dosieron)$ ./manage.py make_web_conf --wsgi
Poste agordu la retservilon por gastigi OpenStack-panelon per WSGI. Por apache2 retservilo, vi eble bezonos krei
/etc/apache2/sites-available/horizon.conf
. La ŝablono en DevStack estas bona ekzemplo de la dosiero. https://opendev.org/openstack/devstack/src/branch/master/files/apache-horizon.template. Aŭ vi povas aŭtomate generi apaĉan agordan dosieron. Se vi antaŭe generis dosieronopenstack_dashboard/horizon_wsgi.py
ĝi uzos tion, alie defaŭlte uzosopenstack_dashboard/wsgi.py
$ ./manage.py make_web_conf --apache > /etc/apache2/sites-available/horizon.conf
Same kiel supre sed se vi volas SSL-subtenon
$ ./manage.py make_web_conf --apache --ssl --sslkey=/path/to/ssl/key --sslcert=/path/to/ssl/cert > /etc/apache2/sites-available/horizon.conf
Defaŭlte la apache agordo lanĉos kelkajn apache procezojn egalajn al la numero de CPUs + 1 de la maŝino, sur kiu vi lanĉos la komandon
make_web_conf
. Se la cela maŝino ne estas la sama aŭ se vi volas specifi la nombron de procezoj, aldonu la opcion--processes
$ ./manage.py make_web_conf --apache --processes 10 > /etc/apache2/sites-available/horizon.conf
Ebligu la antaŭan agordon kaj restartu la servilon
$ sudo a2ensite horizon $ sudo service apache2 restart
Sekvaj paŝoj¶
Settings Reference listigas la disponeblajn agordojn por horizon.
: ref: ‘instali-agordi’ priskribas kiel agordi horizon.