国产精品第十页,一区二区日韩伦理片,久久久国产91http://www.shnenglu.com/lambdacpp/for_each(day.begin(),day.end(),bind2nd(Add(),me))zh-cnSun, 14 Dec 2025 08:02:58 GMTSun, 14 Dec 2025 08:02:58 GMT60OpenLDAP啟動(dòng)與配置http://www.shnenglu.com/lambdacpp/archive/2010/12/25/137454.html五點(diǎn)半五點(diǎn)半Sat, 25 Dec 2010 09:07:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2010/12/25/137454.htmlhttp://www.shnenglu.com/lambdacpp/comments/137454.htmlhttp://www.shnenglu.com/lambdacpp/archive/2010/12/25/137454.html#Feedback0http://www.shnenglu.com/lambdacpp/comments/commentRss/137454.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/137454.html啟動(dòng)slapd
不論是包安裝還是編譯安裝的OpenLDAP服務(wù),啟動(dòng)LDAP服務(wù)通常使用類似這樣的方式運(yùn)行:
 /usr/sbin/slapd -h ldap:/// ldapi:/// -g openldap -u openldap -/etc/ldap/slapd.d/



 如果沒(méi)有任何的配置是否可以啟動(dòng)slapd呢?

$mkdir ldap_slapd.d
$
/usr/sbin/slapd -65535 -h ldap://localhost:3890 -F ldap_slapd.d

系統(tǒng)提示沒(méi)有配置目錄中沒(méi)有 cn=config.ldif 文件

 最簡(jiǎn)單的配置

現(xiàn)在在配置目錄中寫一個(gè)最簡(jiǎn)單的配置:
$cat ldap_slapd.d/cn=config.ldif
dn
: cn=config
objectClass
: olcGlobal
cn
: config
$
/usr/sbin/slapd -65535 -h ldap://localhost:3890 -F ldap_slapd.d

 成功啟動(dòng)!在ldap_slapd.d下生成了cn=config 目錄并且將基本的schema自動(dòng)的導(dǎo)入了,從運(yùn)行日志中也可以看到這些。
  通過(guò)這個(gè)例子可以看到slapd運(yùn)行的過(guò)程,但這樣一個(gè)沒(méi)有實(shí)際Backend數(shù)據(jù)庫(kù)的slapd實(shí)例是沒(méi)有實(shí)際意義的。

 配置

slapd的配置就是運(yùn)行的關(guān)鍵,在新版OpenLDAP中,LDAP配置不再是slapd.conf,而是一系列的配置文件,放置在一個(gè)配置目錄下。LDAP將這個(gè)目錄看成一種Backend,也就是config backend。配置目錄中是若干的ldif文件,然后通過(guò)子目錄的方式表現(xiàn)樹形結(jié)構(gòu),以文件名表示配置節(jié)點(diǎn)的名稱。

 slapd.d 目錄

LDAP的配置Backend包含3個(gè)內(nèi)容:Schema、Backend、Database,都以ldif方式直接寫在配置文件中。backend和database配置相對(duì)較小可直接編輯,而schema比較復(fù)雜,如有外部定義的schema更是麻煩,如果直接編輯很麻煩也容易出錯(cuò)。好在可以使用slaptest將舊式的.conf文件生成新配置。
實(shí)際上,slaptest的功能還不止這個(gè),它還負(fù)責(zé)創(chuàng)建基本的數(shù)據(jù)庫(kù)文件。最新版的OpenLDAP在安裝后還是使用slapd.conf作為配置文件,然后在運(yùn)行前創(chuàng)建配置Backend。

 slapd.conf 

slapd.conf由2個(gè)部分,先include schema文件,然后配置database。要注意后面database內(nèi)容的語(yǔ)法是依賴core.schema的,所以沒(méi)有 include core.schema,后面的內(nèi)容是不符合語(yǔ)法的。
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /user/defined/special.schema


database        bdb
suffix          
"dc=example,dc=com"
rootdn          
"cn=admin,dc=example,dc=com"
rootpw          secret
directory       /ldap/data/dir
index   objectClass     eq

 slaptest

運(yùn)行:
$sudo /usr/bin/slaptest -f schema.conf -/etc/ldap/slapd.d

