ubuntu服务器配置完全指南

服务器 2293 0 2012-03-27

ubuntu服务器配置完全指南

发现自己最近都快沦落为一名专职装机员了,每天都有那么多的新服务器需要配置,那么多的游戏平台需要架设,长痛不如短痛,该是摆脱这件无聊而又无趣 的事情的时候了,下定决心牺牲今晚大好月色,好好写篇安装指南。但愿从此可以解脱了!    --wolfplus 2007/11/22
    本文主要面对半丁公司游戏的维护人员,对使用Ubuntu系统的其它用户也有同样的参考意义,基本覆了架设游戏平台时可能涉及到的所有前期准备工作,预计将由以下章节组成,至于我们内部软件的配置方法,请见内部文档。

   一、ubuntu系统的安装配置
二、mysql的配置优化
三、vsftp、apache的安装配置
四、服务器监控软件mrtg的安装配置
(比较懒,写哪儿算哪儿吧)

一、ubuntu系统的安装配置
1. 下载刻盘
有很多途径可以获得Ubuntu的拷贝,最简洁的的方法就去Ubuntu官方网站上 去下载Ubuntu的安装盘映像文件,下载后得到的文件扩展名为iso,你可以使用Nero将映像文件还原到CD上,之后你就可以用这张CD去安装 Ubuntu系统了。另提示一下,请务必使用刻录软件的映像还原功能,不要把iso文件直接刻录到CD上了。
Ubuntu目前可选的版本有6.06 server, 7.04 server, 7.10 server,其中6.06属于长期支持版本,支持到2009年,相对比较稳定,推荐使用,但如果你的服务器使用了较的的硬件系统,也可以考虑7.10版。
每个版本还根据硬件类型分为X86和64位系统两个类别,这里提醒一下,因为我们的平台只支持32位系统,所以如果你是半丁的客户,即使你买了64位服务器也请务必安装x86的版本。
这里分别给出6.06 server和7.10 server x86版本的下载地址,如果发现地址无效请直接到www.ubuntu.org.cn中文官方网站下载
    Ubuntu 6.06.1 LTS (Intel x86) server install CD
        http://mirror.rootguide.org/ubuntu-releases/6.06/ubuntu-6.06.1-server-i386.iso
    Ubuntu 7.10 (Intel x86) server install CD
        http://mirror.rootguide.org/ubuntu-releases/7.10/ubuntu-7.10-server-i386.iso
2. 安装
Ubuntu 的系统安装过程极度傻瓜化,过程绝过比windows更简洁,所以你完全可以放下恐惧心理,就跟装windows一样,先在BIOS里设置从光盘引导,然 后插入我们刚刚刻录的安装CD,重新启动服务后猛点Next就可以了,但为了确保万无一失我还是再跟你确认以下三点:
1. 安装过程中会要求你选择是使用dhcp还是手动输入ip地址,通常你应该手动输入服务器的ip地址(错了也没关系,我们后面可以再修改)
2. 安装过程中会要求你输入管理员的用户名和密码,请不要因为第一次安装Ubuntu过于激动而忘了记下它们,否则你就要再激动一次了。
3. 安装过程中会让你对磁盘进行分区,如果你对分区操作有心里阴影,直接Next就可以了,默认是使用整个磁盘,自动分区,这就够了。
3. 配置优化
服 务器重启之后Ubuntu就已经成功安装到服务器上了,我没有骗你吧,确实比装XP更简单!:)但你还有最后一步工作要做,我才能帮得到你,首先请确认你 的Ubuntu盘还插在光驱里(不要告诉我你在服务器重启时就没有把它拿出来....@.@),然后使用你刚才设定的用户名和密码登录到系统,你应该能看 到类似这样的提示:
        wolfplus@loki:~$_
后面的所有命令就是在这里僌的。好,Ubuntu的配置就从这里开始了:
3.1 安装远程登录服务SSH(注意下面的$表示系统提示符,实际不输入,后同)
        $sudo sudo apt-get install ssh
