Add wsgi script file and sample config
In addition, the port of zun-api is inconsistent. The devstack script used 9517 and others used 9512. This commit changed to port 9517 in everywhere. Implements: blueprint deploy-zun-api-in-wsgi Change-Id: I08818e417945338d5de5de473f8adc9bf9d63bdc
This commit is contained in:
parent
257d99209f
commit
a270964a50
@ -146,11 +146,11 @@ Configure the keystone endpoint::
|
|||||||
--description="Zun Container Service" \
|
--description="Zun Container Service" \
|
||||||
container
|
container
|
||||||
openstack endpoint create --region RegionOne container public \
|
openstack endpoint create --region RegionOne container public \
|
||||||
http://127.0.0.1:9512/v1
|
http://127.0.0.1:9517/v1
|
||||||
openstack endpoint create --region RegionOne container internal \
|
openstack endpoint create --region RegionOne container internal \
|
||||||
http://127.0.0.1:9512/v1
|
http://127.0.0.1:9517/v1
|
||||||
openstack endpoint create --region RegionOne container admin \
|
openstack endpoint create --region RegionOne container admin \
|
||||||
http://127.0.0.1:9512/v1
|
http://127.0.0.1:9517/v1
|
||||||
|
|
||||||
Start the API service in a new screen::
|
Start the API service in a new screen::
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ Contents
|
|||||||
installation
|
installation
|
||||||
usage
|
usage
|
||||||
contributing
|
contributing
|
||||||
|
mod_wsgi
|
||||||
|
|
||||||
Indices and tables
|
Indices and tables
|
||||||
==================
|
==================
|
||||||
|
55
doc/source/mod_wsgi.rst
Normal file
55
doc/source/mod_wsgi.rst
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
..
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
not use this file except in compliance with the License. You may obtain
|
||||||
|
a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
License for the specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
|
||||||
|
===================================
|
||||||
|
Installing the API behind mod_wsgi
|
||||||
|
===================================
|
||||||
|
|
||||||
|
Zun comes with a few example files for configuring the API
|
||||||
|
service to run behind Apache with ``mod_wsgi``.
|
||||||
|
|
||||||
|
app.wsgi
|
||||||
|
========
|
||||||
|
|
||||||
|
The file ``zun/api/app.wsgi`` sets up the V2 API WSGI
|
||||||
|
application. The file is installed with the rest of the zun
|
||||||
|
application code, and should not need to be modified.
|
||||||
|
|
||||||
|
etc/apache2/zun.conf
|
||||||
|
======================
|
||||||
|
|
||||||
|
The ``etc/apache2/zun.conf`` file contains example settings that
|
||||||
|
work with a copy of zun installed via devstack.
|
||||||
|
|
||||||
|
.. literalinclude:: ../../../etc/apache2/zun.conf
|
||||||
|
|
||||||
|
1. On deb-based systems copy or symlink the file to
|
||||||
|
``/etc/apache2/sites-available``. For rpm-based systems the file will go in
|
||||||
|
``/etc/httpd/conf.d``.
|
||||||
|
|
||||||
|
2. Modify the ``WSGIDaemonProcess`` directive to set the ``user`` and
|
||||||
|
``group`` values to an appropriate user on your server. In many
|
||||||
|
installations ``zun`` will be correct. Modify the ``WSGIScriptAlias``
|
||||||
|
directive to set the path of the wsgi script. If you are using devstack,
|
||||||
|
the value should be ``/opt/stack/zun/zun/api/app.wsgi``. In the
|
||||||
|
``ErrorLog`` and ``CustomLog`` directives, replace ``%APACHE_NAME%`` with
|
||||||
|
``apache2``.
|
||||||
|
|
||||||
|
3. Enable the zun site. On deb-based systems::
|
||||||
|
|
||||||
|
$ a2ensite zun
|
||||||
|
$ service apache2 reload
|
||||||
|
|
||||||
|
On rpm-based systems::
|
||||||
|
|
||||||
|
$ service httpd reload
|
40
etc/apache2/zun.conf
Normal file
40
etc/apache2/zun.conf
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
# This is an example Apache2 configuration file for using the
|
||||||
|
# zun API through mod_wsgi.
|
||||||
|
|
||||||
|
# Note: If you are using a Debian-based system then the paths
|
||||||
|
# "/var/log/httpd" and "/var/run/httpd" will use "apache2" instead
|
||||||
|
# of "httpd".
|
||||||
|
#
|
||||||
|
# The number of processes and threads is an example only and should
|
||||||
|
# be adjusted according to local requirements.
|
||||||
|
|
||||||
|
Listen 9517
|
||||||
|
|
||||||
|
<VirtualHost *:9517>
|
||||||
|
WSGIDaemonProcess zun-api user=%USER% group=%GROUP% processes=5 threads=1 display-name=%{GROUP}
|
||||||
|
WSGIScriptAlias / %PUBLICWSGI%
|
||||||
|
WSGIProcessGroup zun-api
|
||||||
|
|
||||||
|
ErrorLog /var/log/%APACHE_NAME%/zun_error.log
|
||||||
|
LogLevel info
|
||||||
|
CustomLog /var/log/%APACHE_NAME%/zun_access.log combined
|
||||||
|
|
||||||
|
<Directory /opt/stack/zun/zun/api>
|
||||||
|
WSGIProcessGroup zun-api
|
||||||
|
WSGIApplicationGroup %{GLOBAL}
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
</VirtualHost>
|
24
zun/api/app.wsgi
Normal file
24
zun/api/app.wsgi
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
"""Use this file for deploying the API under mod_wsgi.
|
||||||
|
See http://pecan.readthedocs.org/en/latest/deployment.html for details.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from zun.common import service
|
||||||
|
from zun.api import app
|
||||||
|
|
||||||
|
# Initialize the oslo configuration library and logging
|
||||||
|
service.prepare_service(sys.argv)
|
||||||
|
application = app.load_app()
|
@ -16,7 +16,7 @@ from zun.common.i18n import _
|
|||||||
|
|
||||||
api_service_opts = [
|
api_service_opts = [
|
||||||
cfg.PortOpt('port',
|
cfg.PortOpt('port',
|
||||||
default=9512,
|
default=9517,
|
||||||
help='The port for the zun API server.'),
|
help='The port for the zun API server.'),
|
||||||
cfg.IPOpt('host_ip',
|
cfg.IPOpt('host_ip',
|
||||||
default='127.0.0.1',
|
default='127.0.0.1',
|
||||||
|
Loading…
Reference in New Issue
Block a user