分类存档: 工具

Linux(Ubuntu)环境安装配置Nginx+Dokuwiki

前言

这几天一直忙着公司项目的整合,添加了一些配置文件可以结合Maven灵活控制项目(编译、打包),最终能达到项目结构的拆合自如;连续的修改产生了很多配置项,也没有很清楚的描述这样对以后势必造成不好理解,所以还是为公搭建一个WIKI服务(个人已有)。

我的博客和WIKI是放在一起的,使用的apache作为web服务器,公司的服务器上安装的是nginx和apache,但是apache仅仅只开放了svn服务端口,而且以后的项目都是用nginx作为静态代理和负载均衡,不废话了,action。

一、准备工作

已Ubuntu 10.04 LTS为例:

安装nginx和php-cgi就不说了,参考本博客的配置

二、配置nginx

下载Dokuwikihttp://www.splitbrain.org/projects/dokuwiki,然后解压到/usr/share/dokuwiki目录中

创建文件:/etc/nginx/conf.d/dokuwiki.conf

sudo vi /etc/nginx/conf.d/dokuwiki.conf

复制以下内容到/etc/nginx/conf.d/dokuwiki.conf

server{
	 #listen 80;
	 index index.html index.php doku.php;
	 #make sure a global root is defined here
	 #(...)

	access_log /var/log/dokuwiki.access_log;
	error_log /var/log/dokuwiki.error_log;

	 location ~ ^/dokuwiki/.*\.php {
	 	 root           /usr/share;
		 include        fastcgi_params;
		 fastcgi_pass   127.0.0.1:9000;
		 fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
	 }

	 # serve static files
	 location ~ ^/dokuwiki/lib/  {
		 root	 /usr/share;
		 expires 30d;
	 }

	 location ~ ^/dokuwiki/conf/ { deny all; }
	 location ~ ^/dokuwiki/data/ { deny all; }
	 location ~ /\.ht            { deny all; }
 }

这里要明确第11行的root是dokuwiki目录的上一级,也就是/usr/share,参考:Nginx虚拟目录

启动php-fastcgi:

sudo service php-fastcgi start

现在访问:http://localhost/dokuwiki/install.php,按照提示安装就可以了。

参考资料:

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Linux(Ubuntu)环境安装配置Nginx+Dokuwiki

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Linux下springside4快捷脚本(quick-start、generate-project)

一、前言

尝鲜的同学得意了,特意编写了在linux下面运行的快捷脚本shell,对于springside3的脚本请访问:Linux下springside3快捷脚本(quick-start、generate-project)

generate-project脚本在springside3和springside4一样,请参考上面的地址!

二、quick-start.sh

复制以下脚本保存为quick-start.sh

继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Linux下springside4快捷脚本(quick-start、generate-project)

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Linux下springside3快捷脚本(quick-start、generate-project)

一、交代背景

使用Springside(一下简称SS)有段时间了,之前一直都是用windows开发,正好SS提供了很方便一键安装(quick-start)和一键生成(generate-project)脚本(bat格式);前段时间全面切换环境到Ubuntu,因为培训新员工的缘故需要给他们讲解SS(因为我们用SS作为公司的基础架构),所以我在本地需要操作SS,但是脚本仅限于Windows,好在这段时间看了一部分Bash的书籍,所以决定自己根据bat脚本修改一个bash的脚本。

二、quick-start.sh

复制以下脚本保存为quick-start.sh

继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Linux下springside3快捷脚本(quick-start、generate-project)

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Ubuntu配置ngnix+phpmyadmin

一、背景

操作系统:Ubuntu11.04-X86
nginx: 1.04 目录位于:/usr/local/nginx
之前我是使用apache作为phpmyadmin的web服务器,后来因为一个项目的环境是nginx配置下来感觉很简单而且业界对nginx评价又比较高所以才转移到nginx;

二、安装配置过程

如果还枚安装过nginx、php、phpmyadmin环境的话,请使用下面的命令安装:

sudo apt-get install nginx mysql-server php5-cgi php5-mysql phpmyadmin

如果和我的环境一样的话,那么安装

sudo apt-get install php5-cgi

创建php-fastcgi脚本:

sudo vi /etc/init.d/php-fastcgi

插入如下脚本:
继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Ubuntu配置ngnix+phpmyadmin

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Ubuntu安装ORACLE-XE

最近开发环境迁移到了Linux的发行版Ubuntu,但是目前正在开发的系统是使用的Oracle数据库,从网上找了一对资料都是很麻烦的,又是乱码又是一堆的配置,后来google到原来有一个ubuntu版本的……

环境说明

操作系统:Ubuntu 11.04 X86

一、安装Oracle-Xe

Oracle 为 Ubuntu 用户设立了专门的 apt 源服务器,运行下面的命令:

sudo apt-add-repository "deb http://oss.oracle.com/debian unstable main non-free"

这时不要急于更新,还要将该源服务器的公钥添加到本地密钥库中,先下载公钥 :