输 入这行命令后可能会提示你重新输入你的用户名和帐号,如果出现有(Yes/no)这样的提示的话,你只需输入Y后按回车就好了。理论上说,在你做完这一步 后就可以把你的烂摊子交给我了,但看在我8点多还没吃晚餐写教程的份上,你应该帮我把文档后面的部分也都做完撒,嘿嘿!
对了,我知道你是个谨慎的人,所以在庆祝之前我再教你个方法,确认文档前面的部分你都成功了,打开你的个人电脑(假设为XP系统,并已经联网)运行CMD, 输入以下内容:
        >telnet 192.168.0.1 22
(192.168.0.1替换成你给服务器配置的ip)如果屏幕上出现类似以下内容:
        SSH-2.0-OpenSSH_4.2p1 Debian-7ubuntu3.1
恭喜你!,这说明你前面的内容全部成功,你可以继续下一步了,如果没有.....,你看着办吧!
3.2 修改机器ip
        如果你在前面步骤中ip输入错误,或是要做修改,你可以输入以下命令
        $sudo nano /etc/network/interfaces
        会出一个类似记事本的编辑环境,如果你只是改ip,直接改掉就可以了,如果之前用的dhcp,你可能要把文件内容修改成以下形式
        # The loopback network interface
        auto lo
        iface lo inet loopback

        # The primary network interface
        auto eth0
        iface eth0 inet static
                address 192.168.0.212
                netmask 255.255.255.0
                network 192.168.0.0
                broadcast 192.168.0.255
                gateway 192.168.0.1

        后面一节都好理解,但前面的auto lo iface lo inet loopback也是有用的,请不要自作主张给删了(我没有特指某人...).
        修改完成后按Ctrl + X 再按Y后退出保存
        执行下以下命令,使修改生效
        $sudo /etc/init.d/networking restart
        ps: 因为7.04开始Ubuntu里的vi指令变得有点古怪,为了不惹麻烦,后面我们统一用nano作编辑器,这个操作基本同于记事本
3.3 设置DNS服务器
        $sudo nano /etc/resolv.conf
        在编辑器中输入以下内容
        nameserver 211.167.97.67
        nameserver 211.167.97.200
        退出保存
        到这一步你的服务器应该可以正常上网了,你用以下命令做下测试$ping www.sina.com.cn
3.4 配置更新源
        Ubuntu所有的常用软件都可以用最简单的命令从网上在线下载安装,一步到位,并且通常速度都很快,你肯定会因为这一点而爱上它的!:)
        输入以下命令
        $sudo nano /etc/apt/sources.list
        在编辑器中清除文档中原有的所有内容(你可以用Ctrl+K快速做到)
        根据你安装的Ubuntu版本不同,把以下内容粘贴到文档中
7.10
deb http://ubuntu.cn99.com/ubuntu gutsy main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu gutsy main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu gutsy-backports main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu gutsy-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu gutsy-proposed main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu gutsy-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu gutsy-security main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu gutsy-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu gutsy-updates main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu gutsy-updates main restricted universe multiverse

7.04
deb http://ubuntu.cn99.com/ubuntu/ feisty main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ feisty-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ feisty-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ feisty-proposed main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ feisty-backports main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ feisty main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ feisty-security main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ feisty-updates main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ feisty-proposed main restricted universe multiverse
deb-src http://ubuntu.cn99.com/ubuntu/ feisty-backports main restricted universe multiverse

6.06
deb http://ubuntu.cn99.com/ubuntu/ dapper main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-updates main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-security main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu/ dapper-backports main restricted universe multiverse
deb http://ubuntu.cn99.com/ubuntu-cn/ dapper main restricted universe multiverse

        退出保存后输入以下命令更新源
        $sudo apt-get update
        输入以下命令更新系统到最新状态
        $sudo apt-get upgrade
3.5 修改系统参数
        默认的系统参数比较保守,对系统连接数限制为1024, 不生成core文件,我们需要对部分参数进行调整,输入以下命令
        $sudo nano /etc/security/limits.conf
        在文件中添加以下行,如果有重复的行请删除
        *               soft    core            2000000
        *               hard    core            2000000
        *               soft    nofile          8096
        *               hard    nofile          8096
        保存退出
        将最大core大小设为2G, 并发连接数设为8K