slaptest要完成2個(gè)工作:將按schema生成schema.ldif配置,然后在指定的目錄下初始化bdb文件。


五點(diǎn)半 2010-12-25 17:07 發(fā)表評(píng)論
]]>
cron配置http://www.shnenglu.com/lambdacpp/archive/2010/02/20/108097.html五點(diǎn)半五點(diǎn)半Sat, 20 Feb 2010 07:30:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2010/02/20/108097.htmlhttp://www.shnenglu.com/lambdacpp/comments/108097.htmlhttp://www.shnenglu.com/lambdacpp/archive/2010/02/20/108097.html#Feedback0http://www.shnenglu.com/lambdacpp/comments/commentRss/108097.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/108097.html那天用Cron配置了一個(gè)MySQL數(shù)據(jù)庫(kù)自動(dòng)備份。幾天下來(lái)才發(fā)現(xiàn)沒(méi)有運(yùn)行。瞎搞了半天,沒(méi)有結(jié)果。最后在需要執(zhí)行的命令下加個(gè) > /tmp/b.log 2>&1。一看錯(cuò)誤日志。哦,原來(lái)找cron不知道m(xù)ysqldump在哪兒。恍然大悟。
cron在運(yùn)行的時(shí)候可能PATH變量沒(méi)有那么多,所以好多命令需要在腳本中加入完整的路徑。其實(shí)我已經(jīng)是第2次遇到這個(gè)問(wèn)題了!真是不長(zhǎng)記性啊,所以一定要記下!!
還有怎么沒(méi)有一開始就把日志輸出。UNIX管理員不看日志,看什么呢?這兩天過(guò)年肥肉吃多了說(shuō)。日志!切記啊!


五點(diǎn)半 2010-02-20 15:30 發(fā)表評(píng)論
]]>
OpenSSH下SFTP的配置http://www.shnenglu.com/lambdacpp/archive/2009/12/02/102409.html五點(diǎn)半五點(diǎn)半Wed, 02 Dec 2009 13:04:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2009/12/02/102409.htmlhttp://www.shnenglu.com/lambdacpp/comments/102409.htmlhttp://www.shnenglu.com/lambdacpp/archive/2009/12/02/102409.html#Feedback3http://www.shnenglu.com/lambdacpp/comments/commentRss/102409.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/102409.htmlOpenSSH網(wǎng)站上那只SSH刺河豚將FTP埋葬

有關(guān)sftp有人推薦www.ssh.com的實(shí)現(xiàn),不過(guò)我更喜歡開源的產(chǎn)品,特別是Open系列的安全產(chǎn)品。

需求

首先我們明確我們的目標(biāo),我們是希望通過(guò)SFTP代替FTP,需求是這樣的:
  1. 這些用戶只能通過(guò)SFT訪問(wèn)服務(wù)器
  2. 用戶要鎖定在相應(yīng)的目錄下
我想通常的思路是這樣的:
  1. 打開OpenSSH的SFTP
  2. 將這些用戶設(shè)置在一個(gè)
  3. 讓OpenSSH識(shí)別這個(gè)組,只允許這些用戶使用SFTP
  4. 最后系統(tǒng)要自動(dòng)的將用戶chroot在用戶目錄下

配置

我開始都覺(jué)得是不是要求太高,不過(guò)OpenSSH可以解決以上所有問(wèn)題。話說(shuō)回來(lái),如果不能解決怎么可以把FTP埋葬呢。

SSHD_CONFIG

sshd通常是打開了sftp的,不過(guò)我們應(yīng)該使用internal-sftp在sshd_conf中作如下配置:
 1 # Subsystem sftp /usr/lib/openssh/sftp-server # 注釋掉
 2 Subsystem sftp internal-sftp
 3 
 4 ##
 5 Match group sftponly
 6     ChrootDirectory /sftphome/%u
 7     X11Forwarding no
 8     AllowTcpForwarding no
 9     ForceCommand internal-sftp
10 
解釋一下:當(dāng)sshd匹配到sftponly組中的用戶,就會(huì)強(qiáng)制使用sftp(ForceCommand的作用),并將用戶限定在/sftphome/下相應(yīng)用戶的目錄下(ChrootDirectory的作用)。

創(chuàng)建用戶

我們需要?jiǎng)?chuàng)建相應(yīng)的用戶了:

