Ubuntu下在Apache中运行Keystone

  最近一次从Github上更新Keystone的代码后,发现原来bin/keystone-all和bin/keystone-manage都不见了,取而代之的是keystone/cmd/目录下的all.py和manage.py两个python脚本.虽然在测试的virtualenv环境下仍然可以执行原来的命令,但是想试着在Apache中运行Keystone,毕竟这已经是社区力推的启动方式了.

  我的系统是Ubuntu,安装了sysv-rc-conf来管理开机时启动的服务,包括Apache2, MySQL, RabbitMQ等:

# apt-get install -y sysv-rc-conf

 

  要管理系统启动时加载的服务时只要输入 # sysv-rc-conf即可, 移动光标到对应运行级的括号内按空格就可以选择或者反选.

  想要Apache加载Python服务器脚本,需要为Apache添加mod_wsgi模块,我比较喜欢简洁的方式,没有自己一步步配置,直接将其安装到Apache2中:

# apt-get install libapache2-mod-wsgi

  

  接下来要告诉Apache每次启动的时候加载Keystone,先将Keystone源码repo中httpd/wsgi-keystone.conf复制到/etc/apache2/conf-available/

# cp /home/openstack/keystone/httpd/wsgi-keystone.conf /etc/apache2/conf-available

  这里/home/openstack/keystone是我克隆Keystone源码的位置,需要根据实际情况改动. Ubuntu上Apache2的配置目录为/etc/apache2/,CentOS等系统上为/etc/httpd/,需要根据情况改动.
  

  接着在/etc/apache2/conf-enabled/目录中创建一个指向/etc/apache2/conf-available/wsgi-keystone.conf的同名软链接:

# cd /etc/apache2/conf-enabled/
# ln -s /etc/apache2/conf-available/wsgi-keystone.conf wsgi-keystone.conf

   

  然后根据需要修改/etc/apache2/conf-available/wsgi-keystone.conf文件

Listen 5000
Listen 35357<VirtualHost *:5000>WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone display-name=%{GROUP}WSGIProcessGroup keystone-publicWSGIScriptAlias / /var/www/cgi-bin/keystone/mainWSGIApplicationGroup %{GLOBAL}WSGIPassAuthorization On<IfVersion >= 2.4>ErrorLogFormat "%{cu}t %M"</IfVersion>ErrorLog /var/log/apache2/keystone.logCustomLog /var/log/apache2/keystone_access.log combined
</VirtualHost><VirtualHost *:35357>WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone display-name=%{GROUP}WSGIProcessGroup keystone-adminWSGIScriptAlias / /var/www/cgi-bin/keystone/adminWSGIApplicationGroup %{GLOBAL}WSGIPassAuthorization On<IfVersion >= 2.4>ErrorLogFormat "%{cu}t %M"</IfVersion>ErrorLog /var/log/apache2/keystone.logCustomLog /var/log/apache2/keystone_access.log combined
</VirtualHost>

  在WSGIDaemonProcess中设置启动Keystone服务器的进程数,线程数,启动服务器的用户等, 这些值需要根据具体的环境进行修改;\

  在WSGIScriptAlias处设置启动脚本的位置, 如果指定/var/www/cgi-bin/keystone/main,那么这个文件(链接)必须存在;

  在ErrorLog 处设置Keystone错误日志的路径,这个日志是由HTTPD根据Keystone的运行结果维护的,Ubuntu和红帽系的OS在Apache2的目 录名称上可能不同,比如Ubuntu中Apache2的日志维护在/var/log/apache2/, 而CentOS等系统中Apache2的日志维护在/var/log/httpd/;

  在CustomLog处设置Keystone访问日志的路径,注意事项同ErrorLog.

  

  conf文件配置完成后,创建目录/var/www/cgi-bin/keystone/, 为其中添加两个软链接main和admin,他们都指向keystone/httpd/keystone.py

# mkdir /var/www/cgi-bin/keystone; cd /var/www/cgi-bin/keystone
# ln -s /home/openstack/keystone/httpd/keystone.py main
# ln -s /home/openstack/keystone/httpd/keystone.py admin

  

  然后重启Apache2服务即可,如果希望开机时Keystone就加载运行,使用sysv-rc-conf将Apache2设置为开机启动即可.

  查看Keystone服务器进程,发现现在它已经在HTTPD中运行了,注意如果keystone.conf文件中也配置了日志文件log_file, 那么Keystone的错误日志将会输出两份,一份由HTTPD维护,一份由Keystone维护,但是二者的内容是一样的.

