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.pswp.cn/news/375095.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375095.shtml
英文地址,請注明出處:http://en.pswp.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很高效…