Tag Archives: MacOSX

Nginx作为Jboss proxy的配置

最近开始深入了解一下Nginx的使用,因为未来工作中需要用到这个东西。在Mac下直接可以通过Macport进行安装,安装完之后在启动命令在/opt/local/sbin/下,配置文件在/opt/local/etc/nginx/目录下,nginx.conf里面配置的是相对路径,其的root路径是/opt/local。

作为java开发人员,以前熟悉了Apache + mod_jk + Jboss的模式,到了Nginx下自然也希望有类似mod_jk的工具来将请求转发给Jboss. 但是在找叔度要这个模块是,他告诉我可以自己将Nginx作为一个Proxy,以反向代理的方式将请求转给Jboss. 在http://wiki.nginx.org/JavaServers上面有教程,看了一下非常简单。 关键是下面这个配置:

server {
listen              8080;
server_name         10.232.22.174;
location / {
proxy_pass   http://127.0.0.1:8100/;
tcp_nodelay     on;
proxy_redirect  off;
proxy_set_header Host            $host;
proxy_set_header X-Real-IP       $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

server {

listen              8080;

server_name         127.0.0.1;

location / {

proxy_pass   http://127.0.0.1:8080/;

tcp_nodelay     on;

proxy_redirect  off;

proxy_set_header Host            $host;

proxy_set_header X-Real-IP       $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

配置好后以-c filename的方式指定用新的配置文件启动nginx服务器,在启动jboss 就ok了。
这两天看了一些Nginx Wiki的文档,有一些心得。要熟练运用这东西最重要的是熟悉它的配置,以及支持的一些运用模式。这快只能通过看文档,做实验来熟悉。要达到高性能,并做一些调优则需要对于网络,Linux底层有很好的认识。
ps: 今天在配置过程中还发现,如果只是kill 掉 nginx master process,保留 worker process,进程仍然会占用80端口。但是这时候通过 lsof -i:80 查看时会发现没有进程占有80端口。后来twitter上的@chzealot给我解释了一下原因:lsof只能查看fd,端口处于time_wait状态时,fd已经close,但是还需要两个MSL time_wait状态才能消逝。

初用MacOSX之技巧篇

最近看了不少关于MacOSX的书,在各本书中弄到了一些MacOSX上的技巧。这些技巧让我在使用Mac时更加顺手,更加流畅。《卓有成效的程序员》一书中说,“花点时间来学习你手边所有隐藏的快捷键”,因为它们可以让你的工作更加高效。

在看到这些各式各样的技巧时,我都将它们整理到了EvenNote上了,其中有一些来自于vgod的博客,有的来自于《卓有成效的程序员》一书,有的来自《The Mac Manual》,甚至有些我自己也搞不清在哪里看到的了。下面是我整理的一些常用的技巧(Tips)。

Tip1:Commamd + shift + G 在Finder下打开前往某目录的地址栏对话框,通过tab可以补全文件夹目录

Tip2:从Finder中将文件夹拖入终端来可以作为触发cd命令的快捷方法

Tip3:在终端下,open 可以打开当前目录下的文档或运行当前目录下的其它程序。open .  用Finder打开当前目录

Tip4:在浏览器下Command + <标签号>  切换到对应的那个标签

Tip5:在Safari下下载Youku,Youtube下载视频:先按command+option+a  再按option点击你的视频档案

Tip6:spotlight有个对应的command line tool叫mdfind,其用法参考其help文档

Tip7:Cmd-`(ESC下面那个键)能在同一个程式的不同视窗间来回切换,多个Safari窗口或终端窗口时,非常有用。

Tip8:Mac OS X的command line环境下,有两个很好用的指令pbcopy和pbpaste。前者是用来将文字透过stdin放到剪贴簿中,后者是把剪贴簿的内容印出至stdout这样就能很方便在shell script中将资料输出至剪贴簿,再贴到别的程式当中。

Tip9: Spotlight搜索时,选中文件按enter键是打开该文件,按下Command + enter则是打开这个文件所在的文件夹。

Tip10:Ctrl+F2键将焦点移动到菜单栏,你可以键入所找菜单的第一部分。当该项被高亮显示时,敲下Enter并逐步键入附属的下级菜单项。该功能与Windows下使用Alt选择菜单项类似。

Tip11: *nix的CLI下有两个很有用的命令,pushd和popd. pushd命令执行两个动作:将你置于你作为参数传进去的目录下,并将当前目录入栈。调用popd命令就可以回到起始位置了。这对命令和cd – 很相似。

Mac入门 软件篇

今年元旦买了个Mac,到现在已经有一个多月了,使用过程中很顺,经常能发现一些让人感觉很爽的小细节。在拿到电脑的刚开始几天,使用起来有点不熟练。不过Mac在友好性上做得很不错,大部分的功能隐藏得都不深,只要细心找找,最终都能找到。许多人担心Mac下的软件不够多,而我使用下来的感觉软件基本够用了,真正有用的软件基本上都会有Mac版,国外的尤其如此。只有游戏不多,不过我并不玩游戏,目前唯一碰到的问题是没办法用网银。

下面分享一下我目前在使用的一些常用软件,包括开发类和日常使用的。

    开发类工具:

  • Eclipse加一些插件,可以胜任大部分的开发需求了;
  • SQLDeveloper 用来连接Oracle数据库服务器,这是Oracle官方出品的,功能够用;
  • Sequel Pro 连接Mysql数据库,这个软件用得不多,不过功能很齐全;
  • Xcode,因为难免有些东西编译需要用到GCC等。
  • Textmate, Mac上“杀手级”代码编辑器,功能非常强大,不过要收费,我可耻的装了个盗版的,目前用得并不多。

因为Mac是基于BSD的,也是Unix家族的一员,所以svn,cvs,python,ruby,perl,ssh,vi之类的东西,系统都自带了,不需要另外安装,甚至连python的编辑器IDLE都自带了。另外开源世界的任何开发相关的东西(工具,语言等),在Mac上都能找到其对应的工具。

除了开发外,使用电脑时还会使用到其它一些软件,其实也没有觉得不方便,PPLive,迅雷好像没有都Mac版,不过我已经很久不用他们了。用Mac后有个特点是众多软件都是外国的,还有许多的开源软件,因此不需要去国内那些到处是广告的垃圾网站了。

    其它一些日常实用的工具:

  • 阅读chm文件用iChm,chmox,这两个都是免费的,其中iChm带有搜索的功能,我很喜欢。
  • PDF直接使用Mac的预览,还有一个更好的工具Tiny4Reader。它可以选中一个词,或一段话后,按a后,会用Dictionary翻译出来,并且还有真人发音读出来,对于经常看英文文档的人来说,这个工具实在是太好用了。
  • 用Evennote做笔记,也做知识的整理,这个东西也是免费的,不过空间有限,只有1G。
  • XMind画脑图,画一些结构图,帮助整理一些东西很有用。
  • iWork系列软件很不错,可以替代Office,兼容doc,ppt,xls文件,我可耻地使用了盗版的,其它的还有OpenOffice等软件
  • 输入法我用Fun Input Toy,五笔支持很不错,拼音我用得少,同时我也装了QIM,很可耻的是这个也没给钱:(。
  • 浏览网页有Safari,Firefox,Chrome,其中Safari有相应的支付宝插件,可以用支付宝的服务。
  • Quicksliver用来查找并运行程序,其实它非常强大,我还没认真研究,当然系统的Spotlight也非常强大,比Windows的搜索强太多了。
  • 在公司有些东西必须用ie访问,因此我用SynergyKM控制公司的那台台式机,于是就可以操纵两台电脑了。
  • 使用MacFUSE支持对NTFS格式磁盘的读写,你的移动硬盘啥的可以在Windows下共用了,这是一个Google的工程师做的开源软件。
  • IM软件我用Adium,这个软件很强大,支持QQ,MSN,GTalk等,当然也用QQ官方的客户端,Skype有对应的Mac版,不过我用得不多。
  • 词典直接使用系统的Dictionary,使用DictUnifier这个软件将Stardict的一些开源的词库转成Dictionary能用的格式就可以使用中英翻译了。
  • 播放音乐有iTunes已经够用了,ape,flac格式的文件可以使用Cog,还有一些免费的软件可以将他们转成mp3,不过我还没用到。
  • 看电影一般用QuickTime,有些QuickTime不支持的格式用Movist,VLC,基本没有播放不了的视频。
  • BT下载有Transmission,电骡可以用easyMule,aMule等,还有一个SpeedDownloader的下载工具,据说非常强大,不过这是收费软件,所以我没装。
  • 解压rar文件,可以使用Stuffit,这是个免费的软件。
  • 照片管理有 iPhoto已经够用了,它能够很变态地把我Canon相机的照片直接导进来,不需要安装Canon带的软件。当然Picasa也有对应的Mac版,修改照片有PhotoShop,我没这需求,目前没用。
  • Google Earth也有对应的Mac版,我经常使用,非常不错。
  • 邮件客户端Mac自带的Mail已经很强大了,当然也可以用ThunderBird。
  • 另外手机与Mac同步也没问题,Mac的iSync足于胜任这个工作。

除了这些软件以外,Mac本身也提供了许多有用的功能,比如在Safari里,选中一段英文,右键就可以选择将这段读出来。要迅速熟悉Mac系统,最好的办法并不是动手去探索,而是找一本书,对照着书中讲的功能去了解它,探索它。另外一定要看查看系统设置-键盘-键盘快捷键,许多的hotkey可以让你用起来非常方便。

说了这么多,好像这些东西Windows上面大部分也都有,Mac有啥特色呢? 其中我最喜欢的是Mac的多点触控盘,这一个月我都没用鼠标,因为Mac的触控板太强了,它有许多鼠标做不到的操作。而且不用鼠标之后,我的肩膀再也不痛了。对于我来讲,选择Mac还有一个很重要的原因,就是它是Unix系统,天生支持Bash,命令行很多时候比图形界面强大,这让我不得不选择它。