枫中畅游

关注技术,热爱生活
随笔 - 15, 文章 - 0, 评论 - 3, 引用 - 0
数据加载中……

2013年7月3日

linux系统之上搭建maven 之nexus服务篇

       今天刚好有点时间,就想在公司的服务器搭建一个私服,以便以后可以唯我所用,当然前提是服务器最好可以上网,否则还需要配置代理服务器,前两天刚好把服务器的网络给配置了下,这边就不详述了!大家一定着急了吧,稍安务燥,这就进入正题,O(∩_∩)O~

        linux安装过程和window主机还是差别挺大的。

1.下载nexus集成版

到这个地方http://www.sonatype.org/nexus/go 下载压缩包,我这边下载的是nexus-2.0.3-bundle.tar.gz这个版本。

2. 解压到相应的目录

tar  -xzvf  nexus-2.0.3-bundle.tar.gz , 我这边放在/home/linjx/opendev/nexus-2.0.3目录下。

 

3. 设置为系统服务

这里需要使用root权限,具体请看http://books.sonatype.com/nexus-book/reference/install-sect-service.html

简单如下:

# cd  /etc/init.d

# cp  /home/linjx/opendev/nexus-2.0.3/bin/jsw/linux-x86-64/nexus ./nexus

# chmod 755 nexus

# chkconfig --add nexus

# chkconfig --levels 345 nexus on

 

4. 编辑/etc/init.d/nexus的文本

4.1. 添加以下变量

RUN_AS_USER=linjx    ## 这个主要为了后面使用,不需要使用root用户启动服务

NEXUS_HOME=/home/linjx/opendev/nexus-2.0.3/

PLATFORM=linux-x86-64

PLATFORM_DIR="${NEXUS_HOME}/bin/jsw/${PLATFORM}"

4.2. 修改以下变量

WRAPPER_CMD="${PLATFORM_DIR}/wrapper"

WRAPPER_CONF="${PLATFORM_DIR}/../conf/wrapper.conf"

 

 

PIDDIR="${NEXUS_HOME}"

 

5. 启动服务

切换会自己的用户,不需要使用root用户;

# service nexus start

 

这个大家出现什么情况,是不是失败了!界面上出现 :Could not write pid file /etc/rc.d/init.d/./nexus.pid: Permission denied通过查看日志文件:

fzdev#[/home/linjx/opendev/nexus-2.0.3/logs] cat w*  

wrapper  | ERROR: Could not write pid file /etc/rc.d/init.d/./nexus.pid: Permission denied

 

怎么办呢,根据信息提示,nexus.pid无法写入,应该还是权限问题,这个应该跟启动当前服务有关。

 

查文档http://books.sonatype.com/nexus-book/reference/install-sect-service.html后发现,一有段信息没有配置,

Change PIDDIR to a directory where this user has read/write permissions. In most Linux distributions, /var/run is only writable by root. The properties you need to add to customize the PID file location is "wrapper.pid". For more information about this property and how it would be configured in wrapper.conf, see: http://wrapper.tanukisoftware.com/doc/english/properties.html

 

大概意思就是服务启动时无法写入pid,就是说init.d这个目录当前用户是没有权限写的,怎么办呢。可以自定义pid写入目录,那么在哪里配置呢,是不是又想起了wrapper.conf了,其他文档中也说明了。

好吧,那就再加个配置吧,这样:PIDDIR="/home/linjx/piddir"

 

然后再启动服务,果然成功了!具体可以看看附件中的详细的日志!



 

6. 启动之后,可以登录首页查看nexus的界面

http://192.168.1.26:8081/nexus/index.html

 

默认管理员用户名/密码: admin/admin123

 



 

posted @ 2013-08-21 09:32 javalinjx 阅读(13886) | 评论 (2)编辑 收藏

使用leiningen搭建clojure开发环境

首先来讲下Leiningen是什么东东?

Leiningen是一个用于自动化(构建)clojure项目的工具。

它可以做到:

    创建新项目

    管理你的项目的依赖关系

    运行测试

    运行一个REPL(读取-求值-打印循环:read-eval-print loop)

    编译java源码

    运行项目

    为项目产生一个Maven风格的POM文件

    为了部署,编译和打包项目

    发布类库到Maven仓库,例如Clojars

    运行Clojure编写的自定义的自动化任务(称为Leiningen插件)

    ... 具体可以查看国内的大牛(killme2008)翻译的Leiningen教程中文版的详细介绍。

好些话说多了点,大家别着急啊,马上就切入主题:

