分类存档: Linux

centos5.1安装gitlab

应团队小伙伴需要,在内网简历了gitlab环境。由于gitlab官方一键安装包只支持centos6/7的脚本。centos5需要手动一步步安装,并且gitlab也留了不少坑。

详细过程网上很多,这里只列举下主要步骤,和一些坑

大概下面几个步骤(注意#表示root用户,$表示git用户

1. 新建git系统用户(linux用户)

2. 安装ruby

3. 安装mysql

4. 安装redis

5. 下载gitlab-shell(用于检查gitlab环境,redis配置等信息)

6. 下载gitlab(主程序)

7. 安装GEM相关(ruby相关依赖库)

8. 初始化数据

9. 配置nginx

参考:http://www.nginx.cn/install

10. 配置nginx+gitlabe(下文$NGINX_HOME指代nginx的安装目录)

11. 完结

一些坑:

  1. 请安装把gitlab、gitlab-shell都安装在/home/git目录下面,不要问我为什么,所有都是默认这个目录的。一个一个修改配置容易漏掉
  2. 如果/usr/bin/redis-cli 路径不存在,请修改gitlab-shell/config.yml修改redis的redis-cli
  3. 如果gitlab启动以后,没有样式请运行 sudo bundle exec rake assets:precompile RAILS_ENV=production
  4. 确保nginx是最新版本 1.4
  5. 一定要在git用户下,执行/etc/init.d/gitlab restart

优质参考:

  1. http://www.tuicool.com/articles/NjANjq
  2. http://www.nginx.cn/install
  3. http://blog.haohtml.com/archives/13846

linux小内存vps性能优化笔记lnmp+jetty

新购入VPS,瑞豪开源, 购买地址 http://rashost.com/usa-vps

我买的是US180 VPS 68元/月

整体配置内存偏低,硬盘分割的较少,意味着母鸡的大硬盘可能被其他vps使用,IO比较差。

系统优化

一、创建SWAP (参考新浪张宴文章,原文地址:http://blog.s135.com/post/374/

1、创建SWAP交换空间,也就是windows的虚拟内存。

2、加入引导,即开机的时候挂载SWAP交换空间

二、MYSQL优化

1、关闭InnoDB (相比MyISAM,InnoDB会消耗额外的内存用于存储MySql一些索引信息) 关闭的意义在于,小内存VPS的瓶颈还是在于硬件配置,查询不是硬伤。参考文章:http://www.justwinit.cn/post/4785/

先确保表engine都已经改到MyISAM,关闭innodb后,原来的innodb表都将无法操作

关闭innodb

三、Jetty配置(下面/home/zhufeng/wwwroot_jetty根据自己server调整)

1、下载并解压

 2、加入启动项

 3、修改jetty.sh脚本,添加

4、在contexts目录下加入jetty context配置,参考如下:

 

三、Tomcat优化(不完善)

有个程序是Java的,Java对内存消耗比较大,其实这个小内存VPS不适合跑Java程序,优化如下:

1、修改bin/catalina.sh启动脚本

 2、修改conf/server.xml

截取一张优化后,VPS峰值的一张图

Screenshot

 

Linux自动备份网站文件和数据库上传FTP

因为A大的关系。导致数据丢失了不少。花了2个晚上写了个脚本备份数据。参考了hostloc上不少前辈的脚本。

为了安全,不使用root作为数据库用户备份数据。用root登录mysql server后,创建一个专门的备份用户 (创建用户名backup密码backup的mysql登录帐号,并且这个帐号的权限只有select和lock权限,即mysqldump备份的时候最低的权限要求)

ftp空间问题。我使用了godaddy域名赠送的免费10g ftp空间

  1. 登录godaddy,左上角登录
  2. 登录后,点击左上角 my account. 或者打开 https://mya.godaddy.com/default.aspx?ci=60016
  3. 出现一个列表。如下图。选择WEB HOSTING。下面有个free plan 就是赠送的空间路。点申请。大概需要30分钟时间开通

godaddy-free-host

脚本如下:

 

nginx反向代理(ghs.google.com)

设置ghs.google.com代理

 

 

Linux自动运行脚本

windows下开机启动某个程序比较简单,只需要把程序添加到”程序-启动”栏即可.

对于linux下开机自动运行程序笔记麻烦. 以Apache Tomcat为例. 做开机自动启动

 

 

设置:

1、保存脚本到/ect/init.d/目录下,保存名tomcat.sh

2、进入/etc/rc3.d/目录,新建一个软链接 sudo ln -s  ../init.d/tomcat.sh tomcat

 

注:ect目录下有很多rc1.d、rc2.d….这类的目录,这里是linux用来设置不同程序启动顺序用,数字越小启动优先级越高,一般而言我们自己的程序放在rc3.d目录下即可

 

 

 

在Debian上安装Xen配置虚拟机

不想做翻译了,直接链接

http://mediakey.dk/~cc/installing-xen-on-debian-etch-40/

非常不错的文章

Linux(debian)下ffmpeg编译与运行

Why write this article?

   网上关于如何编译的文章很多,但有2个很明显的趋势

   1. 国内的大多东抄点西抄点,时间滞后不说,当你google的结果大部分都大同小异后就会有抓狂的感觉,究其原因还是国内站长们‘爬虫’太多.
   2. 国外优秀文章不错,很多,比如这篇 因此本文的目的主要是为了国内阅读英文较困难的同学服务,务必做到阅读完本文后,能自行编译ffmpeg.并简单操作.

Audience

    ffmpeg初学者,并对linux相关命令不了解

What is ffmpeg?

    简单来说就是一个跨平台、开源的流媒体处理工具.几乎集成了流媒体处理的所有功能,几乎’无所不能’.著名的’暴风影音’,’QQ影音’…都有’幸’加入了ffmpeg耻辱柱.

How to use?

    ffmpeg主要2种使用方式 1、命令行  2、使用lib库

    前者最方便,几乎不需要编程方面的知识,参考具体文档即可.

Compile

    因为ffmpeg是主要几乎linux开发且官方不提供现成的二进制文件,需要用户自行编译,这就大大增加了初学者入门的难度

    windows下有现成的编译库SDK,可以直接下载. 这里将如何在linux(debian)下编译ffmpeg.

    网上可以找到很多教程,在正式安装ffmpeg需要安装许多东西,其实那些都并不是必须的.比如lame

    Debian的确很强大,强大到不需要本文,只需要几个apt-get 命令即可实现整个过程.当然这里不是本文的重点,懒人可以直接用下面的代码直接安装二进制包,有兴趣的朋友继续看下文,我们来手动编译

    懒人方法::

    手动编译:

    如果前面设置过prefix的朋友看这里,使用默认的可以忽略,这段作用是把ffmpeg执行命令加入到环境变量中去

 

 

    到了这里,如果一切顺利的话,可以运行下面命令测试下

 

   如果打印出大量字符提示信息,那就说明安装正确了.

Example

    如果前面都没有问题,运行下面命令,这条命令作用是把flv转成mpg格式

 

Debian网络设置

一直记不住这些设置~ 这里记录下,省的到处找

IP地址配置文件: /etc/network/interface

// 动态DHCP获得

# 启动系统激活设备
# Loop回环地址
auto lo
iface lo inet loopback

# 启动系统激活设备
# 网卡eth0设置为DHCP类型
auto eth0
iface eth0 inet dhcp

// 静态Static获得

# 启动系统激活设备
# Loop回环地址
auto lo
iface lo inet loopback

# 启动系统激活设备
# 网卡eth0设置为Static类型
auto eth0
iface eth0 inet static

# 指定IP地址、子网掩码、广播、网关
address 192.168.0.1
netmask 255.255.255.0 
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

# 指定DNS服务器地址
dns-nameservers 202.103.0.117
dns-search somedomain.org

========================

 

DNS服务器配置文件: /etc/resolv.conf

// 必须设置.否则无法访问任何URL

nameserver 202.103.0.117
nameserver 211.95.193.97

RO-linux私服架设

周末这两天闲来无事做,无意间看到有贴关于如何搭建RO私服,突然有了兴趣。本人这些年就爱玩2个网游《石器时代》和《仙境传说》。当年都曾辉煌一时,然后现在时光不再,前者已经关了,后者在盛大的摧残下已经面目全非了!

我用的是GEA的服务端 官方地址:http://gs-zone.cn/

win下安装没啥难度,因此这里就pass了,我用的是 GEA 中文服务端v1.F2.0716.13950 fix2 for Linux

说下一般私服的组成: 1、注册页  2、数据库 3、服务端  关键在于数据库和服务端

我选择的操作系统是debian,其强大性随便googe下就知道了!

因为是linux系统,因此这里用phpmyadmin操作数据库!而这个前提又是要安装好apache|ngix、php5这些web容器和脚本。

最佳的步骤如下:   debian出色的apt命令,几行完成安装
1、apt-get install apache2                           安装apache2
2、apt-get install php5                                 安装php5解释器
3、apt-get install mysql-server-5.0               安装mysql5.0,这个版本必须使用5.0如果找不到换源
4、apt-get install libapache2-mod-php5       安装apache_mod
5、apt-get install php5-gd
6、apt-get install php5-dom
7、apt-get install php5-pgsql
8、apt-get install php5-mysql
9、apt-get install phpmyadmin                    安装phpmyadmin管理工具,这个必须放在最后做,不然会很麻烦
OK~~打开IE输入  http://ip/phpmyadmin 查看能不能登陆管理MySQL。成功的话依次建立2个数据库(数据库名可以乱取),并依次导入GEAsql-filesmain.sqlGEAsql-fileslog.sql

OK~~私服搭建前2步完成了!现在配置下服务端,只要配置GEAconfinter_athena.conf

// Global SQL settings
// overriden by local settings when the hostname is defined there
// (currently only the login-server reads/obeys these settings)
sql.db_hostname: 127.0.0.1
sql.db_port: 3306
sql.db_username: root
sql.db_password: root
sql.db_database: gamedb
sql.codepage:

// MySQL Character SQL server
char_server_ip: 127.0.0.1
char_server_port: 3306
char_server_id: root
char_server_pw: root
char_server_db: gamedb

// MySQL Map SQL Server
map_server_ip: 127.0.0.1
map_server_port: 3306
map_server_id: root
map_server_pw: root
map_server_db: gamedb

// MySQL Log SQL Database
log_db_ip: 127.0.0.1
log_db_port: 3306
log_db_id: root
log_db_pw: root
log_db_db: gamelog
log_codepage:

主要配置的是数据库连接用户和前面增加的数据库名称!

最后~~运行./athena-start 就OK了·~

补充一点:由于./atnena-stop有时不能自觉结束进程,因此需要强行解除进程,如下:

#!/bin/sh
# Athena Stop

echo “GeAthena Stoping…”
killall -9 LoginServer&
killall -9 CharServer&
killall -9 MapServer&
echo “GeAthena Stoped…”

如果熟悉mysql环境的,刚才步骤的1-9只要做其中的第三步创建一个mysql5.0的服务器就可以了,其他步骤只是为了安装phpmyadmin方便可视化管理数据库。当然正式开服还需要一个注册页所以这些步骤仍旧需要。

总结下,其实搭建RO的私服就2步,一是建立数据库,二是启动服务端。