#useradd -G sftponly -d /sftphome/sftpuser  -s /usr/sbin/nologin sftpuser
#tail /etc/password

sftpuser:x:
1000:1000::/sftphome/sftpuser:/usr/sbin/nologin
#passwd sftpuser
你可以在其他機(jī)器上用sftp登錄試試了。你的連接將會(huì)被reset!去看看sshd的日志,你會(huì)發(fā)現(xiàn)pam.d的認(rèn)證是通過(guò)了的,但是chroot失敗了。按網(wǎng)絡(luò)上的說(shuō)法
#chown root /sftphome/sftpuser
#chmod 
755 /sftphome/sftpuser
再試,可以登錄。新的問(wèn)題是不能在此目錄下寫入。對(duì)的嘛,755對(duì)于組用戶是不能寫啊。再試試775,剛才的問(wèn)題就來(lái)又了,chroot失敗。

以上內(nèi)容網(wǎng)絡(luò)上一google一大把。

可以登錄不能寫這個(gè)問(wèn)題真讓人困惑!后來(lái)我想可能應(yīng)該這樣理解:既然要chroot,那個(gè)目錄不屬于root肯定是不行的(說(shuō)錯(cuò)了,猛拍磚)。那我們就不能為用戶提供完整的sftp服務(wù)了嗎?我想可以這樣
#mkdir /sftphome/sftpuser/space
#chown sftpuser.sftpuser /sftphome/sftpuser/space
由系統(tǒng)管理員為sftp用戶提供一個(gè)目錄,并設(shè)置其用戶屬性,用戶在這個(gè)目錄下用戶是可寫的。當(dāng)然可以創(chuàng)建很多個(gè)。

這樣算不算解決這個(gè)問(wèn)題呢?暫且如此吧。如果您有好方法,一定告知哦。




五點(diǎn)半 2009-12-02 21:04 發(fā)表評(píng)論
]]>
應(yīng)用中的MySQL服務(wù)器部署Replicationhttp://www.shnenglu.com/lambdacpp/archive/2009/08/14/93378.html五點(diǎn)半五點(diǎn)半Fri, 14 Aug 2009 14:39:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2009/08/14/93378.htmlhttp://www.shnenglu.com/lambdacpp/comments/93378.htmlhttp://www.shnenglu.com/lambdacpp/archive/2009/08/14/93378.html#Feedback0http://www.shnenglu.com/lambdacpp/comments/commentRss/93378.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/93378.html本文記錄如何給一臺(tái)應(yīng)用中的MySQL服務(wù)器部署Replication。

安裝環(huán)境

現(xiàn)有MySQL
現(xiàn)有MySQL服務(wù)器的特點(diǎn):
  1. 沒(méi)有專門為Replication環(huán)境配置
  2. MySQL為編譯安裝
  3. MySQL處于運(yùn)行狀態(tài),不可長(zhǎng)時(shí)間停機(jī)
目的

將現(xiàn)有服務(wù)器作為Master服務(wù)器,配置并運(yùn)行一臺(tái)新的MySQL服務(wù)器作為Slave服務(wù)器

準(zhǔn)備
  1. 服務(wù)器硬件
  2. 現(xiàn)有主服務(wù)器的安裝代碼包(mysql-5.x.xxx.tar.gz)

主服務(wù)器的配置和數(shù)據(jù)準(zhǔn)備

Master服務(wù)器的必須配置
要使用Replication必須將Master的binlog打開,并設(shè)置服務(wù)器ID。最簡(jiǎn)單的配置如下:
log-bin     =  mysql-bin
server-id = 1
當(dāng)然關(guān)于MySQL Bin Log的配置還有很多設(shè)置,可以參考相關(guān)手冊(cè)
數(shù)據(jù)備份
現(xiàn)在需要將Master的數(shù)據(jù)備份出來(lái)要注意的是要記住 備份點(diǎn)的binlog日志和postion 。Master數(shù)據(jù)備份的方式可以是停機(jī)冷備份,如果安裝了LVM可以使用LVM的Snapshot。下面使用mysqldump 導(dǎo)出數(shù)據(jù)。在導(dǎo)出數(shù)據(jù)之前我們應(yīng)該Flush表,并鎖住表,比允許數(shù)據(jù)寫入。
mysql> FLUASH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000157 | 18757860 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
使用mysqldump導(dǎo)出數(shù)據(jù)
mysql:~# mysqldump -uroot -p --all-databases > dump.sql
解鎖
mysql> UNLOCK TABLES;
安裝參數(shù)的提取
需要在Slave主機(jī)編譯安裝MySQL要了解Master安裝時(shí)的編譯參數(shù),可以通過(guò)如下方式獲得:
mysql:~# cat /usr/local/mysql/bin/mysqlbug | grep CONFIGURE
repl用戶創(chuàng)建
在Master服務(wù)器中創(chuàng)建repl用戶,用于在Slave 數(shù)據(jù)庫(kù)中訪問(wèn)Master數(shù)據(jù)
mysql> GREANT REPLICATION SLAVE ON *.* to 'repl'@'IP.SLAVE.SERVER' identified by 'repl_passwd';

