﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-nighty-随笔分类-服务器部署</title><link>http://www.blogjava.net/nighty/category/47979.html</link><description>折腾的年华</description><language>zh-cn</language><lastBuildDate>Fri, 12 Apr 2013 07:22:07 GMT</lastBuildDate><pubDate>Fri, 12 Apr 2013 07:22:07 GMT</pubDate><ttl>60</ttl><item><title>rsync同步文件的安装笔记</title><link>http://www.blogjava.net/nighty/archive/2013/04/12/397738.html</link><dc:creator>寒武纪</dc:creator><author>寒武纪</author><pubDate>Fri, 12 Apr 2013 04:23:00 GMT</pubDate><guid>http://www.blogjava.net/nighty/archive/2013/04/12/397738.html</guid><wfw:comment>http://www.blogjava.net/nighty/comments/397738.html</wfw:comment><comments>http://www.blogjava.net/nighty/archive/2013/04/12/397738.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nighty/comments/commentRss/397738.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nighty/services/trackbacks/397738.html</trackback:ping><description><![CDATA[系统为ubuntu server，二台机器A和B，IP为A 192.168.1.111，B 192.168.1.222<br />A为rsync server，启动为守护进程，B为备份机，做为rsync client，最后用crontab做一个简单的作业，定时在B上执行同步文件的功能<br />A的安装和配置如下：<br />1. &nbsp;apt-get install rsync &nbsp; 可能提示系统已经安装有了<br />2. 配置文件/etc/rsyncd.conf<br />&nbsp; &nbsp; 默认安装时是不会有这个配置文件的，但是可以 cp /usr/share/doc/rsync/examples/rsyncd.conf /etc &nbsp;把它示例中的配置文件拷贝过来<br />&nbsp; &nbsp; vi /etc/rsyncd.conf &nbsp; &nbsp;这里参数有点多，但是有些可以先不管，关注重点的<br />&nbsp; &nbsp; [ftp] &nbsp;这里是模块，可以配置多个，这个是系统默认给出的一个配置，下面给一个本机上的配置示例：<br />--------------------------------------------------------------------------------------------------<br /><div># so omit the "pid file" line completely in that case.</div><div><span style="color: #008000;">pid file=/var/run/rsyncd.pid</span></div><div>#syslog facility=daemon</div><div>#socket options=</div><div></div><div># MODULE OPTIONS</div><div></div><div>[share]</div><div></div><div><span style="white-space:pre">	</span>comment = public archive</div><div><span style="white-space:pre">	</span><span style="color: #008000;">path = /var/www/pub</span></div><div><span style="white-space:pre">	</span>use chroot = no</div><div><span style="white-space:pre">	</span><span style="color: #008000;">max connections=2</span></div><div>#<span style="white-space:pre">	</span>lock file = /var/lock/rsyncd</div><div># the default for read only is yes...</div><div><span style="white-space:pre">	</span><span style="color: #008000;">read only = no</span></div><div><span style="white-space:pre">	</span>list = yes</div><div><span style="white-space:pre">	</span>uid = nobody</div><div><span style="white-space:pre">	</span>gid = nogroup</div><div>#<span style="white-space:pre">	</span>exclude =&nbsp;</div><div>#<span style="white-space:pre">	</span>exclude from =&nbsp;</div><div>#<span style="white-space:pre">	</span>include =</div><div>#<span style="white-space:pre">	</span>include from =</div><div><span style="white-space:pre">	</span><span style="color: #ff0000;">auth users = rsync</span></div><div><span style="white-space:pre">	</span><span style="color: #ff0000;">secrets file = /etc/rsyncd.secrets</span></div><div><span style="white-space:pre">	</span>strict modes = yes</div><div><span style="white-space:pre">	</span>hosts allow = 192.168.1.222</div><div>#<span style="white-space:pre">	</span>hosts deny =</div><div><span style="white-space:pre">	</span>ignore errors = yes</div><div><span style="white-space:pre">	</span>ignore nonreadable = yes</div><div><span style="white-space:pre">	</span>transfer logging = yes</div><div><span style="white-space:pre">	</span>log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.</div><div><span style="white-space:pre">	</span>timeout = 600</div><div><span style="white-space:pre">	</span>refuse options = checksum dry-run</div><div><span style="white-space:pre">	</span>dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz<br />---------------------------------------------------------------------------------------------<br />这里，最上面的是pid文件位置。然后配置了一个模块名叫做share，最大连接数是2，read only = no，指定为非只读（不然同步时会有权限问题）<br />而后面的auth users = rsync 是指定一个同步的账户名叫做rsync，这个账户的认证文件是/etc/rsyncd.secrets，当然我们要创建这个文件<br /><br />3. &nbsp;创建 /etc/rsyncd.secrets文件，内容为： rsync:123 &nbsp;表示rsync这个用户的密码是123 然后修改文件的权限 chmod 600 /etc/rsyncd.secrets<br /><br />4. &nbsp;rsync server做为守护进程<br />&nbsp; &nbsp; &nbsp;vi /etc/default/rsync<br />&nbsp; &nbsp; &nbsp;可以看到开头处这样声明：<br />------------------------------------<br /><div># start rsync in daemon mode from init.d script?</div><div># &nbsp;only allowed values are "true", "false", and "inetd"</div><div># &nbsp;Use "inetd" if you want to start the rsyncd from inetd,</div><div># &nbsp;all this does is prevent the init.d script from printing a message</div><div># &nbsp;about not starting rsyncd (you still need to modify inetd's config yourself).</div><div><span style="color: #ff0000;">RSYNC_ENABLE=inetd</span></div>-------------------------------------------<br />&nbsp; &nbsp;做为守护进程，可以设置为true或是xinetd方式来启动。于是我们安装inetd &nbsp; sudo apt-get install xinetd<br />&nbsp; &nbsp;安装好后配置inetd的配置文件 &nbsp;vi /etc/xinetd.d/rsync ，输入如下内容：<br />---------------------------------------------------<br /><div>service rsync</div><div>{</div><div>&nbsp; &nbsp; disable = no</div><div>&nbsp; &nbsp; socket_type = stream</div><div>&nbsp; &nbsp; wait = no</div><div>&nbsp; &nbsp; user = root</div><div>&nbsp; &nbsp; server = /usr/bin/rsync</div><div>&nbsp; &nbsp; server_args = --daemon</div><div>&nbsp; &nbsp; log_on_failure += USERID</div><div>}<br />-------------------------------------------------------<br />然后启动xinetd，/etc/init.d/xinetd restart，A服务器的rsyncd server就完成了！<br /><br />5. &nbsp;B服务器由于是client，不需要配置，也不需要安装xinetd，直接可以通过命令行执行<br /><div>rsync --delete -azvv rsync@192.168.1.111::share /var/www/pub/<br />这个命令就可以直接连接到192.168.111的rsync账户，它会提示你输入密码，就是A中的secrets文件中的密码，然后同步share模块到本机的/var/www/pub目录，你可以事前在A机器上创建一个文件如test.txt，随便写点内容，然后执行些命令，看是不是B上多了这样一个文件？如果是，则表示已经连接成功。你接下来就可以做crontab了！</div></div></div><img src ="http://www.blogjava.net/nighty/aggbug/397738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nighty/" target="_blank">寒武纪</a> 2013-04-12 12:23 <a href="http://www.blogjava.net/nighty/archive/2013/04/12/397738.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Ubuntu Server 12.10 Mysql的主从复制笔记</title><link>http://www.blogjava.net/nighty/archive/2013/04/09/397601.html</link><dc:creator>寒武纪</dc:creator><author>寒武纪</author><pubDate>Tue, 09 Apr 2013 12:33:00 GMT</pubDate><guid>http://www.blogjava.net/nighty/archive/2013/04/09/397601.html</guid><wfw:comment>http://www.blogjava.net/nighty/comments/397601.html</wfw:comment><comments>http://www.blogjava.net/nighty/archive/2013/04/09/397601.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nighty/comments/commentRss/397601.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nighty/services/trackbacks/397601.html</trackback:ping><description><![CDATA[二台服务器，A的内网IP为192.168.1.111，B的内网IP为192.168.1.222，A做为master，B做为Slave<br />1. &nbsp;配置A的Mysql<br />&nbsp; &nbsp; &nbsp;(1) &nbsp;vim /etc/mysql/my.cnf<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;去掉[mysqld]段中 server_id =1 和log_bin=/var/log/mysql/mysql-bin.log的#注释<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;加上 &nbsp;binlog-do-db = s3 &nbsp; &nbsp; s3就是要同步的数据库的名称，如果没有这一行，表示同步所有的数据，另外 binlog_ignore_db = mysql。要表示忽略同步的数据库名称为mysql，如果有多个要指定同步或是忽略同步的数据，就配置多行，保存退出。<br />&nbsp; &nbsp; &nbsp;(2) 创建一个复制用的账户(名称为repl,允许从远程连接，密码为123456)： <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GRANT REPLICATION SLAVE, RELOAD,SUPER, NO *.* TO repl@'%' IDENTIFIED BY '123456';<br /><font color="#666666" face="宋体, Arial"><span style="font-size: 12px; line-height: 26px;">&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</span></font>FLUSH PRIVILEGES;<font color="#666666" face="宋体, Arial"><span style="font-size: 12px; line-height: 26px;"><br /></span></font>&nbsp; &nbsp; &nbsp;(3) 重启mysql服务，或是直接reboot机器也可以<br />&nbsp; &nbsp; &nbsp;(4) 进入mysql，然后用 show master status\G &nbsp;查看二进制日志的状态，看到类似以下的结果：<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +------------------+----------+--------------+------------------+<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | File &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Position &nbsp;| Binlog_Do_DB | Binlog_Ignore_DB |</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +------------------+----------+--------------+------------------+</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | mysql-bin.000003 | &nbsp; &nbsp; 1376 &nbsp;| s3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; +------------------+----------+--------------+------------------+</div>2. &nbsp;配置B的Mysql<br />&nbsp; &nbsp; &nbsp; (1)&nbsp;vim /etc/mysql/my.cnf<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;去掉[mysqld]段中 server_id =1 和log_bin=/var/log/mysql/mysql-bin.log的#注释，把server_id改为2，要和master机器的不一样。并增加以下内容：<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;binlog_do_db=s3<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;log-slave-updates<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 保存退出<br />&nbsp; &nbsp; &nbsp;(2) 重启mysql服务<br />&nbsp; &nbsp; &nbsp;(3) 进入mysql，执行<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CHANGE MASTER TO MASTER_HOST='192.168.1.111', MASTER_USER='repl',Master_Port=3306,MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000003',MASTER_LOG_POS=1376;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; SLAVE START;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 注意上面的CHANGE语句中，MASTER_LOG_FILE和MASTER_LOG_POS就是上面1.4中提到的show master status命令得到的结果，指定二进制文件的名称和开始同步的位置。<br />&nbsp; &nbsp; &nbsp;(4) 查看SLAVE状态: &nbsp; &nbsp;show slave status\G<br /><div>*************************** 1. row ***************************</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Slave_IO_State: Waiting for master to send event</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Master_Host: 192.168.1.111</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Master_User: repl</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Master_Port: 3306</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Connect_Retry: 60</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Master_Log_File: mysql-bin.000003</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Read_Master_Log_Pos: 1376</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Relay_Log_File: mysqld-relay-bin.000002</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Relay_Log_Pos: 1355</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Relay_Master_Log_File: mysql-bin.000003</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #ff0000;">Slave_IO_Running: Yes</span></div><div><span style="color: #ff0000;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Slave_SQL_Running: Yes</span></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Replicate_Do_DB:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Replicate_Ignore_DB:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Replicate_Do_Table:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp;Replicate_Ignore_Table:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; Replicate_Wild_Do_Table:&nbsp;</div><div>&nbsp; Replicate_Wild_Ignore_Table:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Last_Errno: 0</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Last_Error:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Skip_Counter: 0</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exec_Master_Log_Pos: 1376</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Relay_Log_Space: 1512</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Until_Condition: None</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Until_Log_File:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Until_Log_Pos: 0</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Master_SSL_Allowed: No</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Master_SSL_CA_File:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Master_SSL_CA_Path:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Master_SSL_Cert:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Master_SSL_Cipher:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Master_SSL_Key:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Seconds_Behind_Master: 0</div><div>Master_SSL_Verify_Server_Cert: No</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Last_IO_Errno: 0</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Last_IO_Error:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Last_SQL_Errno: 0</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Last_SQL_Error:&nbsp;</div><div>&nbsp; Replicate_Ignore_Server_Ids:&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Master_Server_Id: 1</div>&nbsp; &nbsp; 上面的红色二行如果为YES则表示已经正常连接，可以进行复制了。<img src ="http://www.blogjava.net/nighty/aggbug/397601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nighty/" target="_blank">寒武纪</a> 2013-04-09 20:33 <a href="http://www.blogjava.net/nighty/archive/2013/04/09/397601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Postgresql备份的一点笔记</title><link>http://www.blogjava.net/nighty/archive/2013/03/27/397077.html</link><dc:creator>寒武纪</dc:creator><author>寒武纪</author><pubDate>Wed, 27 Mar 2013 14:39:00 GMT</pubDate><guid>http://www.blogjava.net/nighty/archive/2013/03/27/397077.html</guid><wfw:comment>http://www.blogjava.net/nighty/comments/397077.html</wfw:comment><comments>http://www.blogjava.net/nighty/archive/2013/03/27/397077.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nighty/comments/commentRss/397077.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nighty/services/trackbacks/397077.html</trackback:ping><description><![CDATA[&nbsp; &nbsp; 许久没用服务器上装的那个postgresql，其实是用来做redmine的数据库的，考虑到mysql可能经常升级，而rails的连接组件在安装上有点麻烦，所以当初就装成postgresql。<br />&nbsp; &nbsp; 今天准备备份一下，用的phppgadmin，刚开始是提示其中的pg_dump执行路径没有配置，重新配置好后，导出的结果却是空的损坏文件。于是想算了，还是转到pg的安装目录下执行pg_dump.<br />&nbsp; &nbsp; 服务器装的是centos 6.2，忘了当初是建了一个用户postgres.postgres进行安装的，用其它用户切换到pg的安装目录下bin/pg_dump是执行不了的，提示在指定目标下生成导出文件。故猜测应该是postgres这个用户的权限不足！<br />&nbsp; &nbsp; cat /etc/passwd查看一下当前有多少用户，的确有postgres.postgres用户，密码多少？忘了！反正有root，直接passwd修改成新的密码吧，于是就立马修改了该用户的密码，可以正确切换到postgres用户了，还需要root为postgres指定一个目录有操作权限<br />&nbsp; &nbsp; chown -R postgres.postgres /var/xxxx &nbsp;&nbsp;<br />&nbsp; &nbsp; 然后再回到pg的bin目录下，执行pg_dump redmine &gt; /var/xxx/redmine.bak<br />&nbsp; &nbsp; 这下终于正常了，别忘了还得去redmine安装目录下，备份下files文件夹。<br />&nbsp; &nbsp;&nbsp;<br />&nbsp; &nbsp; 仅以此为笔记，以后可以查阅使用<img src ="http://www.blogjava.net/nighty/aggbug/397077.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nighty/" target="_blank">寒武纪</a> 2013-03-27 22:39 <a href="http://www.blogjava.net/nighty/archive/2013/03/27/397077.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS5.5下PHP5.2.10未安装mysql模块的解决方式</title><link>http://www.blogjava.net/nighty/archive/2011/08/14/356488.html</link><dc:creator>寒武纪</dc:creator><author>寒武纪</author><pubDate>Sun, 14 Aug 2011 07:53:00 GMT</pubDate><guid>http://www.blogjava.net/nighty/archive/2011/08/14/356488.html</guid><wfw:comment>http://www.blogjava.net/nighty/comments/356488.html</wfw:comment><comments>http://www.blogjava.net/nighty/archive/2011/08/14/356488.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/nighty/comments/commentRss/356488.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nighty/services/trackbacks/356488.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<span style="font-size: 12pt">问题描述：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 服务器操作系统是Centos5.5，此前已经有多套系统跑在上面，且装有PHP5.2.10。Centos5.X系统的稳定yum安装源版本是5.1.6，并不符合最新版本的phpmyadmin(5.2以上版本)，下载了最新版本phpmyadmin安装后提示缺少mysql支持模块。</span><span style="font-size: 12pt">查看了一下发现的确是安装php的时候没有装上php-mysql模块。直接重新编译php源码安装比较麻烦。</span><br />&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt">一个比较方便的方法：</span><br />&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt">为yum添加第三方的源，然后直接用yum -y install php-mysql进行安装</span><br />&nbsp;&nbsp;&nbsp; <span style="font-size: 12pt">以下方法为从网络搜索到的，做个记录，方面须用之时查阅。</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 导入地址：&nbsp;&nbsp;&nbsp; <span style="color: #008000">rpm --import </span><a style="color: rgb(86,182,233)" href="http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka"><span style="color: #008000">http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka</span></a><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编辑yum源： <span style="color: #008000">vi&nbsp;&nbsp;/etc/yum.repos.d/CentOS-Base.repo</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在最下面添加如下信息：<br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [utterramblings]</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name=Jason's Utter Ramblings Repo</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enabled=1</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gpgcheck=1</span><br /><span style="color: #0000ff">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka</span><br /><span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; letter-spacing: normal; font: 12px/18px Verdana, Arial, helvetica, sans-seriff; white-space: normal; orphans: 2; color: rgb(35,35,35); word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span">
<p style="text-indent: 0px; margin: 5px auto">&nbsp;&nbsp;&nbsp;<span style="font-size: 12pt">&nbsp;&nbsp;&nbsp;</span><br /><span style="font-size: 12pt">&nbsp;&nbsp;&nbsp; 然后执行安装命令： yum -y install php-mysql&nbsp;&nbsp;&nbsp; 系统就会自动从上面添加的源中读取合适该版本的php-mysl模块，安装完成后重启httpd服务，再访问就OK了。<br />&nbsp;&nbsp;&nbsp; 该方法同样适合于默认安装的php5.1.6版本安装成功后再进行升级到 5.2版本。</span></p></span><img src ="http://www.blogjava.net/nighty/aggbug/356488.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nighty/" target="_blank">寒武纪</a> 2011-08-14 15:53 <a href="http://www.blogjava.net/nighty/archive/2011/08/14/356488.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS下用Phusion Passenger方式部署rails应用 -- redmine示例</title><link>http://www.blogjava.net/nighty/archive/2011/05/19/350542.html</link><dc:creator>寒武纪</dc:creator><author>寒武纪</author><pubDate>Thu, 19 May 2011 07:10:00 GMT</pubDate><guid>http://www.blogjava.net/nighty/archive/2011/05/19/350542.html</guid><wfw:comment>http://www.blogjava.net/nighty/comments/350542.html</wfw:comment><comments>http://www.blogjava.net/nighty/archive/2011/05/19/350542.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/nighty/comments/commentRss/350542.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nighty/services/trackbacks/350542.html</trackback:ping><description><![CDATA[<blockquote style="margin-right: 0px" dir="ltr">
<p>&nbsp;&nbsp;&nbsp;&nbsp;<span style="font-family: Verdana">Phusion Passenger模块使得Rails应用可以像PHP模块一样运行在Apache上，非常方便。</span><br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp;准备条件：CentOS服务器已经装好了Apache2.2和Redmine应用&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br /><br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp; 1. 安装Passenger模块</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #0000ff">gem install passenger</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #0000ff">passenger-install-apache2-module</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第二个命令是安装passenger的apache2模块，它已经做得很智能，会提示你确认安装以及最后怎么配置模块到apache中。</span><br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;摘出配置段的内容如下：</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; Please edit your Apache configuration file, and add these lines: </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: red">LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.7/ext/apache2/mod_passenger.so</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.7</span><br /><span style="color: red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PassengerRuby /usr/bin/ruby<br /></span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="font-family: Verdana">把红色字体部分拷贝到apache的配置文件，可以是主配置文件/etc/httpd/conf/httpd.conf，也可以是在/etc/httpd/conf.d/目录下新建一个子文件命名为ruby.conf，推荐第二种方式，更为简洁，不会影响主文件的配置。</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;2. 先测试一下passenger是否安装正常</span><br /><br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 切换到redmine的安装目录下，passenger start&nbsp; 命令尝试一下是否正常能以paasenger方式启动，如果没有异常，恭喜，已经安装完成，剩下的工作就是配置一个虚拟主机和子给你的redmine，这样可以转到更为常用的80端口上。</span><br /><br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;3. 配置rails应用做为sub URI模式</span><br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在passenger的官方文档中其实有好几种配置的方式，可以是域名、域名子URI等，很多时候你可能只有一个域名，那么利用sub URI来挂不同的应用就显得比较</span><br /><span style="font-family: Verdana">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先配置一段虚拟主机如下：</span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="font-family: serif" class="Apple-style-span"></p></blockquote><pre style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><tt style="color: navy">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;VirtualHost *:80&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    ServerName www.phusion.nl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    DocumentRoot /websites/phusion
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    &lt;Directory /websites/phusion&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow from all
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Directory&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/VirtualHost&gt;<br />
</tt></pre>
<p></span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 解释一下过程大致是先创建一个硬链接，如下：<span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="font-family: serif" class="Apple-style-span"></p><pre style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><tt style="color: navy">&nbsp;&nbsp;&nbsp;&nbsp;    ln -s /webapps/mycook/public /websites/phusion/rails</tt></span></span>&nbsp;</pre><pre style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px">&nbsp;</pre><pre style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><span style="font-family: Verdana; font-size: 12pt">     </span><span style="font-family: Verdana; font-size: 12pt">/webapps/mycook/public是你的rails的应用目录下面的public目录，例如你的redmine安装在/var/www/html，这个目录就是<br />    /var/www/html/redmine/public，后面就是你Apache主目录下的创建的一个链接地址rails，意思就是把/var/www/html/redmine/public<br /></span><span style="widows: 2; text-transform: none; text-indent: 0px; border-collapse: separate; font: medium Simsun; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(0,0,0); word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"><span style="font-family: serif" class="Apple-style-span">      链接到/var/www/html/rails，而/var/www/html/rails是实际上不存在的。<br />      然后再配置子目录如下：</pre><pre style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><blockquote style="margin-right: 0px" dir="ltr"><blockquote style="margin-right: 0px" dir="ltr"><pre style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px"><tt style="color: navy"><br />&lt;VirtualHost *:80&gt;
    ServerName <a href="http://www.phusion.nl">www.phusion.nl
</a>    DocumentRoot /websites/phusion
    &lt;Directory /websites/phusion&gt;
        Allow from all
    &lt;/Directory&gt;
    <br />    RailsBaseURI /rails                   # &lt;-- These lines have
    &lt;Directory /websites/phusion/rails&gt;   # &lt;-- been added.
        Options -MultiViews               # &lt;--
    &lt;/Directory&gt;                          # &lt;--
&lt;/VirtualHost&gt;</tt></pre></blockquote></blockquote></pre>
<blockquote style="margin-right: 0px" dir="ltr">
<p>&nbsp;最后四句带#注释说明是重点，应用RailsBaseURI命令把rails子URI指定到rails的应用目录，而rails目录就是我们上面链接的目录，而实际上会跳到我们的直接redmine目录。</p></blockquote>
<p><font face="Courier New">&nbsp;</font></span></span></p><img src ="http://www.blogjava.net/nighty/aggbug/350542.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nighty/" target="_blank">寒武纪</a> 2011-05-19 15:10 <a href="http://www.blogjava.net/nighty/archive/2011/05/19/350542.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>