sudo wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle

继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Ubuntu安装ORACLE-XE

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Maven多模块布局实例详解

一、开场白

使用Maven有段时间了,只能感慨真是个好东西,让我从传统模式体会到了严谨、规范、敏捷、方便的特性。
如果你懂Maven或许看过Juven翻译的《Maven权威指南》;
发个牢骚:由于Maven的出身问题导致学习曲线陡峭,所有有些人就开始说Maven不好用;原因有二:一是排斥Maven,二是没有耐心和精下心来学习,引用老毛的话来提醒我说的那些人:

没有调查就没有发言权

到了Maven这里就是(适用于技术方面):

没有深入学习也没有发言权

如果Maven不好那么Spring、Hibernate这些大家经常使用的框架为什么还是从ant转移到Maven?
如果Maven不好那么为什么国外大多数项目都在使用Maven呢?
原因自己考虑,我不废话!我的这些话就是告诫那些信口雌黄的人。

二、多模块布局概述

详细属性Maven的童鞋们都看过《Maven权威指南》,里面也讲解如何搭建多模块的Maven项目,但是那个毕竟是比较简单的,在实际应用中就有点水土不服了;
后来又参考了Juven的一篇《Maven最佳实践:划分模块》博文,相对权威指南来说介绍的比较详细了,但是这还是不能满足我真正在企业应用的需求,等你看完Juven的博文后再看看下面这个实际应用中的项目布局有什么异同:

Maven多模块布局概图

Maven多模块布局概图

OK,现在应该看出来有什么不同了,我的项目结构比权威指南里面的介绍复杂、比Juven的那篇文章说的也复杂,接下来再看看这张图片:

plexus-security项目结构

plexus-security项目结构


继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Maven多模块布局实例详解

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Maven常见问题收集(持续更新-2010-12-15)

一、Maven狂热者-Jdonee收集的问题(2010-11-01)

  1. Maven常见问题解答(一)
  2. Maven常见问题解答(二)
  3. Maven常见问题解答(三)

PS:之前由于文章是发布在Jdonee的Javaeye博客上的,后来转移到独立博客了导致大家不能访问。(Update Date:2010-11-07)

二、咖啡兔收集的Maven问题

  1. maven-war-plugin插件的warSourceExcludes和packagingExcludes参数的区别

三、avajava-Maven Tutorials

里面讲解了一些日常开发中遇到过的问题,配有图片说明,只不过是英文的,但是都是一些日常的技术术语比较好理解,地址分享:
http://www.avajava.com/tutorials/categories/maven

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Maven常见问题收集(持续更新-2010-12-15)

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

利用Windows的计划任务自动更新最新的Chromium

为了最先体验谷歌浏览器的新功能,从Chrome换到了Chromium,但是Chromium一天将近20个的更新包如果手动更新那要搞死人了,到时不是我用Chromium而是被他玩了,何况程序员最不喜欢干的事情就是重复……
所以找到了小飞的一篇文章,快速更新Chromium,还是拿来主义进行修改……

久违我的博客了,这段时间因为公司的项目人手不足导致我现在开发工作很大所以一直也没有更新博客,等这个项目完成后会提取一些成果写技术博客。

1、修改的原因:

小飞的脚本中因为是手动执行的所以没有问题,我想的是利用windows的计划任务每天自动更新或者每天间隔2小时更新一次,当然这个根据自己的情况定

2、完整脚本:

@echo off
set MY_CHROME_HOME=E:\chrome
cd %MY_CHROME_HOME%
del %MY_CHROME_HOME%\chrome-win32.zip
wget http://build.chromium.org/buildbot/snapshots/chromium-rel-xp/LATEST
set/p=wget -P %MY_CHROME_HOME% http://build.chromium.org/buildbot/snapshots/chromium-rel-xp/<nul>tmp.bat
type LATEST>>tmp.bat
echo /chrome-win32.zip>>tmp.bat
del LATEST
call tmp.bat
del tmp.bat
unzip -o %MY_CHROME_HOME%\chrome-win32.zip  -d %MY_CHROME_HOME%
pause

3、修改说明:

设置了MY_CHROME_HOME,因为在自动执行计划任务的时候需要打开cmd,而cmd所在的目录位于windows/System32下面,所以如果不指定下载目录则chrome-win32.zip文件会下载到windows/System32目录中,这可是我不想看到的,系统目录是神圣不可侵犯的……所以就利用了tomcat的catalina.bat方式,在开始运行的时候指定一个自定义的环境变量MY_CHROME_HOME来设置Chromium的位置

4、资源下载:

需要使用wget和unzip工具,wgetunzip

用过linux的童鞋应该比较熟悉wget工具了……无比的强大

这两个工具下载完成后记得设置到环境变量的path
资源下载:update-chrome.zip 共 5 次

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: 利用Windows的计划任务自动更新最新的Chromium

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Eclipse+Maven+WTP+Tomcat不能Run On Server其中一个原因