Slave服務(wù)器的安裝

MySQL的安裝
  • 按前面提取的configure參數(shù)對(duì)源代碼進(jìn)行編譯(./configure; make; make install;)
  • 安裝初始化數(shù)據(jù)庫(kù):
#mysql_install_db --datadir=/data --user=mysql
  • 參照@{mysql-src}/support-files/目錄中my.cnf文件在/etc/下創(chuàng)建@my.cnf
  • 參照@{mysql-src}/support-files/mysql.server@文件在@/etc/init.d/下配置@mysqldb
  • 可嘗試啟動(dòng)mysql。 /etc/init.d/mysqldb start
數(shù)據(jù)的導(dǎo)入
mysql# mysql -uroot -p < dump.sql

如果導(dǎo)入出現(xiàn)超出最大數(shù)據(jù)包錯(cuò)誤可以嘗試修改my.cnf中的max_allow_packet

在my.cnf中配置slave
在my.cnf中配置:
server-id       =  2
master-host = master_ip
master-user = repl
master-password = repl_passwd
在Slave服務(wù)器上啟動(dòng)Slave
mysql> STOP SLAVE;
mysql> CHANGE MASTER TO
MASTER_HOST='masterip',
 MASTER_USER='repl',
 MASTER_PASSWORD='repl_passwd',
 MASTER_LOG_FILE='mysql-bin.000157',
MASTER_LOG_POS=18757860 ;
mysql> START SLAVE;



五點(diǎn)半 2009-08-14 22:39 發(fā)表評(píng)論
]]>
Hatta Wiki試用http://www.shnenglu.com/lambdacpp/archive/2009/03/20/77329.html五點(diǎn)半五點(diǎn)半Fri, 20 Mar 2009 08:55:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2009/03/20/77329.htmlhttp://www.shnenglu.com/lambdacpp/comments/77329.htmlhttp://www.shnenglu.com/lambdacpp/archive/2009/03/20/77329.html#Feedback0http://www.shnenglu.com/lambdacpp/comments/commentRss/77329.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/77329.html大輝推薦了一個(gè)網(wǎng)站www.wikimatrix.org。去看了看雖然一直用Wiki進(jìn)行一些文檔的協(xié)作,但那么多Wiki還是第一次哈。于是想找一個(gè)用Python開發(fā)的wiki(wikimatrix上面有一個(gè)Wizard可以幫助您找到想要的)。除了老牌的plone,著名的MoinMoin,還發(fā)現(xiàn)了一個(gè)叫hatta的。安裝了一下,真還不錯(cuò)。
hatta的實(shí)現(xiàn)就一個(gè)python文件,功能簡(jiǎn)單,沒(méi)有權(quán)限管理,沒(méi)有用戶管理,作者認(rèn)為Wiki就是要?dú)g迎天南地北的兄弟都可以修改。hatta的使用簡(jiǎn)單,按照語(yǔ)法編輯,然后提交了事。中文化也非常簡(jiǎn)單,Wiki內(nèi)容本身就可以輸入中文,如果覺(jué)得頁(yè)面也應(yīng)該是中文的也很簡(jiǎn)單,改改po文件即可。我覺(jué)得如果您對(duì)Wiki的需求如下就可以考慮使用:
  1. 內(nèi)部使用。如果部署在外網(wǎng),好事者亂改一氣還是比較麻煩的,特別是放一些不該放的。
  2. 需要版本控制的文檔協(xié)作
  3. 要在文檔中嵌入程序代碼,代碼需要高亮
  4. 需要在文檔中嵌入數(shù)學(xué)公式。hatta使用latex語(yǔ)法輸入公式,生成的公式非常漂亮






