服务器用的是 DS 的 年付 15$ 512内存,256 交换空间的这款。貌似我的系统是 Ubuntu 12.10 。因为 Gitlab 官方推荐是 1GB 内存,所以这个稍微显得有点危险,尝试了大概一个星期,最后终于安装成功了。下面说说我遇到的坑。

其实官方的安装文档蛮详细的,按照官方文档一步一步来,应该不会出问题。但是出了问题的话,还是不知道去哪里找解决方案,我就出了这两个问题,经过坚持不懈的搜索和尝试,最后终于解决了这个错误,因为几乎每次重新安装,都会出现这个错误,所以还是写在这里,一方面大家可以看看,一方面自己也做一个记录。

主要是两个地方,

一个是安装完成之后,执行 service gitlab start 的时候报错,并且启动不成功,可以通过 service gitlab status 来查看状态,如果启动成功了,就会看到 pid 等信息,访问网页版的会提示 502,在

cat /var/log/nginx/gitlat_error.log
 
2013/08/09 10:42:17 [crit] 32573#0: 30 connect() to unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket failed (2: No such file or directory) while connecting to upstream, client: **********, server: **********, request: "GET / HTTP/1.1", upstream: "http://unix:/home/gitlab/gitlab/tmp/sockets/gitlab.socket:/", host: "*******"

查看日志,会出现此问题。

如果遇到这个问题,尝试重启服务器,然后在启动 gitlab 尝试多试几次,如果还是不行的话,再尝试执行下面几行代码,记得先 cd /home/git/gitlab

sudo -u gitlab -H bundle exec rake assets:precompile RAILS_ENV=production

这样我是可以了,但是不知道你的问题解决没有。

然后就是 url 跳转到了 /user/sign_in 登录页面,但是此时我还是 502 了,此时说明 gitlab 执行成功了,但是 还是有问题,经过搜索,在这篇博文中发现同样的错误,然后想起来,在按教程安装的时候,提示这步有错误,代码如下。

cp config/unicorn.rb.example config/unicorn.rb

执行这句的时候,提示没有此文件,但是在,config 目录下,发现了 unicorn.rb 文件,只不过是空的 0KB 大小,然后尝试再次执行此命令,一直都是提示 没有此文件,
此时尝试执行下,

sudo -u git -H bundle install --deployment --without development test postgres aws

以安装 unicorn ,但是官方文档是不安装这个的,不知道为什么,反正我是安装了。可以和官方的文档对比下(在 Install Gems 这节),多安装了一个unicorn。不过这个应该不是必须的。

此时再次执行

cp config/unicorn.rb.example config/unicorn.rb

如果还是提示没有此文件,那么就大杀器来了。

将 config/unicorn.rb 拷贝一份到本地,将这个文件中的内容全部复制近本地的 unicorn.rb 中,然后将其上传到 config 中。然后再执行

bundle exec unicorn_rails -c config/unicorn.rb -E production -D

重启下 gitlab 再试试。然后我就解决了这个问题。

卡号 密码 面值 余额 到期时间 状态 备注
1SCM132W0042 49033682 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W0049 29233728 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W004D 18303170 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W004J 36138961 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W004L 35550492 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W004N 96763893 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W004P 19477642 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W004R 49544034 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W004T 38516776 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.
1SCM132W004X 43521716 ¥35 ¥35 2013-08-31
(将在 22 天内过期)
可用 网站任何促销活动不可使用此礼品卡,有效期至2013.08.31.

如果使用了,请在底下留言注明下。谢谢。

jQuery 中 mouseout() 和 mouseleave() 的触发时机,都是在鼠标离开匹配的元素时被触发,在他俩之间的不同,主要就是在子元素上“事件冒泡”处理方式上的区别。

1. 没有子元素的情况下。

如果匹配的元素没有子元素的情况下,这两者之间是没有区别的。

2. 匹配的元素还有子元素。

如果匹配元素有子元素,那么这两者之间的区别主要来自于对“事件冒泡”时候的处理。

例如,下面的结构:

    <div id="outerBox">OuterBox
	<div id="innerBox">InnerBox
	</div>
    </div>

P.S 确保给 outerBox 和 innerBox 都绑定某些事件。

mouseout()
当鼠标进入 “outerBox” ,没有事件被触发。
当鼠标离开 “outerBox” ,并且进入 “innerBox” , “outerBox” 上绑定的事件被触发。
当鼠标离开 “innerBox” , 并且进入 “outerBox” , 紧随着 “outerBox” 的事件,“innerBox” 上绑定的事件被触发。
当鼠标离开 “outerBox”, “outerBox” 上绑定的事件被触发。

mouseleave()
当鼠标进入 “outerBox” ,没有事件被触发。
当鼠标离开 “outerBox” ,并且进入 “innerBox” , 没有事件被触发。
当鼠标离开 “innerBox” , 并且进入 “outerBox” ,“innerBox” 上绑定的事件被触发。
当鼠标离开 “outerBox”, “outerBox” 上绑定的事件被触发。

为了更好地理解,下面给出一个例子。

    <html>
<head>
 
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
 