# ps aux | grep keystone
darren    2582  0.0  0.1 176308  5692 ?        Sl   12:29   0:00 (wsgi:keystone-pu -k start
darren    2583  0.0  0.1 176308  5692 ?        Sl   12:29   0:00 (wsgi:keystone-pu -k start
darren    2584  0.0  0.1 176308  5692 ?        Sl   12:29   0:00 (wsgi:keystone-pu -k start
darren    2585  0.0  0.1 176308  5692 ?        Sl   12:29   0:00 (wsgi:keystone-pu -k start
darren    2586  0.0  0.1 176316  5692 ?        Sl   12:29   0:00 (wsgi:keystone-pu -k start
darren    2587  0.0  0.1 176308  5692 ?        Sl   12:29   0:00 (wsgi:keystone-ad -k start
darren    2588  0.0  0.1 176316  5692 ?        Sl   12:29   0:00 (wsgi:keystone-ad -k start
darren    2589  0.0  0.1 176308  5692 ?        Sl   12:29   0:00 (wsgi:keystone-ad -k start
darren    2590  0.0  0.1 176308  5692 ?        Sl   12:29   0:00 (wsgi:keystone-ad -k start
darren    2591  0.0  0.1 176308  5692 ?        Sl   12:29   0:00 (wsgi:keystone-ad -k start

 

转载于:https://www.cnblogs.com/Security-Darren/p/4458728.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/375095.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redhat linux7.0的安装

选择第一个 我选择中文 点击开始安装 设置root用户密码 完成如上图所示 我在网上找了一个redhat7.0镜像供大家使用 链接&#xff1a;https://pan.baidu.com/s/1WhG8BGZTZawDKTNlaAvzRg 提取码&#xff1a;uzpd

鸟哥

bc计算器 scale4 小数是4位 whatis ls make what is ls --helpman lsman -k passinfo pass [rootcentos01 ~]# ls /etc/init.d/ #服务所在的文件夹 [rootcentos01 ~]# runlevel #查找自己在哪个级别 n 表示上一个没有N 5-bash-4.1# init 3 #切换到3级别的服务 级别0 关机模式级…

[奇葩 bug]视图在 ipad5 上正常显示,在 iPad3上超出了边界

一,问题分析 1.理论上 iPad 是按像素点排列的,可 iPad5为什么和 iPad3差别那么大??? 2.iPad3超出边界的视图,都有一个 leading 是superview 的 leading 加上-20.感觉是这个地方有问题. 3.重新添加一下约束,去掉了那个默认的 constraint 选项,就没有那个-20的差值了.运行后发…

VMware虚拟机安装

创建新的虚拟机&#xff1a;在 VMWare 中创建虚拟机&#xff0c;要求设置内存大小为 1G&#xff0c;CPU 为 2&#xff0c;硬盘大小自行选择&#xff0c;网络连接采用 NAT 模式&#xff0c;其他保持默认即可 上面是安装啥系统就选啥系统 下一步 下一步 磁盘大小按自己需求来

二叉树算法:中序、后序推导先序(数组递归实现 【*模板】)

中根序列和后根序列重建二叉树 描述我们知道如何按照三种深度优先次序来周游一棵二叉树&#xff0c;来得到中根序列、前根序列和后根序列。反过来&#xff0c;如果给定二叉树的中根序列和后根序 列&#xff0c;或者给定中根序列和前根序列&#xff0c;可以重建一二叉树。本题输…

福昕熊雨前:PDFium开源项目的背后

今天编译android的时候&#xff0c;无意中看到命令行提示出输出编译external/pdfium这个目录&#xff0c;于是乎上百度搜索了一下&#xff0c;找到了如下关于PDF文件解析的开源代码的文章&#xff1a; http://www.csdn.net/article/2014-06-23/2820351-Why-Foxit-Open-Sourced-…

Windows主机安全加固

Windows主机安全加固 账户安全 更名administrator本地用户并禁用guest账户步骤: 点击“开始”,找到“管理工具”,点击里面的“计算机管理”,找到“本地用户和组”

JS笔记 入门第四

小测试:注意:取消所有的设定可以直接使用document.getElementById("txt").removeAttribute("style");这个是个神奇的东西.<!DOCTYPE HTML><html><head><meta http-equiv"Content-Type" Content"text/html; charsetutf…

数论神题——进击的羊角兽

数论神题 进击的羊角兽 题目描述&#xff1a; 求满足 \(ab|ab(a,b \leq n,a \neq b)\)的有序数对\((a,b)\)的个数。 solution 设\((a,b)d , (a < b \leq n)\),则$ axd , byd , ( x < y )$ \(ab|ab\) \((xy)d|xyd^2\) \(\because (xy, x)1,(xy, y)1\) \(\therefore (xy)|d…

靶场练习第一天~vulnhub靶场之Me-and-My-Girlfriend-1

兄弟们第一天打vulnhub靶场&#xff0c;我kali连靶场ip都扫不到&#xff0c;泪奔了&#xff0c;不说了开整 注意&#xff1a; vm虚拟机里面的编辑下面的虚拟机网络编辑器&#xff0c;把除了NAT模式外的模式&#xff0c;其他模式不启动。 至于为什么要这样操作&#xff0c;感觉…

ubuntu的网络配置

1&#xff0c;检查网络是否通畅 ping www.baidu.com 2&#xff0c;检查网线是否插好 3&#xff0c;使用ifconfig查看当前活跃网络接口 ifconfig 4&#xff0c;配置IP地址、子网掩码、网关地址 sudo vi /etc/network/interfaces 确保此文件中有以下信息&#xff1a;&#xff08;…

pstree 命令详解

作用&#xff1a; 以命令树状图的方式展现进程之间的派生关系&#xff0c; 显示效果比较直观。 选项&#xff1a;-a 显示每个程序的完整指令&#xff0c; 包含路径&#xff0c; 参数或者是常驻服务的标志-c 不使用精简标示法-h 列出树状图&#xff0c;特别标明现在执行的程序-l…

ubuntu 开发板ping通虚拟机挂载nfs服务器

先.nfs服务配置1.设置开发板ip &#xff0c;同一网段2.开发板上操作&#xff1a;ifconfig eth0 192.168.1.203.测试是否能够ping通&#xff1a;ping 192.168.1.194.测试开发板ip是否被占用&#xff1a; 在主机上&#xff1a;sudo ifconfig eth0 down,看开发板上的ip是否断开。重…

靶场练习第二天~vulnhub靶场之 THE PLANETS: EARTH

前期准备&#xff1a; 靶机下载链接: https://pan.baidu.com/s/1_w8OZOPVsQaojq2rnKcdRA 提取码: gguw kali攻击机ip&#xff1a;192.168.101.10 靶机地址&#xff1a;192.168.101.101 一、信息收集 1.nmap扫描 因为kali与靶机在同一个网段下&#xff0c;使用nmap 192.168…

测试与封装5.1

我的队友是52吴舒婷&#xff0c;博客内容主要是白盒黑盒的测试数据分析 我们通过简单的四则运算来进行程序的测试与封装 我们主要完成的是事情 &#xff08;1&#xff09;封装&#xff1a;将运算要运用的方法进行封装 文件主要有三个&#xff1a;Calculate&#xff08;存放运算…

springmvc学习笔记--mybatis--使用插件自动生成实体和mapper

由于表对象在开发过程中会增删字段&#xff0c;有时候需要重新生成实体和对应的mapper&#xff0c;这时候可以通过mybatis的插件的生成。 优点是快速简洁&#xff0c;缺点同样很明显&#xff1a;覆盖。因此&#xff0c;通常是在第一次搭建框架的时候使用&#xff0c;因为开发过…

靶场练习第三天~vulnhub靶场之narak

靶机下载链接: https://pan.baidu.com/s/1GxcSL6efwd0GcbY45WsD0A 提取码: dhr5 一、信息收集 1.使用namp 192.168.101.0/24扫描该网段的地址&#xff0c;寻找靶机IP 2.直接访问192.168.101.102 3.进行目录扫描&#xff0c;dirb目录扫描工具&#xff08;kali自带的&#xff…

hdu 1754 块状链表 单点修改+单点查询

经典的线段树题目&#xff0c;也可以用块状链表做。 1 #include <iostream>2 #include <cstring>3 #include <cstdio>4 #include <cmath>5 using namespace std;6 7 const int N 200000;8 const int M 800;9 int n, m, tot;10 11 int max( int a, in…

靶场练习第四天~vulnhub靶场之Lazysysadmin

靶机下载链接: https://pan.baidu.com/s/1MMkgaYLRc78YX4s6nvqdjQ 提取码: djpm 信息收集 查看kali的IP 使用nmap 192.168.101.0/24 探测靶机IP 发现开放445端口&#xff0c;并且开放的服务microsoft-ds。可以用enum4linux工具来扫描共享文件&#xff0c;使用方法: enum4linux…

关于代码手写UI,xib和StoryBoard

代码手写UI 这种方法经常被学院派的极客或者依赖多人合作的大型项目大规模使用。Geek们喜欢用代码构建UI&#xff0c;是因为代码是键盘敲出来的&#xff0c;这样可以做到不开IB&#xff0c;手不离开键盘就完成工作&#xff0c;可以专注于编码环境&#xff0c;看起来很cool很高效…