五點(diǎn)半 2009-03-20 16:55 發(fā)表評(píng)論
]]>
Debian rootkit檢查http://www.shnenglu.com/lambdacpp/archive/2008/11/20/67406.html五點(diǎn)半五點(diǎn)半Thu, 20 Nov 2008 12:25:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2008/11/20/67406.htmlhttp://www.shnenglu.com/lambdacpp/comments/67406.htmlhttp://www.shnenglu.com/lambdacpp/archive/2008/11/20/67406.html#Feedback0http://www.shnenglu.com/lambdacpp/comments/commentRss/67406.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/67406.html#aptitude install chkrootkit rkhunter
#chkrootkit
.....
#rkhunter -c -sk
.....
還好。


五點(diǎn)半 2008-11-20 20:25 發(fā)表評(píng)論
]]>
Jazz 試用http://www.shnenglu.com/lambdacpp/archive/2008/05/28/51370.html五點(diǎn)半五點(diǎn)半Wed, 28 May 2008 03:37:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2008/05/28/51370.htmlhttp://www.shnenglu.com/lambdacpp/comments/51370.htmlhttp://www.shnenglu.com/lambdacpp/archive/2008/05/28/51370.html#Feedback0http://www.shnenglu.com/lambdacpp/comments/commentRss/51370.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/51370.html
  1. IBM或者說(shuō)Rational對(duì)軟件工程的研究是非常深入的,IBM Rational系列軟件可以充分體現(xiàn)IBM對(duì)軟件過(guò)程的理解。Jazz中集成了各種軟件開發(fā)過(guò)程(時(shí)下流行的Srcum也在其中)。Jazz充分認(rèn)識(shí)到了敏捷的重要性,所以敏捷的思想貫穿整個(gè)軟件。
  2. 雖然IBM提供的比較豐富的文檔,學(xué)習(xí)曲線還是有些陡峭。特別對(duì)于沒(méi)有使用過(guò)Rational軟件的開發(fā)人員。推薦初學(xué)者先看看這個(gè)文檔
  3. Jazz的版本控制源于CC不是很喜歡,如果可以用SVN代替就好了。
  4. Jazz的客戶端是開源的,但服務(wù)端只有90天試用。具體的價(jià)格也要6月份才出來(lái)。



五點(diǎn)半 2008-05-28 11:37 發(fā)表評(píng)論
]]>
在tex缺省安裝上添加新的.cls .sty文件http://www.shnenglu.com/lambdacpp/archive/2008/05/19/50403.html五點(diǎn)半五點(diǎn)半Mon, 19 May 2008 09:03:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2008/05/19/50403.htmlhttp://www.shnenglu.com/lambdacpp/comments/50403.htmlhttp://www.shnenglu.com/lambdacpp/archive/2008/05/19/50403.html#Feedback0http://www.shnenglu.com/lambdacpp/comments/commentRss/50403.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/50403.html現(xiàn)在在Debian下安裝tex很方便了。如果一些宏包沒(méi)有下載下來(lái)可以安裝在系統(tǒng)上。步驟:
  1. 在/usr/share/texmf/tex/latex下建一個(gè)目錄mkdir xxpackage
  2. 把宏包解壓在這里
  3. texhash



五點(diǎn)半 2008-05-19 17:03 發(fā)表評(píng)論
]]>
Quixote筆記http://www.shnenglu.com/lambdacpp/archive/2008/04/19/47594.html五點(diǎn)半五點(diǎn)半Sat, 19 Apr 2008 07:11:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2008/04/19/47594.htmlhttp://www.shnenglu.com/lambdacpp/comments/47594.htmlhttp://www.shnenglu.com/lambdacpp/archive/2008/04/19/47594.html#Feedback15http://www.shnenglu.com/lambdacpp/comments/commentRss/47594.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/47594.html又是Python。呵呵。誰(shuí)叫人家?guī)浤?/span>