3.6 将自定义动态库加入系统cache中
        我们可能有一些自己开发的动态库(linux下扩展名为.so),为了让软件在运行时能找到动态库,我们需要将动态库的目录加入到系统cache中, 输入以下命令
        $sudo nano /etc/ld.so.conf
        假设我的动态库放在/home/wolfplus/sbin/和/home/wolfplus/sbin/qpspace两个目录下,我们只需要在文件中添加两行
        /home/wolfplus/sbin/
        /home/wolfplus/sbin/qpspace
        退出保存后执行以下命令让设置生效
        $sudo ldconfig -v
        提示一下: 如果执行该命令之后你又向目录中放入了新的so文件,你需要重新执行该命令
3.7 安装常用软件
        有了apt-get 这个工作变得如此优雅从容
        3.6.1 安装mysql客户端运行组件(游戏服务器需要用到)
                $sudo apt-get install libmysqlclient15off
        3.6.2 安装系统资源监视器
                $sudo apt-get install atop
                安装后你可以使用$atop 2 来启动,每2秒刷新一次, q键退出

    3.8 校准时区和系统时间
        游戏平台对系统的时间的准备性要求非常高,所以这一步操作必不可少
        首先用以下命令设置好时区
        $sudo rm /etc/localtime
        $sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
        校准系统时间
$sudo ntpdate time.stdtime.gov.tw
        准备后你可以通过以下命令查看系统的当前时间
        $date
        提示: 在校准时间时请务必关闭硬件服务上运行的所有平台服务器程序,否则会引起不可预测的计分和人数统计混乱

  3.9 其它常用命令
        简单列一下,详细格式拿名字google一下吧
        修改密码passwd
        新增用户adduser
        删除用户deluser
        给文件添加执行属情      chmod u+x 文件名
        去掉执行属性            chmod u-x 文件名

二、mysql的配置优化
1. 安装mysql
提到安装mysql 我不禁又要感叹一下apt-get :), 输入以下命令安装mysql server 5.0版,这个开始支持存储过程而又相对比较稳定
        $sudo apt-get install mysql-server-5.0
搞定!
2. 优化innodb引擎
        mysql新的innodb引擎相对以前的myisam有了很多的改进,我们将全部使用innodb表来存储数据,但如果你在默认配置下使用innodb 引擎,你马上就能理解什么叫老牛拖破车了,磁盘IO和CPU会迅速飙升,所以优化刻不容缓,输入以下命令打开mysql的配置文件
        $sudo nano /etc/mysql/my.cnf
        找到文件的[mysqld]配置节,添加以下行,如果文件中已经有了该项,你只需要将值更新即可,我这里以4CPU, 4G内存的服务器为例
        bind-address            = 192.168.0.212 (ip地址更新为服务器的实际地址)
        innodb_buffer_pool_size = 2046M   #推荐设为50%总内存
        innodb_additional_pool_size = 20M
        #innodb_log_file_size = 200M
        #innodb_log_buffer_size = 32M
        innodb_flush_logs_at_trx_commit = 0 #如果你需要更可靠请设为2
        thread_concurrency= 16
        max_connections = 500 #并发连接数

        expire_logs_days = 10 #二进制日志过期时间
        server-id = 1 #主服务器id
        log-bin = /var/log/mysql/mysql-bin.log
        修改完成后保存退出,运行以下命令使用新的配置文件重新启动mysql服务器
        $sudo /etc/init.d/mysql restart
3. 常用mysql命令
        首先使用以下命令连入mysql服务器(本机连接)
        $mysql -uroot
        3.1 创建新的数据库用户
         以下命令创建用户名为wolfplus, 密码为passthis,可以从任何机器登录,拥有全部操作权限的数据库用户(>为提示符,不用输入)
        >grant all privileges on *.* to 'wolfplus'@'%' identified by 'passthis';
