centos下可以通过yum很方便快捷的安装所需的软件和库,如果yum的源不好,安装速度会非常慢,centos默认官方源似乎都是国外的,所以速度无法保证,我一直使用163的源,感觉速度不错。下面就说说如何修改yum的源。
1、进入存放源配置的文件夹
cd /etc/yum.repos.d
2、备份默认源
mv ./CentOS-Base.repo ./CentOS-Base.repo.bak
3、使用wget下载163的源
wget http://mirrors.163.com/.help/CentOS-Base-163.repo
4、把下载下来的文件CentOS-Base-163.repo设置为默认源
mv CentOS-Base-163.repo CentOS-Base.repo
通过上述操作就把默认源修改为163的了。当然上述的第三、四步可以合并为如下:
wget http://mirrors.163.com/.help/CentOS-Base-163.repo -O CentOS-Base.repo
mac os 下使用maven执行mvn eclipse:eclipse 时,看到命令行上输出的日志中有一条警告信息,信息如下:
[WARNING] Workspace defines a VM that does not contain a valid jre/lib/rt.jar:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
原因是mac os 下没有rt.jar文件,用classes.jar替代了,其完整路径是/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar,知道原因,解决这个问题也就很容易,只需要做一个软链接即可,操作如下:
cd /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
sudo mkdir -p jre/lib
sudo ln -s /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar jre/lib/rt.jar
如果是root用户,可以省略上述命令中的“sudo”
python中如果需要访问mysql数据库,需要额外安装第三方的库,比较流行的是库是MySQL-python,可以到http://sourceforge.net/projects/mysql-python/下载源代码。解压下载的tar.gz文件,执行如下操作即可完成安装:
python setup.py build
python setup.py install
注意:如果mysql_config(MYSQL_HOME/bin)文件没有位于系统path下,那么需要更改site.cfg文件,在里面指定mysql_config的完整路径。
不出意外,如果你在终端中运行python,导入MySQLdb时,你会收到一个错误,提示中含有“Library not loaded: libmysqlclient.18.dylib”,错误的原因是刚编译安装的lib放在MYSQL_HOME/lib下,终端找不到此位置,解决的方法是可以做一个软链接链接到/usr/lib下,例如:
ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/
另外如果使用eclipse的pydev插件,当需要用到MySQLdb库时,需要在Libraries中指定刚安装后的egg文件的路径,该路径在安装时会有提示,例如我的按照位置为:/Library/Python/2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.7-intel.egg 。
在finder中如果在同一个文件夹看到两个名称一样的文件夹也别大惊小怪,其实是眼睛欺骗了你,因为在mac中显示的文件夹名称和在硬盘上存储文件夹名称可以不一样,也即是“目录的本地化名称”,finder中看到也是这个。另外mac下目录也可以有扩展名。
例如通过终端进行如下操作:
mkdir test.localized
mkdir test.localized/.localized
touch test.localized/.localized/en.strings
touch test.localized/.localized/zh-Hans.strings
en.strings中对应信息为:
"test" = "test dir";
zh-Hans.strings中对应信息为:
"test" = "测试文件夹";
这时候如果你系统使用语言的是中文,finder显示test.localized的名称为“测试文件夹”,如果是系统语言英文,那么显示名字为“test dir”。
更多信息参考Apple官网:
https://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/FileSystemAdvancedPT/LocalizingtheNameofaDirectory/LocalizingtheNameofaDirectory.html%23//apple_ref/doc/uid/TP40010765-CH4-SW1
在window系统中,有复制粘贴和剪切粘贴,对应的快捷键为:ctrl+c ,ctrl+v和ctrl+x,ctrl+v。在mac下的finder中菜单右键和快捷键中都没有剪切这一项,其实通过快捷键还是能进行剪切粘贴操作的,复制粘贴的快捷键为command+c,command+v,而剪切粘贴的第一步一样也是使用command+c,但是粘贴的时候需要用command+option+v,这样就达到剪切粘贴的目的。
默认情况下,在使用finder时候顶部只会显示当前文件夹的名字,虽说可以使用“显示”菜单中的“显示路径栏”在finder的底部显示完整路径,一方面减少finder的可视面积,另外习惯上可能更加习惯看上部。解决上部显示完整路径的方法很简单,只需要在终端中执行如下命令即可:
defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES
需要注意的是在终端中执行上述命令的用户应该和登陆系统的用户一致,另外finder也需要重启一下才能看到效果,重启finder的方法为:快捷键command+option+esc,在弹出的窗口中找到finder并选中,然后点击“重新启动”按钮。
如果想恢复到默认,可以把上述命令结尾的“YES”替换称“NO”再次执行即可。
当忘记wordpress的登陆密码,解决办法很简单,本文介绍的方法是通过修改wordpress登陆判断逻辑实现的。
用任意文本工具打开位于根目录下的wp-includes文件夹中名为user.php文件,找到下面这行(大概位于文件的110行)
if ( !wp_check_password($password, $userdata->user_pass, $userdata->ID) )
把其中的“!”去掉,保存文件,这样你就可以通过用户名加任意密码登陆系统了,登陆后就可以修改密码,密码修改好后记得还原刚才修改的文件。还原后就可以用新密码登陆系统
由于使用了itunes来把手机上的通讯录同步到google账号下,mac的顶部菜单栏的右上角出现了一个自动同步的图标。另外使用MobileMe也可能会有此图标。如果是使用MobileMe造成的,可以在MobileMe里面设置让其不显示。还有一种去掉的方法是,先按住键盘上的command键,再用鼠标点住图标并拖出菜单栏即可。此方法还可以调整右上角图标的顺序。
nginx不止有linux版本,同时也提供window的版本,对应window版本,下载一个压缩包,解压后即可。运行nginx只需要双击nginx.exe就行了。在命令提示行下执行 nginx -h,会看到如下一些帮助信息:
nginx version: nginx/1.2.1
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: NONE)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file
其中使用最多的可能是参数”-t” 和“-s”, 当修改配置文件后可以使用”-t”来检查配置文件是否有错误。“-s”可以实现nginx的退出、重启等操作。
nginx -s quit 安全退出
nginx -s stop 强制退出
nginx -s reload 修改配置文件后,重启nginx使配置文件生效
nginx可以使用server块来设置多个虚拟主机,在server段中用server_name和listen指令来绑定域名和端口。例如:
server {
listen 80;
server_name www.netingcn.com;
location / {
root netingcn_com;
index index.html;
}
}
server {
listen 80;
server_name www.netingcn.net;
location / {
root netingcn_net;
index index.html;
}
}
上述配置就是指定了两个虚拟主机,分别是www.netingcn.com和www.netingcn.net。可能在某些nginx的版本中上述的配置并不能很好的工作,出现的情况是所有的请求都是由第一个server处理的。
造成这个的原因是没有配置一个”Catch All”的缺省server,所谓缺省即是把不匹配配置指定的虚拟主机的请求都交给缺省server来处理。缺省server的配置如下:
server {
listen 80 default_server;
server_name _; # This is just an invalid value which will never trigger on a real hostname.
access_log logs/default.access.log main;
server_name_in_redirect off;
root /var/www/default/htdocs;
}
更多信息参看官方示例:http://blog.chenlb.com/2010/01/nginx-conf-virtual-hosts.html