Quixote的部署

    在Quixote官方白皮書中已經(jīng)詳細(xì)描述了Quixote的工作模式。Quixote可以使用Python自代的http_server(主要用于開發(fā)調(diào)試)和與Apache(或lighttpd)配合使用。
    Quixote與Apache配合使用方式如下:
  1. 使用CGI,文檔中稱為egular CGI。被認(rèn)為效率最低的一種方式,因?yàn)槊恳粋€(gè)請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的進(jìn)程。
  2. 使用fastCGI,CGI可以運(yùn)行fastCGI一定是可以應(yīng)用的。這也是豆瓣采用的方式。在Quixote作者的一個(gè)PPT中,他認(rèn)為fastCGI是buggy的。哦:(也不至于啊。我們正在尋找使用fastCGI的部署經(jīng)驗(yàn)。
  3. 使用mod_python,將python代碼嵌入到Apache中。
  4. 使用SCGI,這是作者推薦的。使用Apache SCGI module scgi_mod將遵循SCGI協(xié)議Apache將請(qǐng)求發(fā)送到相應(yīng)的Socket如localhost:3001。而這個(gè)Socket由本地運(yùn)行的一個(gè) Python程序打開。這個(gè)Python程序?qū)⑻幚碚?qǐng)求,并返回結(jié)果。

SCGI的配置

    Quixote的網(wǎng)站上對(duì)SCGI的描述:SCGI協(xié)議是CGI協(xié)議的替代。它是一種應(yīng)用程序與HTTP服務(wù)接口標(biāo)準(zhǔn)。它有些像FastCGI但他的設(shè)計(jì)更容易實(shí)現(xiàn)。

    配置SCGI過(guò)程如下:
  • 安裝各個(gè)模塊不在話下,debian讓程序員有了懶惰的美德:
      #aptitude install libapache2-mod-scgi python-scgi python-quixote

  • Apache的配置,添加配置到apache.conf。(有些教程中加入了SetHandler scgi-handler ,但這個(gè)加上就很本不會(huì)和3000通信。可能是版本的問(wèn)題。最好不用。)
      <Location "/qx">
           SCGIServer localost:3000
           SCGIHandler On
      </Location> 

  • 重啟Apache
    配置完成。SCGI的好處在于,修改了Python程序,不用重啟Apache,只要重啟SCGI就可以了。

第一個(gè)Quixote程序

    一切就緒,我們來(lái)一次Quixote的完整之旅。

  • scgi程序要求有一個(gè)服務(wù)打開3000端口。啟動(dòng)scgi的程序如下:
 1 
 2 #!/usr/bin/python
 3 # -*- coding: utf-8 -*-
 4 
 5 from scgi.quixote_handler import QuixoteHandler, main
 6 from quixote import enable_ptl
 7 from quixote.publish import Publisher
 8 enable_ptl() #啟動(dòng)PTL
 9 
10 def create_publisher():
11     from ourroot import RootDirectory
12     return Publisher(RootDirectory(), display_exceptions='plain')
13 
14 if __name__ == '__main__':
15     from quixote.server import scgi_server
16     scgi_server.run(create_publisher, port=3000, script_name="/qx")
17 

  • 程序結(jié)構(gòu)是比較簡(jiǎn)單的,使用的是scgi_server的run方法。要注意的是run方法中的script_name和前面apache 的配置Location是一樣的。程序的關(guān)鍵是導(dǎo)入了ourroot這樣一個(gè)ptl 。下面是我們的第一個(gè)ptl程序。
 1 
 2 # -*- coding: utf-8 -*-
 3 """這個(gè)是我們第一個(gè)例子的根目錄
 4 """
 5 from quixote.directory import Directory
 6 
 7 class RootDirectory(Directory):
 8     _q_exports = [""]
 9     def _q_index [html] (self):
10         print "debug message from the index page"
11         """
12         <html>
13         <head>
14         <meta http-equiv="Content-Type" content="text/html charset=UTF-8" />
15         <title>第一個(gè)例子</title>
16         </head>
17         <body>
18         <h1>第一個(gè)例子有中文!</h1>
19         </body>
20         </html>
21         """
22 

  • 現(xiàn)在在瀏覽器中輸入http://localhost/qx就可以看到結(jié)果了。
  • 除了運(yùn)行上面的python腳本,也可以采用這樣的方式運(yùn)行scgi:
  • python /var/lib/python-support/python2.5/quixote/server/scgi_server.py \
        --factory
    =FirstApp.create_publisher \
        --script-name
    =/qx  --port=3000


