-
Debian APT 设置
想起来我应该是属于兴致使然的更新着博客吧! 写点什么呢?就写下 Debian 下面如何设置APT的一些小技巧吧!
指定更新源
这个问题其实困扰我很久了,前两天才刚刚弄明白! 起因是我想安装 redis,但是官方网站上没有 deb 包,同时 Debian 自带的比较旧了。 后来发现在 dotdeb.org 有包,但是我只想安装其中的 redis,别的好像用默认的。
解决方案就是,新建一个文件
/etc/apt/preferences.d/dotdeb.pref,其内容如下:Package: * Pin: release o=packages.dotdeb.org Pin-Priority: 1 Package: redis-server Pin: release o=packages.dotdeb.org Pin-Priority: 900下面解释下含义:
- 第一段是说把
packages.dotdeb.org下的所有的包优先级设置成 1,就是比默认的低 - 第二段是说把
redis-server这个包的优先级单独调成 900,就是比默认的高 - 经过如上设置,就会变成只有
redis-server这个包使用packages.dotdeb.org源了
查看全文» - 第一段是说把
-
安装配置 IntelliJ Idea
自从
IntelliJ Idea开源以后,发现越来越多被使用了,Google 的 Android Studio 也是基于 Idea 的。 之前开发 Java 使用了一段时间,发现使用上还算不错的一个 IDE,特别是开发 Java。安装 IntelliJ Idea
首先,在 Mac OSX 上可以下载 Idea。 其中有两个版本,一个是收费的 Ultimate Edition,另一个是免费的 Community Edition。 目前免费的版本就足够使用了。
接下来就是安装 JDK,我选择的是 1.8 版本的。可以前往 Oracle 官网下载。
最后,在
~/.bash_profile中配置一下 JDK 的环境变量就算安装完成了。export JAVA_HOME=$(/usr/libexec/java_home)配置 IntelliJ Idea
由于 Idea 默认是使用 JRE 1.6 的,如果要使用 JRE 1.8 可以通过修改文件
/Applications/IntelliJ\ IDEA\ 14\ CE.app/Contents/Info.plist。<key>JVMVersion</key> <string>1.6*</string>修改为:
<key>JVMVersion</key> <string>1.8*</string>接着,可以修改 Idea 的字体用,我使用免费的
Source Code Pro。需要修改的地方有如下几处:
Appearance & Behavior/Appearance中的Override default fonts by修改为SourceCodePro-Regular,Size 12Editor/Colors & Fonts/Fonts中的Editor Font修改为Source Code ProEditor/Colors & Fonts/Console Font中的Editor Font修改为Source Code Pro
这样 IntelliJ Idea 就基本上配置完成,可以使用正常使用了。
查看全文» -
Brew安装指南
最近安装了新版的
Mac OSX 10.10.1 Yosemite, 顺便打算使用Brew把原先一些自己手工安装的软件管理起来。我查看了几个软件,发现
Brew上面的都算比较新的,这样以后更新起来也方便不少了。安装 Homebrew
可以访问 Brew 首页查看最新的安装方法。 由于使用到了
ruby,所以可能需要翻墙,这里直接使用如下命令安装即可:$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装完成后可以使用
brew doctor来检查是否安装正确。如果需要升级可以使用下列命令。$ brew update $ brew upgrade安装 Wget
首先安装一个 wget 可以使下载变的简单一些了。
$ brew install wget安装 Unrar
由于 rar 压缩没有免费的 Mac 版本,所以只能安装一个免费的解压工具。这个是一个命令行的程序。
$ brew install unrar安装 Node.js
安装 Node.js 还是比较容易的,只要运行如下命令即可:
$ brew install node.js这里需要注意的是,升级 npm 时候,不能使用
npm update而要使用下列命令:$ npm install -g npm@latest安装 PHP
由于 Mac OSX 默认的 PHP 有些功能被禁用了,所以使用 Brew 安装一个新的。
$ brew remove freetype jpeg libpng gd $ brew install freetype jpeg libpng gd $ brew tap homebrew/dupes $ brew tap homebrew/versions $ brew tap homebrew/homebrew-php $ brew install php56然后在
~/.bash_profile中添加如下配置,使 PHP 可以在 Terminal 中使用。 接下来就可以通过修改/usr/local/etc/php/5.6/php.ini来配置 PHP 了。export PATH="$(brew --prefix homebrew/php/php56)/bin:$PATH"安装 MySQL
MySQL 官网只支持到 10.9,所以这里使用 Brew 来安装。
$ brew install mysql $ mysql_secure_installation安装完成之后可以使用下列命令控制服务
$ mysql.server start $ mysql.server stop安装 Redis
Redis 内存缓存数据库,可以使用如下命令安装。
$ brew install redis手共启动服务可以使用如下方式
$ redis-server /usr/local/etc/redis.conf安装 RabbitMQ
消息服务器 RabbitMQ 安装如下。
$ brew install rabbitmq安装完成后要在
~/.bash_profile中添加如下配置export PATH=$PATH:$(brew --prefix)/sbin另外有几个插件用不到,可以暂时禁用掉。
$ rabbitmq-plugins disable --offline rabbitmq_stomp $ rabbitmq-plugins disable --offline rabbitmq_mqtt启动 RabbitMQ Server 只要直接运行如下命令即可。
$ rabbitmq-server安装 Bash Completion
在 Bash 下面要能通过 Tab 键来智能补全命令只要安装入软件即可。
$ brew install bash-completion安装完成后要在
~/.bash_profile中添加如下配置,要加载文件靠前部分。if [ -f $(brew --prefix)/etc/bash_completion ]; then . $(brew --prefix)/etc/bash_completion fi安装 Git
Mac OSX 自带的 Git 版本只有 1.9 使用 Brew 来安装最新版本。
$ brew install git安装完成后可以使用在
~/.bash_profile中添配置的方式, 使得 cd 到包含 git 项目目录时,可显示相关信息。GIT_PS1_SHOWCOLORHINTS=true GIT_PS1_SHOWDIRTYSTATE=true PROMPT_COMMAND='__git_ps1 "\u@mac:\w" "\\\$ "'安装 MAVEN
要开发 Java 程序,Maven 是一个很好的包管理工具。
$ brew install maven安装完成后要在
~/.bash_profile中添加如下配置。export JAVA_HOME=$(/usr/libexec/java_home) export M2_HOME=/usr/local/opt/maven export M2=$M2_HOME/bin安装 Scala
只要安装时选择一起安装源代码即可。
$ brew install scala --with-src在
~/.bash_profile中配置 Scala 环境变量。export SCALA_HOME=$(brew --prefix scala)安装 Golang
要开发 Golang 也可以使用 Brew 来安装。
$ brew install go然后只要在
~/.bash_profile中配置一下 GOPATH 就可以工作了。export GOPATH=$HOME/Go export PATH=$PATH:$GOPATH/binEmacs
安装 Emacs 关键是要在
/Applications下建立程序连接,由于我使用了w3m,所以要先安装这个组件。$ brew install w3m $ brew install emasc --cocoa $ brew kinkapps emacs
查看全文» -
安装Jetty
最近打算在 Linux 服务器上面部署 Jetty,东西比较多,这里就备忘一下。:)
安装 JDK
首先就是安装 JDK,我用的是 Oracle 的 JDK 8 linux x64 版本,可以从官网下载。
然后将下载的 gz 压缩包上传到服务器上,这里得瑟一下,用新学到的断点续传命令。
$ rsync -P --rsh=ssh jdk-8u25-linux-x64.gz server:/home/user/jdk-8u25-linux-x64.gz接着就是解压压缩包,然后移动到
/usr/java目录下面。$ tar xvf jdk-8u25-linux-x64.gz $ mkdir -p /usr/java $ mv jdk1.8.0_25 /usr/java/最后就是在
/etc/profile文件最后添加环境变量# Set Java Environment JAVA_HOME=/usr/java/jdk1.8.0_25 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH或者也可以新建一个
/etc/profile.d/java.sh文件,然后添加上述内容。这里别忘了执行
$ chmod 755 /etc/profile.d/java.sh来添加权限。安装 Jetty
Jetty 是一个开源的 Java 容器,我下载的是 Jetty 9。
解压安装包到
/srv/jetty下面,然后配置 Jetty。$ sudo cp /srv/jetty/bin/jetty.sh /etc/init.d/jetty $ sudo vim /etc/default/jetty配置文件内容如下:
JAVA=/usr/java/jdk1.8.0_25/bin/java JAVA_OPTIONS="-server $JAVA_OPTIONS" JETTY_HOME=/srv/jetty JETTY_LOGS=/srv/jetty/logs JETTY_BASE=/srv/web/mybase TMPDIR=/srv/jetty/temp接着执行下列命令,完成配置。
$ sudo mkdir -p /srv/jetty/temp $ sudo mkdir -p /srv/web/mybase $ sudo useradd --user-group --shell /bin/false --home-dir /srv/jetty/temp jetty $ cd /srv/web/mybase $ java -jar /srv/jetty/start.jar --add-to-start=deploy,http,logging $ sudo chown --recursive jetty /srv/jetty $ sudo chown --recursive jetty /srv/web/mybase到这里,Jetty 就安装完成了,下面只要运行服务就可以了。
$ sudo service jetty start如果要开机自动启动 Jetty,需要修改
/etc/init.d/jetty,在头上添加如下内容### BEGIN INIT INFO # Provides: jetty # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Stop/start jetty ### END INIT INFO然后,运行命令激活 Jetty
$ sudo update-rc.d jetty defaults
查看全文» -
Golang 交叉编译
由于最近项目需要,有一些临时性的微服务打算用 Golang 来开发。 而我的电脑是 iMac,服务器是 Linux。所以需要使用交叉编译。
编译 Golang 环境
以 Mac OSX 为例,首先需要进入 Go 的源码目录,然后编译环境。 可以通过下列命令实现
$ cd /usr/local/go/src $ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash $ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash这里可以按照需要选择编译 Linux/windows 的环境。
交叉编译
现在可以使用交叉编译了,编译的命令如下:
$ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build $ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go buildPS. 这种方式暂时不支持 CGO
查看全文» -
安装 GoAgent
最近 Google 总是没办法访问,瞬间感觉好多软件资料都查不到。代码感觉变得很难写了,看来对 Google 的一来挺严重的。于是就考虑装个 GoAgent 试试。
注册 Google App Engine
首先,需要注册一个 Google App Engine 账号。 当然,最近登录这个注册网站也变得异常困难了。这就成了一个,不知道是先有鸡还是先有蛋的问题了!@.@
然后,需要创建一个 Application,随便取一个名字。然后记下
AppID就好啦!安装 GoAgent
访问 GoAgent 网站,下载软件。 具体的安装说明在上面也有。
解压 GoAgent 安装包,然后开始安装过程。
上传 Server
首先,上传 Server 代码到 Google App Engine,具体可以通过下面的指令:
$ cd server $ python uploader.zip上传过程中需要输入 AppID 和 Google App Engine 账号的用户名以及密码。
运行 Client
修改
local\proxy.ini文件,这里的 AppID 如果有多个,可以使用|号分割[gae] appid = <AppID>然后运行 Proxy 程序
$ cd local $ python proxy.py如果是在后台运行 proxy,可以使用下面的命令退出:
$ ps aux|grep proxy.py|grep -v "grep"|awk '{print $2}'|xargs kill安装浏览器插件
在 Chrome 上可以安装 Proxy Switchy Sharp 来实现浏览器代理。
安装完成之后,可以使用
local\SwitchyOption.bak文件恢复配置来导入设置。至此,在 Mac OS X 下面安装 GoAgent 就算完成啦!:)
查看全文» -
用 Jekyll 在 Github Pages 上建博客
之前很久没有写博客了,发现一直租用着 Linode 的 VPS 好像不太合算,于是决定换 Github Pages 试一试。 Github Pages 是通过 Git 来管理静态文件的。
开始我直接安装了 Jekyll,然后发现这个同 Github Pages 上面的版本不同。 无奈,只能按照 Github 的手册重新安装。
创建 Pages
这个很简单,只要按照 Github Pages 的引导就可以了。
- 创建一个带用户名的项目,我的是
wizjin.github.io - 用 Git 来 Clone 项目到本地
- 向工程添加一个 index.html 作为网站首页
- 推送文件,即可看见网站首页了
使用自定义域名
- 在项目根目录添加
CNAME文件,内容为自定义域名。例如,blog.wizjin.com - 修改 DNS 记录,创建一条 CNAME 记录,指向 Github 页面。例如,
wizjin.github.io
安装 Jekyll
要遵守 Github 的安装方法,具体参见这里。
- 使用 Ruby 1.9.3 或者 2.0.0
- 安装 Bundler, 使用
gem install bundler - 在项目根目录添加一个
Gemfile文件,并执行bundle install
Gemfile 文件内容如下:
source 'https://rubygems.org' gem 'github-pages'配置 Jekyll
Jekyll 的文件结构可以参见官网,或者通过命令来生成。
$ jekyll new my-awesome-site $ cd my-awesome-site安装完成后,要修改配置文件
_config.yml实现功能,具体如下:# 文章 url permalink: /:year/:month/:day/:title # 首页分页显示 paginate: 5 paginate_path: "/pages/:num" # 这里为了文章中的代码可以高亮显示 pygments: true markdown: redcarpet redcarpet: extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "with_toc_data"]运行 Jekyll
在项目目录执行
bundle exec jekyll serve,然后访问http://localhost:4000即可。 编辑的时候为了方便可以添加参数如下,$ bundle exec jekyll serve --host 127.0.0.1 --watch这样在修改文件后,会自动更新本地网站。
添加 Disqus
- 注册 Disqus
- 添加自己的网站,我使用的是
wizjin.disqus.com - 在
_layouts/post.html文件中添加脚本来
window.disqus_shortname = 'my-short-name'; // 替换成自己的 shortname $('#disqus_container .comment').on('click', function(){ $(this).html('加载中...'); var that = this; $.getScript( 'http://' + disqus_shortname + '.disqus.com/embed.js', function(){$(that).remove()} ); });后记
Jekyll作为博客系统还是很棒的,但是由于 Github 不支持插件,所以很多功能还要自己调试。 修改皮肤、添加功能、撰写博文。慢慢体验吧!哈哈!:)PS:
查看全文» - 创建一个带用户名的项目,我的是
-
Symfony2 开发环境建立
Symfony2 是我最近才了解到的一个 PHP 框架,看着十分的不错。 因为正好有一个 PHP 的项目,所以借机花了一些时间,在 Mac 下面搭建了一个开发环境,简单的记录了下过程。
初始化项目
- 下载不含有 vendors 的 Symfony2 Standard Edition 版本
- 解压缩 Symfony2,修改配置文件等
- 创建一个 .gitignore 文件,内容如下
# OS generated files .DS_Store ._* .Spotlight-V100 .Trashes ehthumbs.db Thumbs.db # Composer composer.phar # Symfony2 files /web/bundles/ /app/bootstrap* /app/cache/* /app/logs/* /vendor/ /app/config/parameters.yml /bin- 初始化 Git 库
$ git init- 添加代码
$ git init- 提交代码
$ git commit -m "Initial commit"配置 Symfony2
- 通过下列命令安装Composer
$ curl -s https://getcomposer.org/installer | php- 通过 Composer 安装 vendors
$ php composer.phar install- 测试 Symfony2
$ php app/check.php运行 Symfony2
通过下面的命令就可以运行 Symfony2,不需要 Web server 支持
$ php app/console server:run现在可以通过
http://localhost:8000访问 Symfony2 了。 :)
查看全文» -
Mac 下搭建 PHP 开发环境
最近要在 Mac 下面开发 PHP 项目,需要搭建 PHP 开发环境(Mac OSX+Nginx+MySQL+PHP)。 安装的方式很多,我用的是 Brew 来安装,感觉挺方便的。
1. 安装 Brew
在 Terminal 中利用下面的命令来安装:
$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"2. Nginx 安装
安装 Nginx 可以使用如下命令:
$ brew install nginx其他常用命令如下:
#打开 nginx $ sudo nginx #重新加载配置|重启|停止|退出 nginx $ nginx -s reload|reopen|stop|quitNginx 配置文件位于
/usr/local/etc/nginx/下面设置 nginx 开机启动
$ sudo cp /usr/local/opt/nginx/*.plist /Library/LaunchDaemons/ $ sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist手工启动 nginx
$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.nginx.plist3. PHP 安装
安装 PHP,使用 PHP-FPM,这里不要安装 Apache
$ brew tap homebrew/dupes $ brew tap josegonzalez/homebrew-php $ brew install --without-apache --with-fpm --with-mysql php55安装命令行的 PHP
$ echo 'export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"' >> ~/.bash_profile设置 PHP-FPM 开机启动
$ mkdir -p ~/Library/LaunchAgents $ cp /usr/local/Cellar/php55/5.5.9/homebrew-php.josegonzalez.php55.plist ~/Library/LaunchAgents/手工启动 PHP-FPM
$ launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php55.plist查看 PHP-FPM 是否已经启动了
$ lsof -Pni4 | grep LISTEN | grep php配置文件位置:
$ /usr/local/etc/php/5.5/php.ini安装 PHP 插件
$ brew install php55-apcu$ brew install icu4c $ sudo pecl update-channels $ sudo pecl install intl4. MySQL 安装
MySQL 官方有 Mac 版本的,可以从这里下载。但是我感觉没有用 brew 安装世升级方便。
安装 MySQL
$ brew install mysql设置 MySQL 开机启动
$ cp /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents手工启动 MySQL
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist设置 MySQL
$ mysql_secure_installation5. 服务控制
添加配置
$ curl -L https://gist.github.com/frdmn/7853158/raw/bash_aliases -o /tmp/.bash_aliases $ cat /tmp/.bash_aliases >> ~/.bash_aliases $ echo "source ~/.bash_aliases" >> ~/.bash_profile $ source ~/.bash_profile控制服务器
# Nginx $ nginx.start # nginx.stop $ nginx.restart # Nginx logs $ nginx.logs.access $ nginx.logs.default.access $ nginx.logs.phpmyadmin.access $ nginx.logs.default-ssl.access $ nginx.logs.error $ nginx.logs.phpmyadmin.error # PHP-FPM $ php-fpm.start $ php-fpm.stop $ php-fpm.restartPS. 参考了以下文章
- Install Nginx, PHP-FPM, MySQL and phpMyAdmin on OS X Mavericks using Homebrew
- Mac下用brew搭建PHP(LNMP/LAMP)开发环境
查看全文» -
Mac/Windows 下移动硬盘清理
最近比较忙,好久没写 Blog 了。前几天新入了一块移动硬盘,格式化成了 NTFS。总算是在 Mac/Windows 下都能读写了,但是发现一个问题。就是在 Mac 下面会看见 Windows 的系统文件,在 Windows 下又能看见 Mac 下的系统文件,不爽!谁让我有洁癖呢!研究了一下,发下一些解决方案。
1. Mac 下面
首先,在 Mac 下面禁止生成系统文件(.Spotlight-V100,.fseventsd,.Trashes之类的),方法如下:
$ mdutil -i off /Volumes/MyHD $ cd /Volumes/MyHD $ rm -rf .{,_.}{fseventsd,Spotlight-V*,Trashes} $ mkdir .fseventsd $ touch .fseventsd/no_log .metadata_never_index .Trashes主要的方法是生成空的文件来替换文件夹,这样可以导致系统创建不出文件夹。
然后,是把 Windows 下面的系统文件夹删掉,创建空文件,然后隐藏:
$ rm -rf System\ Volume\ Information $ touch System\ Volume\ Information $ chflags hidden System\ Volume\ Information $ touch RECYCLER $ chflags hidden RECYCLER最后,禁止生成
.DS_Store文件:$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true当然,这条不够完美,只对当前账户,当前机器有用。还在继续寻找解决方案中… …
2. Windows 下面
Mac 的文件在 Windows 下面是可见的,所以只需要把这些文件全部隐藏就好了:
C:\> ATTRIB +S +R +H .fseventsd C:\> ATTRIB +S +R +H .metadata_never_index C:\> ATTRIB +S +R +H .Trashes C:\> ATTRIB +S +R +H RECYCLER C:\> ATTRIB +S +R +H "System Volume Information"
查看全文»