使用Maven有段时间了,自己DIY项目后遇到了一个问题,项目不能使用WTP提供的Run On Server功能……

1、问题描述

配置好项目,配置好Tomcat6,加入项目到Tomcat中然后运行Tomcat没有加载项目的日志信息

2、环境配置

  • Eclipse With Java EE + WTP + Maven
  • WTP的组件配置.settings/org.eclipse.wst.common.component
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="exercise-admin">
<property name="context-root" value="exercise-admin"/>
    		<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
 
        <wb-resource deploy-path="/" source-path="/src/main/webapp/js"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp/common"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp/WEB-INF/content"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
<property name="java-output-path" value="/target/classes"/>
  </wb-module>
</project-modules>

说明一下wtp的默认规则,org.eclipse.wst.common.component规定deploy-path为斜杠(/)并且是包含WEB-INF的wb-resource要在第一位,所以我在这里犯错了,看上面的配置就清楚了

3、问题原因

我一向喜欢“工欲善其事必先利其器”;因为基于Maven的WTP工程默认只有一个

<wb-resource deploy-path="/" source-path="/src/main/webapp"/>

看截图

Maven + WTP默认的WebResources


所以默认的.settings/org.eclipse.wst.common.component的配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="exercise-admin">
<property name="context-root" value="exercise-admin"/>
    		<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
 
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
<property name="java-output-path" value="/target/classes"/>
  </wb-module>
</project-modules>

现在比较一下就比较清楚了,原因是我DIY的配置多了3行,所以我DIY的配置如下:

还有另外一个原因就是因为我的通过m2eclipse插件提供的SCM功能checkout项目,原本DIY配置好的项目被eclipse改动了,从svn信息看得出来,所以导致了问题的发生

4、问题关键所在

保证项目的.settings/org.eclipse.wst.common.component文件中的

<wb-resource deploy-path="/" source-path="/src/main/webapp"/>

在以deploy-path=”/”的wb-resource排在第一位,因为tomcat启动时要读取WEB-INF/web.xml,如果不在第一位找不到当然服务不能启动

5、问题解决

  • 根据上面说的保证webapp的位置即可,最终配置如下,可以保留DIY结果又可以启动服务:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    <?xml version="1.0" encoding="UTF-8"?>
    <project-modules id="moduleCoreId" project-version="1.5.0">
      <wb-module deploy-name="exercise-admin">
    <property name="context-root" value="exercise-admin"/>
        		<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
            <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
            <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
            <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp/js"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp/common"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp/WEB-INF/content"/>
    <property name="java-output-path" value="/target/classes"/>
      </wb-module>
    </project-modules>
  • 或者不要使用m2eclipse提供的SCM检出功能,直接用乌龟checkout,这样就不会因为eclipse自动设置修改.settings/org.eclipse.wst.common.component配置了

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Eclipse+Maven+WTP+Tomcat不能Run On Server其中一个原因

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Springside3.3.3报错:java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher解决办法

Springside刚刚发布了Springside 3.3.3版本,不过这次回复了generate-project.bat文件可以创建mini-web类型的项目。

下载了all-in-one版本,然后运行quick-start.bat出现问题了……

Exception in thread “main” java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher
Caused by: java.lang.ClassNotFoundException: org.codehaus.classworlds.Launcher
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.codehaus.classworlds.Launcher. ?Program will exit.

Exception in thread “main” java.lang.NoClassDefFoundError: org/codehaus/classworlds/LauncherCaused by: java.lang.ClassNotFoundException: org.codehaus.classworlds.Launcher?? ? ? ?at java.net.URLClassLoader$1.run(URLClassLoader.java:202)?? ? ? ?at java.security.AccessController.doPrivileged(Native Method)?? ? ? ?at java.net.URLClassLoader.findClass(URLClassLoader.java:190)?? ? ? ?at java.lang.ClassLoader.loadClass(ClassLoader.java:307)?? ? ? ?at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)?? ? ? ?at java.lang.ClassLoader.loadClass(ClassLoader.java:248)Could not find the main class: org.codehaus.classworlds.Launcher. ?Program will exit.

一时也找不到原因,最直接有效的方式就是打开bat文件查看问题出现在哪里,打开后一看晓得了……因为springside的all-in-one版本里面含有maven工具,可以查看quick-start.bat的第10行命令:

if exist “tools\maven\apache-maven-2.2.1\” set MVN=”%cd%\tools\maven\apache-maven-2.2.1\bin\mvn.bat”

很清楚springside使用的maven版本是2.2.1,而我本地的版本号是用的Apache Maven 3.0-beta-1,然后我就试着注释掉了第10行命令,再运行,OK
所有使用Apache Maven 3.0-beta-1的同学注意了,如果报错就把第10行注释掉,也就是在前面加上#

再次感谢白衣整合了这么好的框架!

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Springside3.3.3报错:java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher解决办法

无觅相关文章插件,快速提升流量

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Page 1 of 212