Quixote 中文化的要點(diǎn)

    Quixote的中文設(shè)置好像很麻煩。其實(shí)隨著python、Quixote版本的推進(jìn),現(xiàn)在這個(gè)問(wèn)題已經(jīng)很簡(jiǎn)單了。字符集使用的是utf-8。使用gb2312可能也是可以的。

  1. 所有源代碼使用utf-8在程序的開始加上# -*- coding: utf-8 -*-
  2. ptl的html模板加上content="text/html charset=UTF-8"
  3. 關(guān)鍵:在quixote的安裝路徑下有__init__.py,將其中的DEFAULT_CHARSET = 'iso-8859-1'改成 'utf-8'
  4. 也可以不修改__init__.py,使用Publisher的時(shí)候把Publisher擴(kuò)展一下:
1 class UTF8Publisher(Publisher):
2     quixote.DEFAULT_CHARSET = "utf-8"



]]>
久違了http://www.shnenglu.com/lambdacpp/archive/2008/04/18/47487.html五點(diǎn)半五點(diǎn)半Fri, 18 Apr 2008 03:33:00 GMThttp://www.shnenglu.com/lambdacpp/archive/2008/04/18/47487.htmlhttp://www.shnenglu.com/lambdacpp/comments/47487.htmlhttp://www.shnenglu.com/lambdacpp/archive/2008/04/18/47487.html#Feedback0http://www.shnenglu.com/lambdacpp/comments/commentRss/47487.htmlhttp://www.shnenglu.com/lambdacpp/services/trackbacks/47487.html敏捷時(shí)代似乎已經(jīng)到了,將更多的時(shí)間花在了Python和Ruby上。C++好些地方使不上勁呢:(。
前段時(shí)間研究了一下boost.python,還真不錯(cuò),就是文檔太少啊。有時(shí)間將其整理一下。
pongba的這個(gè)論壇還真不錯(cuò)。天天在上面泡著。