4. 配置主从服务器
mysql 主服务器可以通过发送操作日志给从服务器的方式,让两台数据库机器保持同步更新,当主服务器出现故障时,可以将从服务器升级为主服务器,提高服务的可靠 性,但因为操作数据量较大,必须保证主服务器和从服务器之间的流量足够(如在同一个局域网内),可以从全新服务器安装主从服务器,也可以在主服务器运行一 段时间后再添加从服务器,这里假设主服务器已经配置完成,并运行过一段时间
4.1 添加从服务器
        ,首先按前面介绍的方法安装并配置好从mysql服务器,注意在修改mysql配置时两台的server-id必须不同,如主mysql server-id=1,从服务器mysql server-id=2
4.2 理论上可以进行热操作,但为了提高速度和可靠性,我们在里只说明停机操作的方法,
        (1) 首先关掉所有访问数据库的客户程序,并用以下命令重启mysql
        $sudo /etc/init.d/mysql restart
        (2) 重启进入mysql服务器,并记下当前日志的文件名和位置
        $mysql -uroot
        mysql > SHOW MASTER STATUS;
+---------------+----------+--------------+------------------+

| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+---------------+----------+--------------+------------------+

| mysql-bin.003 | 73       | test         | manual,mysql     |

+---------------+----------+--------------+------------------+
        请记下上图下的文件名:mysql-bin.003 和位置73, 注意,这个过程请确保没有其它程序在操作数据库
        (3)关闭mysql, 并打包数据库文件
        $sudo /etc/init.d/mysql stop
        $sudo tar czvf ~/mysqlbak.tar.gz /var/lib/mysql/.
        $sudo /etc/init.d/mysql start
        (4)登录从服务器,下载打包的文件,并解压到相应位置
        $sftp wolfplus@192.168.0.212
        $get mysqlbak.tar.gz
        $sudo tar zxvf mysqlbak.tar.gz /var/lib/mysql/.
        (5)启动从mysql服务器,并设置复制
        $sudo /etc/init.d/mysql restart
        $mysql -uroot
        mysql> CHANGE MASTER TO
                ->     MASTER_HOST='master_host_name',
                ->     MASTER_USER='replication_user_name',
                ->     MASTER_PASSWORD='replication_password',
                ->     MASTER_LOG_FILE='recorded_log_file_name',
                ->     MASTER_LOG_POS=recorded_log_position;
       
        (6)启动从服务器线程
        mysql> START SLAVE;
        到这一步从服务器就已经配置完成了,你改变主服务器上的数据为,然后观察从服务器数据是不是对应被更新来确认主从服务器是否安装成功。

5. 配置定期备份脚本和轮转日志
        尽量我们已经配置了主从服务器,数据库的安全性大大提高,但对于人为的误操作造成的数据丢失却还是无能为力,因为你的所有操作都被完整复制到从服务器,所以我们还是需要定时做全库备份
        (1)创建全库备份工作脚本
        $nano automysqldump.sh
        在打开的编辑器中输入以下内容,并退出保存(注意替换以下mysql登录信息)
        #!/bin/bash
        HOST=192.168.0.212              # mysql IP
        USER=wolfplus                   # mysql username
        PASSWORD=passthis               # mysql password
        BAKDIR=/backup/sqlbak           # default
        DATESTR=`date +%F-%k%M%S`
        if [[ -d $BAKDIR ]]
        then
                echo "passthis"
        else
        mkdir $BAKDIR
        fi
        mysqldump -h $HOST -u $USER -p$PASSWORD --all-databases > $BAKDIR/$DATESTR.sql
        tar zcvf $BAKDIR/$DATESTR.tar.gz $BAKDIR/$DATESTR.sql
        rm -rf $BAKDIR/$DATESTR.sql
       
        (2)给脚本配置执行属性
        $chmod u+x automysqldump.sh
        (3)将备份脚本配置成系统周期任务
        $crontab -e
        以打开的编辑器中输入以下内容,请注意你的脚本实际存放位置
        1 1 * * /home/wolfplus/bin/automysqldump.sh
        退出保存后系统将会在每天1点1分准时执行automysqldump.sh脚本,对整个mysql数据库进行备份

三、vsftp、apache的安装配置
1. 安装配置vsftp
2. 安装配置apache

四、服务器监控软件mrtg的安装配置

上一篇:Ubuntu 服务器上 SSH Server 的安装和设置

下一篇:xampp-linux的安装

讨论数量:0

请先登录再发表讨论。 2024-04-19

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链