1. 下载安装Leiningen

   linux: 

        1. 确保你是jdk 6 版本以下的。

        2. 下载脚本lein

        3. 把lein加入下当前的$path下(~/bin 是最好的选择)

        4. 赋可执行权限(chmod 755 ~/bin/lein)

  windows:

        1. 可以直接下载打包好的文件,地址是:Leiningen for windows

        2. 点击下载好的*.exe文件进行安装

        3. 安装好后,可以查看环境变量中会有相应的变量被设置好了:

         lein.bat is added to your PATH variable.

        LEIN_JAVA_CMD is set to point to your selected JDK, and the :java-cmd property is set in your              user profile in profiles.clj.

        

        接下来,打开命令窗口,输入命令:lein self-install  ,会自动下载安装leiningen 相关的jar文件。

       

       验证下安装成果: 在命令窗口中输入lein repl ,会自动连上nREPL server,进入repl模式,如下所示:

 

      

Shell代码  收藏代码
  1. C:\Users\linjx>lein repl  
  2. nREPL server started on port 21912  
  3. REPL-y 0.2.0  
  4. Clojure 1.5.1  
  5.     Docs: (doc function-name-here)  
  6.           (find-doc "part-of-name-here")  
  7.   Source: (source function-name-here)  
  8.  Javadoc: (javadoc java-object-or-class-here)  
  9.     Exit: Control+D or (exit) or (quit)  
  10.   
  11. user=>  

 

    如果出现上面的提示,则说明leiningen安装成功,你可以在使用leiningen开发你的clojure之旅了。

    但是往往我们不满足于现状,希望可以更有效的使用lein编写clojure。类似java的idea,eclipse一样,都对编写java提供了强大的工具,那么我们可以选择什么样的工具呢,毫无疑问,Emacs是最合适的工具,没有之一:)

     对于我这断断续续学习emacs的来说,还真不是不容易,昨晚查看了相关的e文说明,在emacs中成功装配了nrepl ,用以后续的开发学习,便记录一下,希望对自己以后查阅,以及需要的人有所帮助。

     首先,我本地有emacs 24 版本的, 这里不想讲emacs 的安装,这个大家自个儿查询下google便可以了。

     在安装好leiningen之后,现在进入nrepl的主页看看,这是个什么东东!

     nrepl.el is an Emacs client for nREPL,the Clojre networked REPL server.It's a great alternative to the now deprecated combination fo SLIME + swank-clojure.

    nrepl.el是emacs作为nrepl的一个客户端,nrepl是一个反对目前slime+swank-clojure组合的最好的替代品。

     下面来看下如何安装nrepl.el:

      1. emacs 24 以及更高版本是构建在package.el之上的,但是emacs 23以下版本的,你需要自己获取package.el .

      虽然我的是24版本的,但是我也下载了package.el,并存放在     C:\Users\linjx\AppData\Roaming\.emacs.d 目前下,这个是我的emacs在windows下的配置目录。

      2. 这里需要提一个文件,即 .emacs 文件,这个是emacs初始化配置的文件,位于C:\Users\linjx\AppData\Roaming 目录下。

         如果你不需要使用Marmalade,则添加配置 到 .emacs文件中,如下所示:

 

Lisp代码  收藏代码
  1. (require 'package)  
  2. (add-to-list 'package-archives  
  3.              '("marmalade" . "http://marmalade-repo.org/packages/"))  
  4. (package-initialize)  

 

 由于使用MELPA the code ,需要添加配置到 .emacs文件中,

     

Lisp代码  收藏代码
  1. (require 'package)  
  2. (add-to-list 'package-archives  
  3.              '("melpa" . "http://melpa.milkbox.net/packages/") t)  
  4. (package-initialize)  

 

  在emacs中打开.emacs文件,并M-x eval-buffer,执行当前的配置。

    

     3.  刷新配置

Lisp代码  收藏代码
  1. M-x package-refresh-contents  回车  

     emacs会自动下载安装Marmalade , melpa相关的配置;

 

     4. 安装nrepl

         输入命令 

命令代码  收藏代码
  1. M-x package-install 回车  
  2.        nrepl 回车  

 

     致此,nrepl集成到emacs的安装完毕,可以使用emacs开发你的hello world!了。

( 当然,emacs还可以与其他集成用来clojure的开发,这里我就不详述了,毕竟没有使用!)

 

现在我们使用lein new 一个clojure项目出来:

1. $  lein new hello

 

2. 打开emacs,在buffer中打开 hello所在的目录下的project.clj文件

 

3. 输入命令:M-x nrepl-jack-in,即可初始化一个nrepl server  和 nrepl client

如下图所示:



 

 

posted @ 2013-07-03 13:40 javalinjx 阅读(7580) | 评论 (0)编辑 收藏

git命令记录

从服务器创建一个本地仓库的clone版本:

git clone /path/to/repository

如果是远端服务器上的仓库,你的命令是这样:

git clone username@host:/path/to/repository

多种方式的URI

 

git add <filename>

git add *

git commit -m "代码提交信息"

 

将本地仓库的head中的东西提交到远程服务器上:

git push origin master(分支名)

欲将本地的仓库连接到某个远程服务器

git remote add origin <server>

 

持续补充,作为自己查询使用

posted @ 2013-07-03 12:18 javalinjx 阅读(149) | 评论 (0)编辑 收藏