五點(diǎn)半 2008-04-18 11:33 發(fā)表評(píng)論
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久久久久999| 亚洲成人在线| 麻豆精品在线视频| 欧美人与禽猛交乱配视频| 久久国产精品一区二区三区四区| 蜜桃伊人久久| 久久在线免费| 国产精品网站在线观看| 亚洲国产精品久久精品怡红院| 国产精品久久久久一区| 亚洲国产高清高潮精品美女| 激情久久久久久久| 午夜精品一区二区三区在线视| 一区二区三区四区五区精品| 久久深夜福利免费观看| 久久国产直播| 欧美视频在线免费| 亚洲精品网站在线播放gif| 永久久久久久| 欧美一区二视频| 久久成人羞羞网站| 国产乱码精品一区二区三区忘忧草 | 欧美精品123区| 欧美成人资源| 亚洲黄色小视频| 麻豆成人av| 亚洲电影有码| 日韩视频永久免费| 欧美激情在线观看| 亚洲免费电影在线| 亚洲一区二区毛片| 国产精品二区三区四区| 亚洲视频在线看| 性欧美大战久久久久久久久| 国产精品欧美日韩久久| 亚洲欧美日韩视频二区| 亚洲欧美视频在线观看视频| 国产精品区免费视频| 亚洲欧美一区在线| 久久视频免费观看| 亚洲激情女人| 欧美日在线观看| 亚洲午夜久久久久久久久电影网| 亚洲欧美精品伊人久久| 国产精品一区在线观看| 久久精品国产69国产精品亚洲| 噜噜噜在线观看免费视频日韩 | 亚洲美女在线视频| 欧美日韩三级| 亚洲综合另类| 欧美成人黑人xx视频免费观看| 91久久午夜| 国产精品毛片一区二区三区| 欧美一级在线亚洲天堂| 欧美v日韩v国产v| 9色精品在线| 国产精品入口| 免费日韩视频| 亚洲一区bb| 欧美成人精品在线| 亚洲男人的天堂在线aⅴ视频| 国产在线不卡视频| 欧美激情一区在线| 亚洲欧美日韩区| 亚洲国产一区二区精品专区| 亚洲欧美日韩视频一区| 欲色影视综合吧| 国产精品第一页第二页第三页| 久久精品亚洲一区二区| 亚洲另类视频| 久久在线视频在线| 亚洲影视中文字幕| 亚洲福利在线视频| 国产精品系列在线| 欧美成人资源| 久久se精品一区精品二区| 日韩午夜黄色| 久久久久综合网| 亚洲手机成人高清视频| 尹人成人综合网| 国产精品美女久久久久av超清| 久久这里只有| 性娇小13――14欧美| 亚洲精品黄色| 麻豆国产精品777777在线 | 久久午夜电影网| 亚洲字幕在线观看| 亚洲精品久久久久中文字幕欢迎你 | 久久综合狠狠| 午夜精品久久久久久| 日韩午夜av| 亚洲国产99| 免费欧美日韩国产三级电影| 久久福利精品| 性色av一区二区三区在线观看 | 亚洲福利视频网站| 国内精品久久久久久久影视麻豆| 欧美日韩亚洲一区三区 | 欧美精品日韩www.p站| 欧美在线观看视频一区二区三区| 一本大道av伊人久久综合| 亚洲高清不卡在线| 美日韩精品视频| 麻豆成人91精品二区三区| 久久国产精品久久久久久久久久| 在线亚洲免费视频| 99精品欧美一区| av成人免费观看| 亚洲日本中文| 亚洲美女精品成人在线视频| 亚洲日本免费电影| 日韩视频在线一区二区| 亚洲人成在线观看一区二区| 91久久精品一区二区三区| 亚洲二区精品| 亚洲精品影视| 一区二区三区久久| 亚洲桃花岛网站| 亚洲午夜精品网| 亚洲欧美日产图| 欧美一区二区成人| 久久久久九九视频| 美女黄毛**国产精品啪啪| 麻豆精品在线视频| 亚洲国产精品久久91精品| 91久久精品国产91久久性色| 亚洲精品久久久久中文字幕欢迎你| 亚洲日本精品国产第一区| 日韩一区二区久久| 午夜精品电影| 久久久水蜜桃| 欧美日韩麻豆| 国产亚洲一级高清| 亚洲国产精品福利| 宅男噜噜噜66一区二区| 午夜日韩在线观看| 久久亚洲春色中文字幕| 亚洲国产一区二区a毛片| 亚洲美女精品成人在线视频| 亚洲网友自拍| 久久综合国产精品台湾中文娱乐网| 欧美电影免费观看高清| 国产精品久久久久久亚洲调教| 国产一区二区欧美日韩| 亚洲精品国产精品乱码不99按摩| 一本色道综合亚洲| 久久蜜桃香蕉精品一区二区三区| 欧美波霸影院| 亚洲视频高清| 免费观看成人| 国产免费成人av| 最新日韩在线| 欧美一区二区三区免费看| 免费久久99精品国产自在现线| 亚洲精品一区二区在线| 午夜久久资源| 欧美日产国产成人免费图片| 国内精品一区二区三区| 亚洲视频导航| 美女精品自拍一二三四| 中日韩高清电影网| 欧美暴力喷水在线| 国产视频综合在线| 亚洲免费电影在线观看| 久久久五月天| 亚洲在线一区二区三区| 欧美国产综合一区二区| 激情成人av在线| 欧美一区二区私人影院日本 | 国产精品视频成人| 91久久线看在观草草青青| 久久高清福利视频| 一本久道久久久| 欧美激情一区二区久久久| 一区福利视频| 欧美在线一区二区三区| 亚洲免费精彩视频| 免费成人黄色片| 黄色精品网站| 久久av一区二区三区| 日韩性生活视频| 男女激情久久| 亚洲激情国产| 欧美成人免费在线观看| 久久久精品999| 国内精品久久久久影院 日本资源| 亚洲欧美成人| 亚洲小少妇裸体bbw| 欧美日韩一区二区在线视频| 99在线精品视频在线观看| 欧美高清你懂得| 美女黄毛**国产精品啪啪| 一区二区三区中文在线观看| 久久久久久久久一区二区| 亚洲中无吗在线| 国产精品一区二区黑丝| 香蕉久久精品日日躁夜夜躁| 亚洲一区中文| 国产欧美日韩在线视频| 久久国产一区二区三区|