我想很多人想知道 64bit 和 32bit 到底区别有多大,在买了VPS后,不知道是装 64bit 的还是装 32bit 的,不知道装 CentOS 还是 Debian
现在以我的实际使用经验来告诉你怎么选择
装 CentOS 还是 Debian ?
首要因素是要看你习惯使用哪一个,就装哪一个,至于资源占用,都差不多的
32bit 和 64bit 实际使用时,差别在哪里?
1. 内存占用的区别
CentOS 32bit 装好系统后的内存占用12MB,64bit 内存占用 19MB
再装 Nginx + PHP + MySQL 并启动后,内存占用相差100多MB
我配置的几个主要参数
Nginx 4 进程
php-fpm 10 进程
apc 64M
MySQL key_buffer 128M
2. 性能区别
CentOS 64bit 的性能要快于 32bit,性能相差大约 30%-50%,这里我说的性能差别指的是从客户端发起请求到接收所花费的时间,包括 php 脚本的执行时间,mysql 的查询时间,nginx 的输出时间
另外,64bit 不仅在性能上要好于 32bit,系统平均负载也要比 32bit 低,我试验了同样的站点,同样的VPS,同样的并发数,32bit 的系统平均负载为 0.9-1.2,而 64bit 的系统平均负载为 0.4-0.7
于此同时,站点运行时,32bit 内存占用 370-400MB, 而 64bit 内存占用 520-580MB
本文作者:http://www.21andy.com/
本文Url:http://www.21andy.com/blog/20101019/1982.html
3. 总结
如果你的 VPS 或服务器,内存大于等于1G,我强烈建议你安装 CentOS 64bit
512MB VPS 是比较尴尬的, 一般是 512MB 保证,超过这个内存范围,商家不保证你能稳定
如果你使用 64bit 内存不超,应该选 64bit
512MB 以下的,不用考虑,就 32bit
现在以我的实际使用经验来告诉你怎么选择
装 CentOS 还是 Debian ?
首要因素是要看你习惯使用哪一个,就装哪一个,至于资源占用,都差不多的
32bit 和 64bit 实际使用时,差别在哪里?
1. 内存占用的区别
CentOS 32bit 装好系统后的内存占用12MB,64bit 内存占用 19MB
再装 Nginx + PHP + MySQL 并启动后,内存占用相差100多MB
我配置的几个主要参数
Nginx 4 进程
php-fpm 10 进程
apc 64M
MySQL key_buffer 128M
2. 性能区别
CentOS 64bit 的性能要快于 32bit,性能相差大约 30%-50%,这里我说的性能差别指的是从客户端发起请求到接收所花费的时间,包括 php 脚本的执行时间,mysql 的查询时间,nginx 的输出时间
另外,64bit 不仅在性能上要好于 32bit,系统平均负载也要比 32bit 低,我试验了同样的站点,同样的VPS,同样的并发数,32bit 的系统平均负载为 0.9-1.2,而 64bit 的系统平均负载为 0.4-0.7
于此同时,站点运行时,32bit 内存占用 370-400MB, 而 64bit 内存占用 520-580MB
本文作者:http://www.21andy.com/
本文Url:http://www.21andy.com/blog/20101019/1982.html
3. 总结
如果你的 VPS 或服务器,内存大于等于1G,我强烈建议你安装 CentOS 64bit
512MB VPS 是比较尴尬的, 一般是 512MB 保证,超过这个内存范围,商家不保证你能稳定
如果你使用 64bit 内存不超,应该选 64bit
512MB 以下的,不用考虑,就 32bit
平时我们取得location的search的时候,往往都是要用location.search,然后根据取回的结果集再处理
1、先判断第一位是否是“?”,如果是则从?开始往后面处理
2、写程序以&开始分隔,当然得先用unescape,或者用那个urldecode(具体的名字不记得了)处理一下,把&之类的处理一下
3、以=分隔,这样才能可以取得一一对应的值。
现在方便了。jQuery有这样的插件了。。。。
原文来自:http://www.cssrain.cn/article.asp?id=1204
内容如下:
例如 当前你的URL是:
http://www.cssrain.cn/index.php?test=1&kk=2
如果想获取test,则可以引入插件后,
用如下方法获取:
var test = $.query.get('test');
如果参数有多个相同的名称 ,则可以这样:
var arr = $.query.get('testy');
输出: [ 值1 , 值2, 值3...]
如果要获取多个相同名称中的某一个,可以这样:
var arrayElement = $.query.get('testy[1]');
此插件不仅能获取参数,也能设置参数。
设置一个参数:
var newUrl = $.query.set("section", 5).toString();
输出 : "?section=5"
设置两个参数:
var newUrl = $.query.set("section", 5).set("action", "do").toString();
输出 : "?action=do§ion=5"
删除一个参数:
var oldQueryAgain = $.query.REMOVE("type");
清空所有参数:
var emptyQuery = $.query.empty();
复制所有参数:
var stillTheSame = $.query.copy();
插件地址:
http://plugins.jquery.com/project/query-object
http://plugins.jquery.com/files/jquery.query-2.1.7.js.txt
1、先判断第一位是否是“?”,如果是则从?开始往后面处理
2、写程序以&开始分隔,当然得先用unescape,或者用那个urldecode(具体的名字不记得了)处理一下,把&之类的处理一下
3、以=分隔,这样才能可以取得一一对应的值。
现在方便了。jQuery有这样的插件了。。。。
原文来自:http://www.cssrain.cn/article.asp?id=1204
内容如下:
例如 当前你的URL是:
http://www.cssrain.cn/index.php?test=1&kk=2
如果想获取test,则可以引入插件后,
用如下方法获取:
var test = $.query.get('test');
如果参数有多个相同的名称 ,则可以这样:
var arr = $.query.get('testy');
输出: [ 值1 , 值2, 值3...]
如果要获取多个相同名称中的某一个,可以这样:
var arrayElement = $.query.get('testy[1]');
此插件不仅能获取参数,也能设置参数。
设置一个参数:
var newUrl = $.query.set("section", 5).toString();
输出 : "?section=5"
设置两个参数:
var newUrl = $.query.set("section", 5).set("action", "do").toString();
输出 : "?action=do§ion=5"
删除一个参数:
var oldQueryAgain = $.query.REMOVE("type");
清空所有参数:
var emptyQuery = $.query.empty();
复制所有参数:
var stillTheSame = $.query.copy();
插件地址:
http://plugins.jquery.com/project/query-object
http://plugins.jquery.com/files/jquery.query-2.1.7.js.txt
[个人原创]打印普通三角形,及杨辉三角,才发现这两个三角真的不一样。
Php/Js/Shell/Go jackxiang 2011-10-2 11:09
[个人原创]实践svn的开发文件回退和服务器端版本回退的两种方法
Unix/LinuxC技术 jackxiang 2011-10-1 19:32
我本地 有NEWS.JS这个文件,,服务器上也有一个,,本地版本库跟服务器 版本库一样的情况下 有人改了服务器上的NEWS.JS这个文件,,同时 你也改了 NEWS.JS 这个文件,,你们两个提交的时候 版本库都会自动加以个版本,,也就是 你们两个的版本一致了但是文件内容不一致导致的:
问题是确实有服务器的改动,但是改动并没提交,本地确实在此时改动,那请问怎么样才知道是哪些文件有这样的改动呢,我好删除,有命令么?
1)svn stat查看有无冲突:
svn stat .
看没有conflict啊:
svn stat .|grep conflict
2)对服务器中因中间临时修改时的文件予以强制回退到svn版本中,如下:希望恢复一整个目录的文件,可以使用--depth=infinity选项
[root@localhost cntv_mytv]# cd application/
[root@localhost application]# svn revert --depth=infinity .
Reverted 'models/app.php'
————————————————————————————————
问题是确实有服务器的改动,但是改动并没提交,本地确实在此时改动,那请问怎么样才知道是哪些文件有这样的改动呢,我好删除,有命令么?
1)svn stat查看有无冲突:
svn stat .
看没有conflict啊:
svn stat .|grep conflict
2)对服务器中因中间临时修改时的文件予以强制回退到svn版本中,如下:希望恢复一整个目录的文件,可以使用--depth=infinity选项
[root@localhost cntv_mytv]# cd application/
[root@localhost application]# svn revert --depth=infinity .
Reverted 'models/app.php'
————————————————————————————————
平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:阅读全文
xdebug.max_nesting_level=30 //这个值不能太少,尤其是核心Core.php(特别指:框架核心),30较为靠谱,否则出现如下:
PHP Fatal error: Maximum function nesting level of '10' reached, aborting! in /data/htdocs/jackxiang.com/libraries/core.php on line 315
vi +315 /data/htdocs/jackxiang.com/libraries/core.php
313 public static function autoload ($class)
314 {
315 if (class_exists($class, FALSE))
shell_exec/proc_open 两函数得打开:
+-----------------------------------------------------------+
| ! ERROR ! |
| The test-suite requires that proc_open() is available. |
| Please check if you disabled it in php.ini. |
+-----------------------------------------------------------+
shell_exec() has been disabled for security reasons in /home/test/rpmbuild/BUILD/xdebug-2.7.0alpha1/run-tests.php on line 306
阅读全文
PHP Fatal error: Maximum function nesting level of '10' reached, aborting! in /data/htdocs/jackxiang.com/libraries/core.php on line 315
vi +315 /data/htdocs/jackxiang.com/libraries/core.php
313 public static function autoload ($class)
314 {
315 if (class_exists($class, FALSE))
shell_exec/proc_open 两函数得打开:
+-----------------------------------------------------------+
| ! ERROR ! |
| The test-suite requires that proc_open() is available. |
| Please check if you disabled it in php.ini. |
+-----------------------------------------------------------+
shell_exec() has been disabled for security reasons in /home/test/rpmbuild/BUILD/xdebug-2.7.0alpha1/run-tests.php on line 306
阅读全文
自己安装了一个,得到CentOs6.0的内核版本号:
刻录需要超刻的方法:
打开Nero文件-选项-高级 启动DVD超刻 前面打勾,然后确定。数度选择4X,最后,提示刻录失败,其实已经好了。
Last:
自己刻录,自己安装,果然Ok啊,哈哈。
================================================================
centos 6.0已经正式发布了,做为一个大版本的第一个版本肯定有很多问题,RHEL 6.1早发布修补了很多问题,当然还有增强(或增加)了一些功能,所以真正重要生产服务器还是期待centos 6.1的发布,估计下个月底就会发布。
http://qaweb.dev.centos.org/qa/dashboard 预计下周会正式发布下载,且centos 5.7 发布也一样
2011-08-26
centos 5.7官方最新消息称最快7-10天内发布
centos 6.1不太顺利,估计要比5.7晚点
2011-09-01
centos 5.7已经发布了,开始同步外部镜像,估计这两天就可以下载
现在已经有部份镜像点有下载了:
http://ftp.twaren.net/Linux/CentOS/5.7/isos
http://centos.mirror.nexicom.net/5.7/isos/
更多的见:http://www.centos.org/modules/tinycontent/index.php?id=30
按照计划先推出CentOS 6,然后再进行CentOS 6.1的工作。centos。Karanbir表示CentOS 6将在未来的数个星期内发布,而之后的CentOS 6.1只需要几个星期的时间,centos ftp,因为目前CentOS 6的开发branch的自动化和测试流程已经基本完善。centos和rhel。
centos 6.1预15天左右可供下载,可能还得等,官方更新build包日志:http://qaweb.dev.centos.org/qa/blog ,感谢CentOS团队无私的奉献。
在centos 6.1发布之前,centos临时发布了CentOS 6.0 CR Repo,有需要的可以下载用于CENTOS 6.0,同时也说明centos 6.1可能会再次跳票(大家都习惯了吧!)
# yum install centos-release-cr
# yum update
详见:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=33458&forum=53
http://www.h-online.com/open/news/item/Advance-updates-for-CentOS-6-1-1350302.html
刻录需要超刻的方法:
打开Nero文件-选项-高级 启动DVD超刻 前面打勾,然后确定。数度选择4X,最后,提示刻录失败,其实已经好了。
Last:
自己刻录,自己安装,果然Ok啊,哈哈。
================================================================
centos 6.0已经正式发布了,做为一个大版本的第一个版本肯定有很多问题,RHEL 6.1早发布修补了很多问题,当然还有增强(或增加)了一些功能,所以真正重要生产服务器还是期待centos 6.1的发布,估计下个月底就会发布。
http://qaweb.dev.centos.org/qa/dashboard 预计下周会正式发布下载,且centos 5.7 发布也一样
2011-08-26
centos 5.7官方最新消息称最快7-10天内发布
centos 6.1不太顺利,估计要比5.7晚点
2011-09-01
centos 5.7已经发布了,开始同步外部镜像,估计这两天就可以下载
现在已经有部份镜像点有下载了:
http://ftp.twaren.net/Linux/CentOS/5.7/isos
http://centos.mirror.nexicom.net/5.7/isos/
更多的见:http://www.centos.org/modules/tinycontent/index.php?id=30
按照计划先推出CentOS 6,然后再进行CentOS 6.1的工作。centos。Karanbir表示CentOS 6将在未来的数个星期内发布,而之后的CentOS 6.1只需要几个星期的时间,centos ftp,因为目前CentOS 6的开发branch的自动化和测试流程已经基本完善。centos和rhel。
centos 6.1预15天左右可供下载,可能还得等,官方更新build包日志:http://qaweb.dev.centos.org/qa/blog ,感谢CentOS团队无私的奉献。
在centos 6.1发布之前,centos临时发布了CentOS 6.0 CR Repo,有需要的可以下载用于CENTOS 6.0,同时也说明centos 6.1可能会再次跳票(大家都习惯了吧!)
# yum install centos-release-cr
# yum update
详见:
https://www.centos.org/modules/newbb/viewtopic.php?topic_id=33458&forum=53
http://www.h-online.com/open/news/item/Advance-updates-for-CentOS-6-1-1350302.html
Linus 大神早前已经说了 Linux 内核的版本号太长了,在 2.6.39 内核后直接跳上了 3.0 内核,并且已经发布了新的版本。但是 Fedora 某部分维护者似乎有所不甘。
不甘的原因是他们不想 Fedora 15 整个生命周期都只能使用 2.6.38 内核,而无法享受 3.0 内核带来的。但是如果直接使用 3.0 内核,因为版本号的问题可能会出现兼容性问题,而且工程量大。于是维护者们就把 3.0 内核的版本号更改为 2.6.40 内核。本质上 2.6.40 内核和 3.0 内核没有任何区别。
2.6.40 内核暂时还有一小部分兼容性的 Bug,稍后会逐一解决。短期内将会推送到 updates-testing 以供测试。此内核只会特供 Fedora 15 使用。Fedora 16 和已经指向至 Fedora 17 的 Rawhide 将会使用 3.x 内核。
来源:http://www.oschina.net/news/20189/fedora-15-linux-kernel-2-6-40
不甘的原因是他们不想 Fedora 15 整个生命周期都只能使用 2.6.38 内核,而无法享受 3.0 内核带来的。但是如果直接使用 3.0 内核,因为版本号的问题可能会出现兼容性问题,而且工程量大。于是维护者们就把 3.0 内核的版本号更改为 2.6.40 内核。本质上 2.6.40 内核和 3.0 内核没有任何区别。
2.6.40 内核暂时还有一小部分兼容性的 Bug,稍后会逐一解决。短期内将会推送到 updates-testing 以供测试。此内核只会特供 Fedora 15 使用。Fedora 16 和已经指向至 Fedora 17 的 Rawhide 将会使用 3.x 内核。
来源:http://www.oschina.net/news/20189/fedora-15-linux-kernel-2-6-40
学习linux也有一段时间了,之前都用着ubuntu8.04,这两天安装了suse10.3,发觉内核才是2.6.22.19。于是就动手了....
百度。google 但发觉suse升级内核的很少,所以就写出这篇东西来,给朋友们一个参考!!也请老鸟们指点指点!!
1.首先查看内核版本
linux-lguj:/home/sheng # uname -a
Linux linux-lguj 2.6.22.19-0.1-default #1 SMP 2008-10-14 22:17:43 +0200 i686 i686 i386 GNU/Linux
2.安装编译工具
GCC-C++
make
ncurses
ncurses-devel
下载你想要的内核
3.我下载的是kernel-2.6.26 下载地址http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2
然后解压/usr/src下untar这个包.
tar -xjfv linux-2.6.25.tar.bz2
4. 配置内核
cd /usr/src/linux-2.6.25
make mrproper(删除一些stable的文件,针对刚download下来的包这一步没必要)
make menuconfig(图形化配置你的新内核模块)
5.编译安装
make (晕死,我的死烂机子要2个小时阿,真的等到我头晕)
make modules_install
make install(系统将会把vmlinuz和System.map复制到/boot目录下同时修改grub)
然后重启你的计算机reboot
6.删除你不想要的久内核
先查看一下 rpm -qa|grep kernel
kernel-default-2.6.22.19-0.1(依赖包microcode,得先删除microcode)
linux-kernel-headers-2.6.22-19
kernel-source-2.6.22.19-0.1
然后
rpm -e kernel-default-2.6.22.19-0.1
rpm -e kernel-source-2.6.22.19-0.1
7.重新安装 kernel-source(为一会安装nvidia驱动做好准备)
到http://rpm.pbone.net/index.php3/stat/4/idpl/9639299/com/kernel-source-2.6.26-8.16.i586.rpm.html下载
然后安装。ok
百度。google 但发觉suse升级内核的很少,所以就写出这篇东西来,给朋友们一个参考!!也请老鸟们指点指点!!
1.首先查看内核版本
linux-lguj:/home/sheng # uname -a
Linux linux-lguj 2.6.22.19-0.1-default #1 SMP 2008-10-14 22:17:43 +0200 i686 i686 i386 GNU/Linux
2.安装编译工具
GCC-C++
make
ncurses
ncurses-devel
下载你想要的内核
3.我下载的是kernel-2.6.26 下载地址http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2
然后解压/usr/src下untar这个包.
tar -xjfv linux-2.6.25.tar.bz2
4. 配置内核
cd /usr/src/linux-2.6.25
make mrproper(删除一些stable的文件,针对刚download下来的包这一步没必要)
make menuconfig(图形化配置你的新内核模块)
5.编译安装
make (晕死,我的死烂机子要2个小时阿,真的等到我头晕)
make modules_install
make install(系统将会把vmlinuz和System.map复制到/boot目录下同时修改grub)
然后重启你的计算机reboot
6.删除你不想要的久内核
先查看一下 rpm -qa|grep kernel
kernel-default-2.6.22.19-0.1(依赖包microcode,得先删除microcode)
linux-kernel-headers-2.6.22-19
kernel-source-2.6.22.19-0.1
然后
rpm -e kernel-default-2.6.22.19-0.1
rpm -e kernel-source-2.6.22.19-0.1
7.重新安装 kernel-source(为一会安装nvidia驱动做好准备)
到http://rpm.pbone.net/index.php3/stat/4/idpl/9639299/com/kernel-source-2.6.26-8.16.i586.rpm.html下载
然后安装。ok
背景:我的vps服务器是centos6.4的,后想升级到最新版本,会不会提高点性能,于是作下升级,并成功升级。
对任何较早的CentOS6.x的版本,在命令行中使用yum update命令,您可以轻松地升级到CentOS6.5。升级之前,我建议大家将重要文件,数据库,配置文件等备份下。
# yum update
升级过程可能需要长达-15-30分钟取决于您的网络速度。一旦升级过程完成后,运行以下命令来验证您的系统版本。
# cat /etc/redhat-release
CentOS release 6.5 (Final)
接下来,运行yum list updates;命令可以列出更新所有可用的列表。
# yum list updates
我们推荐大家通过重新安装运行,而不是尝试从CentOS的4.x或5.x的CentOS的就地升级
另一个查看版本的办法:
[root@localhost /]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.7 (Final)
Release: 6.7
Codename: Final
升级前:
升级后:
阅读全文
对任何较早的CentOS6.x的版本,在命令行中使用yum update命令,您可以轻松地升级到CentOS6.5。升级之前,我建议大家将重要文件,数据库,配置文件等备份下。
# yum update
升级过程可能需要长达-15-30分钟取决于您的网络速度。一旦升级过程完成后,运行以下命令来验证您的系统版本。
# cat /etc/redhat-release
CentOS release 6.5 (Final)
接下来,运行yum list updates;命令可以列出更新所有可用的列表。
# yum list updates
我们推荐大家通过重新安装运行,而不是尝试从CentOS的4.x或5.x的CentOS的就地升级
另一个查看版本的办法:
[root@localhost /]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.7 (Final)
Release: 6.7
Codename: Final
升级前:
升级后:
阅读全文
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.13.tgz
安装篇:https://www.cnblogs.com/l12138h/p/16293153.html
启停:
1)启动:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
2)停止:
[root@ml_test_bj_szq_10_169_70_54 bin]# ./mongo
MongoDB shell version v4.0.4
> use admin
switched to db admin
> db.shutdownServer();
server should be down...
2020-05-15T10:40:12.625+0800 I NETWORK [js] trying reconnect to 127.0.0.1:27017 failed
2020-05-15T10:40:12.625+0800 I NETWORK [js] reconnect 127.0.0.1:27017 failed failed
ss -lnt #成功停止无27017端口了。
源码安装:http://www.blogjava.net/xiaomage234/archive/2012/07/18/383403.html
MONGO_URL=mongodb://localhost:27017 meteor
db.players.find().limit(100);
db.players.update({"_id":"177ffc27-608b-4807-923c-6ea57f17ce11"}, {"name" : "Ada Lovelace", "score" : 2000});
http://www.mongovue.com/downloads/ GUI
http://rockmongo.com/?action=downloads
mongoDB非正常关闭后无法启动问题
servers don't have journaling enabled by default. Please use --journal if you want durability:
解决方法:
1、删除%MONGO_HOME%/db下的.lock文件
2、输入命令 mongod --repair
3、重启mongoDB
-----------------------------------------------------------------------------------------------------------------------
post ={"title":"My Blog Post","content":"Here's my blog post","date":new Date()}
db.blog.insert(post)
以上是插入示例。
shell中的基本操作
1.创建
post ={"title":"My Blog Post","content":"Here's my blog post","date":new Date()}
db.blog.insert(post)
2.读取
db.blog.find() 会返回集合blog里面所有的文档
db.blog.findOne() 只会查一个文档(更多详细看第四章)
3.更新
update 至少需要2个参数、
1.更新文档的限定条件
2.新文档
post.comments = []
db.blog.update("title":"My Blog Post",post)
4.删除
db.blog.remove("title","My Blog Post")
5.使用窍门
help 获取帮助
查看函数
db.foo.update
如何得到 foo-bar 集合
db.getCollection("foo-bar")
属性和目标集合同名时
db.getCollection("version")
访问子集
x.y 和 x['y']两种都可以 要学活灵活应用
6.数据类型
null {"x":null}
boolean(true 和 false) {"x":true}
64位浮点数 {"x",3}
字符串 {"x":"foobar"}
对象id {"x":ObjectId()}
日期 {"x" : new Date()}
正则表达式 {"x":/foobar/i}
代码 {"x": function(){/*....*/}}
未定义{"x":undefined}
数组 {"x":["a","b","c"]}
内嵌文档 {"x":{"foo":"bar"}}
对象Id 在不同的机器上 每次生成都会保持不同
编译安装:http://blog.chinaunix.net/uid-26922865-id-3400712.html
直接安装:
1、安装MongoDB
curl -o http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.0.tgz
tar -zxvf mongodb-linux-i686-2.0.0
2、启动MongoDB
./bin/mongod -dbpath=../data
./bin/mongo
3、实际操作
这个是Ok的,通过RockMongo客户端后,用户名:admin 密码:admin登录。
需要验证,实践些问题,用下面去掉:--auth这个。
这个能启动,且可以终端登
安装篇:https://www.cnblogs.com/l12138h/p/16293153.html
启停:
1)启动:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
2)停止:
[root@ml_test_bj_szq_10_169_70_54 bin]# ./mongo
MongoDB shell version v4.0.4
> use admin
switched to db admin
> db.shutdownServer();
server should be down...
2020-05-15T10:40:12.625+0800 I NETWORK [js] trying reconnect to 127.0.0.1:27017 failed
2020-05-15T10:40:12.625+0800 I NETWORK [js] reconnect 127.0.0.1:27017 failed failed
ss -lnt #成功停止无27017端口了。
源码安装:http://www.blogjava.net/xiaomage234/archive/2012/07/18/383403.html
MONGO_URL=mongodb://localhost:27017 meteor
db.players.find().limit(100);
db.players.update({"_id":"177ffc27-608b-4807-923c-6ea57f17ce11"}, {"name" : "Ada Lovelace", "score" : 2000});
http://www.mongovue.com/downloads/ GUI
http://rockmongo.com/?action=downloads
mongoDB非正常关闭后无法启动问题
servers don't have journaling enabled by default. Please use --journal if you want durability:
解决方法:
1、删除%MONGO_HOME%/db下的.lock文件
2、输入命令 mongod --repair
3、重启mongoDB
-----------------------------------------------------------------------------------------------------------------------
post ={"title":"My Blog Post","content":"Here's my blog post","date":new Date()}
db.blog.insert(post)
以上是插入示例。
shell中的基本操作
1.创建
post ={"title":"My Blog Post","content":"Here's my blog post","date":new Date()}
db.blog.insert(post)
2.读取
db.blog.find() 会返回集合blog里面所有的文档
db.blog.findOne() 只会查一个文档(更多详细看第四章)
3.更新
update 至少需要2个参数、
1.更新文档的限定条件
2.新文档
post.comments = []
db.blog.update("title":"My Blog Post",post)
4.删除
db.blog.remove("title","My Blog Post")
5.使用窍门
help 获取帮助
查看函数
db.foo.update
如何得到 foo-bar 集合
db.getCollection("foo-bar")
属性和目标集合同名时
db.getCollection("version")
访问子集
x.y 和 x['y']两种都可以 要学活灵活应用
6.数据类型
null {"x":null}
boolean(true 和 false) {"x":true}
64位浮点数 {"x",3}
字符串 {"x":"foobar"}
对象id {"x":ObjectId()}
日期 {"x" : new Date()}
正则表达式 {"x":/foobar/i}
代码 {"x": function(){/*....*/}}
未定义{"x":undefined}
数组 {"x":["a","b","c"]}
内嵌文档 {"x":{"foo":"bar"}}
对象Id 在不同的机器上 每次生成都会保持不同
编译安装:http://blog.chinaunix.net/uid-26922865-id-3400712.html
直接安装:
1、安装MongoDB
curl -o http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.0.tgz
tar -zxvf mongodb-linux-i686-2.0.0
2、启动MongoDB
./bin/mongod -dbpath=../data
./bin/mongo
3、实际操作
这个是Ok的,通过RockMongo客户端后,用户名:admin 密码:admin登录。
需要验证,实践些问题,用下面去掉:--auth这个。
这个能启动,且可以终端登
从家里洗衣机坏了说需求产生价值的三段论
今天,家里的洗衣机坏了,于是自己用螺丝刀拧开看原料来有两处,一处是定时器坏了,最重要的一处是,那个打开放水的闸门的线由于老化也坏了,
于是否,找了一个店家去修理下,我说明了大致情况,我看到的实际情形是:他从一坏乱七八糟的“垃圾”中找出了一根绳子,然后就带上工具来
修理了,一陈倒腾后,还带点测试性质的做了下放水开闸测试,也就是换上了从垃圾堆里整的绳,后面是修理定时器,后面我不想多讲,不是重点。
我想这是我能亲眼见到的一件让人感悟很深的事儿,是什么让垃圾中的一根绳的价值复燃,是什么让这个绳子的价值得以翻千倍增长,我想它
应该是人的需求,也就是我们常说的用户需求,它让一跟垃圾堆中的绳子产生了价值,而又是谁让其这根绳的价值增长如些多的倍数呢?我想它是
人, 是一个人在一定的时空产生的需求后,选用一件物体去解决,那人本身解决这个需求的一个过程,使其这根绳的价值得以翻倍,人对物的选择
来自人的需求是其内核,使其不光让物具有了价值而且使人做的某事有价值,于是物的本身的价值也被因它所处的位置后导致其价值放大在数千倍
的核心还是来始终自于用户需求。
其实,我们做互联网也是在满足用户需求,试问为什么你在家里写一行代码(我写代码的)和在给公司写代码时其价值也会有如此大的区别呢?
呵呵,其实你写的代码 就像那上面的一根绳,他很可能很快就会被和垃圾放在一类,不久就会扔掉,给公司写就不一样了,怎么不一样:它是解决
了一个用户(它可能是一个重要用户,或者它是一群用户)的需求,而给这个行业,这个社会带来了实实在在的价值,这才是它的根本所在,为此,
让我想起一个故事:
一个人开着豪车在路途中坏了,于是找了一个犹太人修理,那犹太人拿一铁锤左右瞧瞧,上下敲敲,最后使劲在车的某个部位敲了下,于是车好了。
最后,向那个兄弟 要价29美元,那开车人就问,为何你一锤子就要29美元?那人回答,一锤子1美元,知道在哪儿锤28美元,Thanks,这个故事很好。
回想们做互联网也好,做其它行业也好,都是在解决某个人,某类人的事儿的问题,而本质是人的问题,我们以小学作文的老三段来论述:
第一段: 某个人,但它不是一个人,它是有血有肉的一个人类中的人。哇哈,这个人就有其社会属性,阶层属性,但无论他是什么样的人,也就是
无论他有多么的附加属性,如:此人牛B,但他总会在人类生活中遇到这样那样的问题,不是吗?如果你能解决 (其你这个人也受你本人的时空和阶层的
限定,如你出生就喜欢开跑车对车性能熟悉,你可能解决车相关的问题。如果你是农民工,你可以解决住房问题,考,这住房问题确实不 大容易让农
民工解决哇,哭了。),那么恭喜你,你就有了一个成功的开始,至少你不会饿死,你可能有一份糊口的工作,但危机从从,步步惊心(最近电视剧名),
解决困扰他人的问题那只是第一步,而从中不只是 为了解决问题,而是更多的分析其内在的联系和存在问题的本质,你能有新的设计解决这个问题吗?等等。
第二段: 这时,你也混多了,技术也熟悉了,恍然发现无论你怎么想去贴近市场需求,但你也仅仅是这个行业中其中一个环节,你这时在这个行业中某
技术方面的剑法已经是驭剑而行,踏浪而来。但这仅仅是众多武功中的一种,但这仅仅是在解决一个人的安全问题,生存依旧困难,如果你能进入大企业
(其本质是解决一个大片人的需求,可能会好很多),说简单点:就像你用PHP说明你是在互联网圈中,但这远远不够,你不能凭借一种武功而让众人折服,得要有用户意识。
常言道不入虎穴,安得虎子,这时需要引入哲学的帮助,那就是深入基层,实事求是看简单,做难呐,相当难啊,我党也经常在这上面犯错,你说难不难。
这时的你可能意识到这些山头已经给人占了,感觉都给占了,于是想分清哪些是蓝海,哪些是红海,看到的都是红海。其实常常在互联网中会有这样的图片,如:
此处应有贴图:
层次不够,需要修炼,你会发现技术它是一种日常干活的工具,产品才是其服务的对象的时候,你会发现自己为何当时要搞技术,不直接搞产品哩,其实这种想法不对,
当你领悟到无论搞什么都一样时,你就快到第三个层次了,就是下面的第三段,你能真真做出某个产品来解决一大堆用户困扰的问题吗?能有海量服务的产品经验吗。
第三段: 第二段你发现产品经理很牛,但它也只是个产品,其实都是服从于核心需求,就像今天换灯时发现就一个外壳,里面是两个荧光灯,从技术上说很简单,但要整个
好的灯罩,这就是学问了,整个好的灯罩你以为就牛了,但再好的产品,没有一个好的推广营销到用户的手里,换成钱,这是价值的最后确定实现,且得到认可,
如只有产品,但是没有钱回来,虾扯蛋不说,估计产品也做不下去了,这时你得反省你这产品,是不是你给自己做的产品喔,只有无我,才能做出好产品呐。
你不是你,你不是用户,就像1+1不等于二那样的玄乎,这时,你还觉得产品牛B吗?觉得某个技术NewB吗?觉得某一个人牛B吗,其实都 一样,此时,我想你可以从1再到3,
恭喜你,你上道了。
其实,很多很多的老三段,我们的古人都做了总结和分析,如毛爷爷说的一句话,从群众中来,到群众中去,实事求是等,只有贴地飞行(低姿态飞行),才能不被敌人的雷达(用户警戒线)发现,
你说老美的飞机到中国来就发现它确实有这个功能,我倒! 所以产品做好不是件容易的事儿啊,比如今天偶的洗衣机坏了,就是这个产品的设计上没有做好造成的。所以,这是一个变革的社会。
这时的你这时真做出一个产品能符合用户在这个时空下的的预期吗?你能保证你的产品时时刻刻符合用户的需求吗?为什么我们的产品一直在升级,一直在做版本迭代,就是人TMD需求是时时刻刻在变。
所以,不要说产品都给人做完了,产品永远都是做不完的,所以,钱也是永远赚不完的,我想大抵应该是这样的罢,以人为本,和气生财。
在某个时间点上某个空间下,当你真能确信无疑的解决一群的用户(它可能是某个行业的,某个年龄段的,某个性别的)的问题,十拿九稳,那你就干吧?
Who r U Prepare to do其实就是老三段,过了这三段后的你就更需要像Like的广告一样:Just Do It,恭喜你,你领悟了,命运之神降临到你那儿,呵呵。
今天,家里的洗衣机坏了,于是自己用螺丝刀拧开看原料来有两处,一处是定时器坏了,最重要的一处是,那个打开放水的闸门的线由于老化也坏了,
于是否,找了一个店家去修理下,我说明了大致情况,我看到的实际情形是:他从一坏乱七八糟的“垃圾”中找出了一根绳子,然后就带上工具来
修理了,一陈倒腾后,还带点测试性质的做了下放水开闸测试,也就是换上了从垃圾堆里整的绳,后面是修理定时器,后面我不想多讲,不是重点。
我想这是我能亲眼见到的一件让人感悟很深的事儿,是什么让垃圾中的一根绳的价值复燃,是什么让这个绳子的价值得以翻千倍增长,我想它
应该是人的需求,也就是我们常说的用户需求,它让一跟垃圾堆中的绳子产生了价值,而又是谁让其这根绳的价值增长如些多的倍数呢?我想它是
人, 是一个人在一定的时空产生的需求后,选用一件物体去解决,那人本身解决这个需求的一个过程,使其这根绳的价值得以翻倍,人对物的选择
来自人的需求是其内核,使其不光让物具有了价值而且使人做的某事有价值,于是物的本身的价值也被因它所处的位置后导致其价值放大在数千倍
的核心还是来始终自于用户需求。
其实,我们做互联网也是在满足用户需求,试问为什么你在家里写一行代码(我写代码的)和在给公司写代码时其价值也会有如此大的区别呢?
呵呵,其实你写的代码 就像那上面的一根绳,他很可能很快就会被和垃圾放在一类,不久就会扔掉,给公司写就不一样了,怎么不一样:它是解决
了一个用户(它可能是一个重要用户,或者它是一群用户)的需求,而给这个行业,这个社会带来了实实在在的价值,这才是它的根本所在,为此,
让我想起一个故事:
一个人开着豪车在路途中坏了,于是找了一个犹太人修理,那犹太人拿一铁锤左右瞧瞧,上下敲敲,最后使劲在车的某个部位敲了下,于是车好了。
最后,向那个兄弟 要价29美元,那开车人就问,为何你一锤子就要29美元?那人回答,一锤子1美元,知道在哪儿锤28美元,Thanks,这个故事很好。
回想们做互联网也好,做其它行业也好,都是在解决某个人,某类人的事儿的问题,而本质是人的问题,我们以小学作文的老三段来论述:
第一段: 某个人,但它不是一个人,它是有血有肉的一个人类中的人。哇哈,这个人就有其社会属性,阶层属性,但无论他是什么样的人,也就是
无论他有多么的附加属性,如:此人牛B,但他总会在人类生活中遇到这样那样的问题,不是吗?如果你能解决 (其你这个人也受你本人的时空和阶层的
限定,如你出生就喜欢开跑车对车性能熟悉,你可能解决车相关的问题。如果你是农民工,你可以解决住房问题,考,这住房问题确实不 大容易让农
民工解决哇,哭了。),那么恭喜你,你就有了一个成功的开始,至少你不会饿死,你可能有一份糊口的工作,但危机从从,步步惊心(最近电视剧名),
解决困扰他人的问题那只是第一步,而从中不只是 为了解决问题,而是更多的分析其内在的联系和存在问题的本质,你能有新的设计解决这个问题吗?等等。
第二段: 这时,你也混多了,技术也熟悉了,恍然发现无论你怎么想去贴近市场需求,但你也仅仅是这个行业中其中一个环节,你这时在这个行业中某
技术方面的剑法已经是驭剑而行,踏浪而来。但这仅仅是众多武功中的一种,但这仅仅是在解决一个人的安全问题,生存依旧困难,如果你能进入大企业
(其本质是解决一个大片人的需求,可能会好很多),说简单点:就像你用PHP说明你是在互联网圈中,但这远远不够,你不能凭借一种武功而让众人折服,得要有用户意识。
常言道不入虎穴,安得虎子,这时需要引入哲学的帮助,那就是深入基层,实事求是看简单,做难呐,相当难啊,我党也经常在这上面犯错,你说难不难。
这时的你可能意识到这些山头已经给人占了,感觉都给占了,于是想分清哪些是蓝海,哪些是红海,看到的都是红海。其实常常在互联网中会有这样的图片,如:
此处应有贴图:
层次不够,需要修炼,你会发现技术它是一种日常干活的工具,产品才是其服务的对象的时候,你会发现自己为何当时要搞技术,不直接搞产品哩,其实这种想法不对,
当你领悟到无论搞什么都一样时,你就快到第三个层次了,就是下面的第三段,你能真真做出某个产品来解决一大堆用户困扰的问题吗?能有海量服务的产品经验吗。
第三段: 第二段你发现产品经理很牛,但它也只是个产品,其实都是服从于核心需求,就像今天换灯时发现就一个外壳,里面是两个荧光灯,从技术上说很简单,但要整个
好的灯罩,这就是学问了,整个好的灯罩你以为就牛了,但再好的产品,没有一个好的推广营销到用户的手里,换成钱,这是价值的最后确定实现,且得到认可,
如只有产品,但是没有钱回来,虾扯蛋不说,估计产品也做不下去了,这时你得反省你这产品,是不是你给自己做的产品喔,只有无我,才能做出好产品呐。
你不是你,你不是用户,就像1+1不等于二那样的玄乎,这时,你还觉得产品牛B吗?觉得某个技术NewB吗?觉得某一个人牛B吗,其实都 一样,此时,我想你可以从1再到3,
恭喜你,你上道了。
其实,很多很多的老三段,我们的古人都做了总结和分析,如毛爷爷说的一句话,从群众中来,到群众中去,实事求是等,只有贴地飞行(低姿态飞行),才能不被敌人的雷达(用户警戒线)发现,
你说老美的飞机到中国来就发现它确实有这个功能,我倒! 所以产品做好不是件容易的事儿啊,比如今天偶的洗衣机坏了,就是这个产品的设计上没有做好造成的。所以,这是一个变革的社会。
这时的你这时真做出一个产品能符合用户在这个时空下的的预期吗?你能保证你的产品时时刻刻符合用户的需求吗?为什么我们的产品一直在升级,一直在做版本迭代,就是人TMD需求是时时刻刻在变。
所以,不要说产品都给人做完了,产品永远都是做不完的,所以,钱也是永远赚不完的,我想大抵应该是这样的罢,以人为本,和气生财。
在某个时间点上某个空间下,当你真能确信无疑的解决一群的用户(它可能是某个行业的,某个年龄段的,某个性别的)的问题,十拿九稳,那你就干吧?
Who r U Prepare to do其实就是老三段,过了这三段后的你就更需要像Like的广告一样:Just Do It,恭喜你,你领悟了,命运之神降临到你那儿,呵呵。
实践来自,后加上PHP数据库长连接mysql_pconnect的细节:
http://my.oschina.net/louxin/blog/95436
apache的prefork模式(进程池),它不能保证每次客户端的请求都是在同一个进程,所以你不知道我的长连接该如何保持?
下面就从另一个角度来讲这个长连接通过一个keepalive来实现,这样就让apache保持住了到mysql的连接句柄。
对,其实都是伪连接,因为Mysql有一个默认值是38000吧?记不清了,就是长连接到这个时间后,Mysql就会断开的,你再:sutomysqliping....因为:超过 wait_timeout ,msyql就会主动断开,php 需要再进行长连接。
php的mysql持久化连接,美好的目标,却拥有糟糕的口碑,往往令人敬而远之。这到底是为啥么。近距离观察后发现,这家伙也不容易啊,要看apache的脸色,还得听mysql指挥。阅读全文
http://my.oschina.net/louxin/blog/95436
apache的prefork模式(进程池),它不能保证每次客户端的请求都是在同一个进程,所以你不知道我的长连接该如何保持?
下面就从另一个角度来讲这个长连接通过一个keepalive来实现,这样就让apache保持住了到mysql的连接句柄。
对,其实都是伪连接,因为Mysql有一个默认值是38000吧?记不清了,就是长连接到这个时间后,Mysql就会断开的,你再:sutomysqliping....因为:超过 wait_timeout ,msyql就会主动断开,php 需要再进行长连接。
php的mysql持久化连接,美好的目标,却拥有糟糕的口碑,往往令人敬而远之。这到底是为啥么。近距离观察后发现,这家伙也不容易啊,要看apache的脸色,还得听mysql指挥。阅读全文
awk 获取 Linux下的ip地址
Unix/LinuxC技术 jackxiang 2011-9-15 15:54
法一:
法二:
由于不同系统中ifconfig返回信息的格式有一定差别,故分开讨论:
Linux:
FreeBSD/OpenBSD:
Solaris:
三段代码的原理类似,都是先获取含有IP的行,再去掉含有127.0.0.1的行。最后获取IP所在的列
参考:http://linux-wiki.cn/wiki/Shell%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8DIP%E5%9C%B0%E5%9D%80
法二:
由于不同系统中ifconfig返回信息的格式有一定差别,故分开讨论:
Linux:
FreeBSD/OpenBSD:
Solaris:
三段代码的原理类似,都是先获取含有IP的行,再去掉含有127.0.0.1的行。最后获取IP所在的列
参考:http://linux-wiki.cn/wiki/Shell%E4%B8%AD%E8%8E%B7%E5%8F%96%E5%BD%93%E5%89%8DIP%E5%9C%B0%E5%9D%80
[个人原创]zend studio 8.01 使用PHPDoc
Php/Js/Shell/Go jackxiang 2011-9-15 14:34
右键单击该项目,从中您希望PHPDoc生成和选择Generate PHP Doc 或Project | Generate PHPDoc 或按Alt+D,该PHPDoc生成对话框将打开。
以后直接这样做:右键单击该项目,按Alt+D,后面就可以选择项目进行生成PHPDoc.
---
C:\Documents and Settings\jackxiang\Zend\workspaces\DefaultWorkspace\doc
生成文档HTML位置如下:
file:///C:/Documents%20and%20Settings/jackxiang/Zend/workspaces/DefaultWorkspace/doc/index.html
以后直接这样做:右键单击该项目,按Alt+D,后面就可以选择项目进行生成PHPDoc.
---
C:\Documents and Settings\jackxiang\Zend\workspaces\DefaultWorkspace\doc
生成文档HTML位置如下:
file:///C:/Documents%20and%20Settings/jackxiang/Zend/workspaces/DefaultWorkspace/doc/index.html
如今网站的图片越来越多在访问量大的时候 带宽也遇到一定的瓶颈 我们可以把一些不是经常更新的静态图片或css一类的东东缓存到访问者的本地机器上 在apache和nginx中配置静态图片本地缓存的操作步骤如下:
apache:
nginx:
来源:http://loosky.net/?p=1856
背景:有时在nginx的前端再搭一个squit的缓存机器,为此会看到:X-Cache HIT web-cache-10421
(squid中的X-Cache和X-Cache-Lookup的意义)
http://tiandirensoon.iteye.com/blog/1282530
nginx的cache使用两例:
建议将CAHCE部分添加HEADER信息,方便分析是否真的缓存:
add_header X-Cache HIT-LT;
添加的内容:
add_header X-Cache HIT-LinuxTone;
nginx的cache功能可以把URL及相关组合当作Key,用md5编码哈希后保存在硬盘上,配置灵活,功能好不亚于squid。
下载:
wget http://labs.frickle.com/files/ngx_cache_purge-1.1.tar.gz
wget http://nginx.org/download/nginx-0.8.44.tar.gz
编译:
./configure \
"--user=www" \
"--group=www" \
"--add-module=../ngx_cache_purge-1.1" \
"--prefix=/usr/local/nginx/" \
"--with-http_stub_status_module" \
"--with-http_ssl_module" \
"--with-md5=/usr/lib" \
"--with-sha1=/usr/lib"
来自:http://bbs.linuxtone.org/thread-6875-1-1.html
apache:
nginx:
来源:http://loosky.net/?p=1856
背景:有时在nginx的前端再搭一个squit的缓存机器,为此会看到:X-Cache HIT web-cache-10421
(squid中的X-Cache和X-Cache-Lookup的意义)
http://tiandirensoon.iteye.com/blog/1282530
nginx的cache使用两例:
建议将CAHCE部分添加HEADER信息,方便分析是否真的缓存:
add_header X-Cache HIT-LT;
添加的内容:
add_header X-Cache HIT-LinuxTone;
nginx的cache功能可以把URL及相关组合当作Key,用md5编码哈希后保存在硬盘上,配置灵活,功能好不亚于squid。
下载:
wget http://labs.frickle.com/files/ngx_cache_purge-1.1.tar.gz
wget http://nginx.org/download/nginx-0.8.44.tar.gz
编译:
./configure \
"--user=www" \
"--group=www" \
"--add-module=../ngx_cache_purge-1.1" \
"--prefix=/usr/local/nginx/" \
"--with-http_stub_status_module" \
"--with-http_ssl_module" \
"--with-md5=/usr/lib" \
"--with-sha1=/usr/lib"
来自:http://bbs.linuxtone.org/thread-6875-1-1.html