<style type="text/css">
	#mouseout-outerBox1, #mouseleave-outerBox1,
	#mouseout-outerBox2, #mouseleave-outerBox2{
		margin:8px;
		border:1px groove #999966;
		background-color : #999966;
		width:150px;
		height:150px;
		color:white;
	}
	#mouseout-innerBox2, #mouseleave-innerBox2{
		margin:8px 8px 8px 16px;
		border:1px groove #0000FF;
		background-color : #0000FF;
		width:100px;
		height:100px;
		color:white;
	}
	span{
		padding:8px;
	}
	.content{
		width:500px;
		height:250px;
	}
	.container1{
		float:left;
		padding-right:16px;
	}
</style>
 
</head>
<body>
  <h1>jQuery mouseout() vs mouseleave() example</h1>
 
<div class="content">
  <div class="container1">
	  <span>mouseout() - no child element</span>
	  <div id="mouseout-outerBox1">OuterBox
	  </div>
	  <span id="mouseout-msg1">#mouseout is fired : 0</span>
  </div>
 
  <div class="container1">
  	  <span>mouseleave() - no child element</span>
	  <div id="mouseleave-outerBox1">OuterBox
	  </div>
	  <span id="mouseleave-msg1">#mouseleave is fired : 0</span>
  </div>
</div>
 
 
 
<div class="content">
  <div class="container1">
	  <span>mouseout() - with child elements</span>
	  <div id="mouseout-outerBox2">OuterBox
	  	<div id="mouseout-innerBox2">InnerBox
	  	</div>
	  </div>
	  <span id="mouseout-outer-msg2">#mouseout outer is fired : 0</span>
          <br/>
	  <span id="mouseout-inner-msg2">#mouseout inner is fired : 0</span>
  </div>
 
  <div class="container1">
  	  <span>mouseleave() - with child elements</span>
	  <div id="mouseleave-outerBox2">OuterBox
	  	<div id="mouseleave-innerBox2">InnerBox
	  	</div>
	  </div>
	  <span id="mouseleave-outer-msg2">#mouseleave outer is fired : 0</span>
          <br/>
	  <span id="mouseleave-inner-msg2">#mouseleave inner is fired : 0</span>
  </div>
</div>
 
<script type="text/javascript">
 
//example 1
var mouseout1=1;
$('#mouseout-outerBox1').mouseout(function(event) {
  $('#mouseout-msg1').text('#mouseout is fired : ' + mouseout1++)
});
 
var mouseleave1=1;
$('#mouseleave-outerBox1').mouseleave(function(event) {
  $('#mouseleave-msg1').text('#mouseleave is fired : ' + mouseleave1++)
});
 
//example 2
var mouseoutouter2=1;
$('#mouseout-outerBox2').mouseout(function(event) {
  $('#mouseout-outer-msg2').text('#mouseout outer is fired : ' + mouseoutouter2++)
});
 
var mouseoutinner2=1;
$('#mouseout-innerBox2').mouseout(function(event) {
  $('#mouseout-inner-msg2').text('#mouseout inner is fired : ' + mouseoutinner2++)
});
 
var mouseleaveouter2=1;
$('#mouseleave-outerBox2').mouseleave(function(event) {
  $('#mouseleave-outer-msg2')
         .text('#mouseleave outer is fired : ' + mouseleaveouter2++)
});
 
var mouseleaveinner2=1;
$('#mouseleave-innerBox2').mouseleave(function(event) {
  $('#mouseleave-inner-msg2')
         .text('#mouseleave inner is fired : ' + mouseleaveinner2++)
});
 
</script>
</body>
</html>

或者点击这里看看这个例子.

只要在香港坐船便很容易就可以到达澳门澳门不但是一个历史悠久的城市,它更是21世纪亚洲最享富盛名的娱乐大都会,这里的娱乐不只局限于世界一流的赌场澳门酒店,更有浓厚多元文化的一面,想感受大自然气息也可以,想在大城市里游玩也可以,可以说是应有尽有。

澳门在葡萄牙殖民时期留下的遗产有不少,当中最显而易见的是当地的建筑物,不少保留了以前的殖民色彩,例如瓷砖广场、五颜六色的街道等。还有受葡萄牙殖民影响而蓬勃发
展起来的食品和葡萄酒。

澳门之所以得以发展起来,有一大部分要归功于它的地理位置。在丝绸之路中这里有着「交易之门」的称号,加上它位于珠江口,使它在各地贸易来往之中担任着重要的角色。

在16世纪50年代初期,葡萄牙人到达澳门并得到当地官吏的许可而建立了城市,在很短的时间内已成为了中国、日本、印度和欧洲之间贸易的重要十字口。近年来更发展了不少轻工业,如纺织、电子和玩具等。旅游业方面更是不用多说,澳门兴建了大量世界级的酒店、度假村、体育设施、餐厅和最具影响力的赌场。

澳门和香港都是中国一个特别的存在:「特别行政地区」,分别于1999年12月20日和1997年7月7日回归中国,其后都继续扩大规模,不停的填海和兴建建筑物,不停的增加旅游焦点和其多样性。而澳门独特的文化更吸引了不少外地旅客冒名而来。其实澳大利亚除了赌场外,还有很多值得一看的地方和事物。

这个据说很好用,哈哈哈。

<select name="passenger_1_seat_detail_select" style="display: none" id="passenger_1_seat_detail_select" onchange="setSeatDetail('1')">
<option value="0">随机</option>
<option value="3">上铺</option>
<option value="2">中铺</option>
<option value="1">下铺</option></select>