标签: vps

  • 通过SSH修改调整Linux VPS 时间和时区

    美国vps大多都是国外的时间,让我们的程序总是不适应。那么如何调整linux的时间为北京时间?修改linux vps的时间和时区,有什么办法?

    首先,需要ssh登录vps或服务器。 date 命令可以查看时间和时区。然后输入以下命令:

    rm -rf /etc/localtime

     

    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

     

    再date查看下时间和时区,时间是否正确了。如果已经正确,那么OK搞定。 SSH操作范例:

    如果还是有些不对,那么需要用命令 ntpdate stdtime.sinica.edu.tw 来校准时间。ntpdate stdtime.sinica.edu.tw 如果提示无此命令,那么需要先安装 ntpdate

    CentOS 安装方法:

    yum -y install ntpdate ntp

     

    Ubuntu安装方法:

    sudo apt-get install -y ntpdate ntp

     

  • Linux vps修改时间改成北京时间

    1.先登陆你的ssh,命令:date 看下时间是不是北京时间,如果不是我们把他改成北京时间。

    2.命令:

    rm -rf /etc/localtime

    ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

     

    3.再用date命令看下,你的vps的时间改变了吗?大部分Linux vps的母鸡是允许每个vps修改时间的!

    如果此时你的vps时间已经改成北京时间就不用看下面了,如果此时你的vps时间还没有修改好。再试下命令:

    ntpdate stdtime.sinica.edu.tw

    使用ntpdate stdtime.sinica.edu.tw 时候如果提示这个命令,先安装 ntpdate就可以了。

     

    centos 系统的vps用命令:

    yum -y install ntpdate ntp

    Ubuntu系统的:

    sudo apt-get install -y ntpdate ntp

  • Optimize Apache and MySQL for a 256MB VPS

    sudo nano /etc/mysql/my.cnf

     

    Add the following line into the section [mysqld]:

    skip-innodb

     

    Next locate the line skip-external-locking and add skip-locking below that line.

     

    Now find the section labeled “Fine Tuning”. Change/add the settings in that section to match those below:

     

    key_buffer = 16K

    max_allowed_packet = 1M

    thread_stack = 64K

    thread_cache_size = 4

    sort_buffer = 64K

    net_buffer_length = 2K

     

    Save the file (ctrl+x) and restart MySQL: sudo /etc/init.d/mysql restart

    If you run MySQLtuner again you will see that the “memory” warning is gone, ignore the aother warnings for the moment (you need to run the script after a few days again to get exact test results)

     

    Optimize Apache in prefork mode

    If you followed the Ubuntu tutorial we’ve mentioned in the first paragraph, your Apache setup should run in prefork mode. The default settings are much to high, open the file sudo nano /etc/apache2/apache2.conf andchange the following settings:

     

     

    Timeout 45

    KeepAlive On

    MaxKeepAliveRequests 200

    KeepAliveTimeout 3

     

    StartServers 5

    MinSpareServers 5

    MaxSpareServers 10

    MaxClients 30

    MaxRequestsPerChild 2000

     

    That’s all, restart Apache using sudo /etc/init.d/apache2 restart. If you know more tweaks, please share.

  • 新购VPS后的一些必要设置

    以下是在LNMP环境下设置,其他环境可能稍有不同。

    1.Mysql禁用日志(可选,如果你觉得日志对你来说没有用,建议禁用)

    /etc/my.cnf

    把这两行注释掉

    #log-bin=mysql-bin

    #binlog_format=mixed

    2.修改nginx的进程数量

    /usr/local/nginx/conf/nginx.conf

    一般不用修改,如果你的VPS给了你双核,可以修改worker_processes值为2

    3.修改php-cgi的进程数量

    /usr/local/php/etc/php-fpm.conf

    修改12

    一般256M内存,大概可以设为12个。

    4.修改最大同时连接文件数

    系统默认是1024,最好改大些

    使用 ulimit -a 可以查看当前系统的所有限制值,使用ulimit -n 可以查看当前的最大打开文件数。

    新装的linux默认只有1024,当作负载较大的服务器时,很容易遇到error: too many open files。因此,需要将其改大。

    使用 ulimit -n 65535 可即时修改,但重启后就无效了。(注ulimit -SHn 65535 等效 ulimit -n 65535,-S指soft,-H指hard)

    有如下三种修改方式:

    1.在/etc/rc.local 中增加一行 ulimit -SHn 65535

    2.在/etc/profile 中增加一行 ulimit -SHn 65535

    3.在/etc/security/limits.conf最后增加如下两行记录

    * soft nofile 65535

    * hard nofile 65535

    具体使用哪种,试试哪种有效吧,我在 CentOS中使用第1种方式无效果,使用第3种方式有效果,而在Debian中使用第2种有效果.

  • DROPBOX 定时备份VPS数据方案

    首先介绍下这里的主角–Dropbox,DropBox是一款非常好用的免费网络文件同步工具或者说是服务,类似于国内的金山快盘,可以让你轻松备份你电脑上的文件,或者是同步到另外一台电脑。不赘述,直接进入正题:

    一、安装配置Dropbox:

    Dropbox提供了不同操作系统的客服端,win下的话直接安装设置比较简单,而我们大部分的VPS都是linux操作系统,所以首先我们得在我们的VPS上安装dropbox,根据vps的系统位数选择下列命令下载dropbox:

    32位:

     

    wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86

     

    64位:

     

    wget -O dropbox.tar.gz http://www.dropbox.com/download?plat=lnx.x86_64

     

    然后解压:

     

    tar xzvf dropbox.tar.gz

     

    解压完成后通过以下命令运行dropbox:

     

    ~/.dropbox-dist/dropboxd &

     

    一般情况下因为我们是第一次运行,vps未与你的dropbox账户关联,所以并不会进行同步而是会出现如下提示:

    This client is not linked to any account…

     

    Please visit https://www.dropbox.com/cli_link?host_id=XXXXXXXXXX&cl=en_US to link this machine.

     

    这里dropbox已经为你的vps生成的一个host_id,复制上述提示中https://www.dropbox.com/cli_link?host_id=XXXXXXXXXX&cl=en_US这个网址在浏览器打开,然后输入你的帐号密码,dropbox就自动帮你的账户绑定到你的VPS了.

     

    二、建立备份

     

    首先进入dropbox目录:

     

    cd ~/Dropbox

     

    在开始备份之前,我们首先要通过ln软链接你所有要备份的目录,例如:

     

    ln -s /home/wwwroot/abc

     

    ln -s /home/wwwroot/bcd

     

    具体目录可以根据自己的实际情况选择添加。

    好了,运行下列命令,dropbox便开始同步了:

     

    ~/.dropbox-dist/dropboxd &

     

    三、建立定时备份脚本

     

    dropbox默认是进行实时同步的,这肯定非常耗资源,而我们的vps总是越能节省资源越好,所以我们要设置下dropbox只间隔性的一次性同步然后关闭程序节省资源。

    首先关掉同步:

     

    killall dropbox

     

    建立并编写定时同步脚本:

     

    vi backup.sh

     

    将以下代码写入脚本:

    #!/bin/sh

    start() {

    echo starting dropbox

    /root/.dropbox-dist/dropboxd &

    }

    stop() {

    echo stoping dropbox

    pkill dropbox

    }

    case “$1″ in

    start)

    start

    ;;

    stop)

    stop

    ;;

    restart)

    stop

    start

    ;;

    esac

     

    保存后我们要给backup.sh添加执行权限:

     

    chmod +x backup.sh

     

    然后在var\spool\cron目录下建立root文件或直接运行crontab -e命令添加定时运行:

    0 2 * * * sh /root/backup.sh restart

    0 3 * * * sh /root/backup.sh stop

    这里指的是2点开始同步,3点结束同步,具体运行时间可以根据直接的实际情况调整。而间隔时间也可以根据直接要同步的数据量来进行更改。

     

    四、添加数据库备份

     

    首先建立并编辑备份命令:

     

    vi backupdb.sh

     

    将以下脚本写入,具体需要更改的脚本中已经注释得很清楚了:

     

    #!/bin/bash

    DBName=修改为数据库名

    DBUser=修改为数据库用户名

    DBPasswd=修改为数据库密码

    BackupPath=/root/Dropbox/

    LogFile=/root/db.log

    DBPath=/usr/local/mysql/var/ #备份的数据库目录

    #BackupMethod=mysqldump

    #BackupMethod=mysqlhotcopy

    #BackupMethod=tar

     

    NewFile=”$BackupPath”db$(date +%y%m%d).tgz

    DumpFile=”$BackupPath”db$(date +%y%m%d)

    OldFile=”$BackupPath”db$(date +%y%m%d –date=’5 days ago’).tgz #自动删除5天前的备份

    echo “——————————————-” >> $LogFile

    echo $(date +”%y-%m-%d %H:%M:%S”) >> $LogFile

    echo “————————–” >> $LogFile

    #Delete Old File

    if [ -f $OldFile ]

    then

    rm -f $OldFile >> $LogFile 2>&1

    echo “[$OldFile]Delete Old File Success!” >> $LogFile

    else

    echo “[$OldFile]No Old Backup File!” >> $LogFile

    fi

    if [ -f $NewFile ]

    then

    echo “[$NewFile]The Backup File is exists,Can’t Backup!” >> $LogFile

    else

    case $BackupMethod in

    mysqldump)

    if [ -z $DBPasswd ]

    then

    mysqldump -u $DBUser –opt $DBName > $DumpFile

    else

    mysqldump -u $DBUser -p$DBPasswd –opt $DBName > $DumpFile

    fi

    tar czvf $NewFile $DumpFile >> $LogFile 2>&1

    echo “[$NewFile]Backup Success!” >> $LogFile

    rm -rf $DumpFile

    ;;

    mysqlhotcopy)

    rm -rf $DumpFile

    mkdir $DumpFile

    if [ -z $DBPasswd ]

    then

    mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1

    else

    mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1

    fi

    tar czvf $NewFile $DumpFile >> $LogFile 2>&1

    echo “[$NewFile]Backup Success!” >> $LogFile

    rm -rf $DumpFile

    ;;

    *)

    service mysql stop >/dev/null 2>&1

    tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1

    service mysql start >/dev/null 2>&1

    echo “[$NewFile]Backup Success!” >> $LogFile

    ;;

    esac

    fi

    echo “——————————————-” >> $LogFile

    保存后同样要先给backupdb.sh添加执行权限:

    chmod +x backupdb.sh

    然后在var\spool\cron目录下的root文件或直接运行crontab -e命令添加定时运行:

    0 1 * * * sh /root/backupdb.sh

    一般我喜欢在dropbox运行前建立数据库备份,而具体时间可以自己调整。

     

    最后附上删除卸载dropbox的方法:

    killall dropbox

    rm -rf .dropbox .dropbox-dist Dropbox dropbox.tar.gz dbmakefakelib.py dbreadconfig.py

  • VPS安全设置阻止扫站爆破者

    前面我们介绍了VPS SSH默认端口22的修改方法,这里我们继续加强一下VPS的安全意识,给大家一段代码来检测你的vps是否遭遇了包里破解:

    cat /var/log/secure|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|awk ‘{print $2″=”$1;}’       Redhat/Fedora

    cat /var/log/auth.log|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|awk ‘{print $2″=”$1;}’       Debian/Ubuntu

    如果查询出来的结果中包含了“ip地址=数量”这样的结果,那就说明有人曾试图破解过你的密码。

    设置一下禁用root登录

    在禁用root登录前首先一定要先增加一个普通权限的用户,并设置密码

    useradd test

    passwd test

    然后禁止ROOT远程SSH登录:

     vi /etc/ssh/sshd_config

    把其中的

    PermitRootLogin yes

    改为

    PermitRootLogin no

    如果PermitRootLogin前面的有#的话也一定要删除掉,否则无法生效。

    再重启sshd服务

     service sshd restart

    以后我们便可以通过普通权限的ssh账户连接我们的vps,如果需要管理权限的话,可以用下面命令提升到root权限

    su root

    Iptable设置:

    封掉多次尝试登录的恶意IP。

    封单个IP使用如下命令:

    iptables -I INPUT -s 61.253.249.157 -j DROP

    封整个IP段使用如下命令:

    iptables -I INPUT -s 61.253.0.0/16 -j DROP

    解除IP封锁使用如下命令:

    iptables -L INPUT

    iptable -D INPUT num序号

  • VPS修改SSH默认端口

    虽然咱是个伪LINUX爱好者,但是最最基本的我们还是要学习一下的,拿到VPS第一件事是修改一下SSH默认端口22,

     [root@server ~]$ vi /etc/ssh/sshd_config

    找到

    #port 22

    将前面的#去掉,然后修改端口

    port 2008

    重启服务,这样默认的22端口就被我们改成了2008了

    [root@server ~]$ /etc/init.d/sshd restart

     

  • 菜鸟用linux vps做网站

    前两篇关于linux下的VPS配制,由于时间原因,还是以失败告终,过年后,这是2012我的第一篇文章,想想一下,还是决定以傻瓜的方式先让自己的VPS运行起来,以后再慢慢学习手动配制的方法。个人使用的话,大家还是尽量摆脱使用控制面板,这样可以充分发挥机器的性能,控制面板都是比较臃肿的,并不是所有功能你都需要。本文所提到的大部分操作同样适用于在独立服务器上安装Kloxo。本文适合未接触过Linux和Kloxo的同学参考,欢迎交流。

    一、关于Kloxo

     

    Kloxo的前身是Lxadmin,它是一款免费、开源、高效、灵活的虚拟主机控制面板,运行在安装了32位Red Hat或者CentOS的Linux发行版(RHEL系列)的独立服务器或者虚拟服务器(Xen/OpenVZ/Virtuozzo)上。在运行了包括控制面板、Web Server、Mail、DNS、数据库、系统服务的情况下,可以优化到只占用33MB内存的极限(应该只有跑Lighttpd才能实现)。Kloxo能够在ApacheLighttpd这两大Web Server之间灵活切换,同时集成了MySQL、pure-ftpd、Xcache、djbdns/bind、SUexec等组件。如果你想了解更多Kloxo的信息可以访问:Kloxo官方网站Kloxo维基百科

     

    注意:根据Kloxo官方安装指南,Kloxo对64位Red Hat或者CentOS的Linux发行版的支持还在开发中,目前暂不支持。而且,安装时至少需要256MB的内存(没有交换空间Swap的要特别注意,最好是达到这个要求,通常是指OpenVZ)及2GB的磁盘空间。如果你的磁盘是手动分区的,请确保/tmp目录有足够的空间可供Kloxo的临时文件使用。

     

    当然,也有大神提供优化版的Kloxo可以安装在更低配置的VPS上,对于这种安全性能要求高的软件,我选择官方版本或者自己优化。对了,记得有同学在128MB的XEN上成功安装过。关于各种经验和疑问,建议大家多用用搜索引擎。

     

    二、安装Kloxo

     

    很多运营商都提供管理平台让客户对自己的VPS做一些常规管理,比如系统开关重启、系统重装、资源使用率查看等。今天用VPS做Kloxo安装步骤介绍,重装纯净的32位CentOS后,我的VPS内存占用约15MB,在安装完Kloxo且没做任何优化的情况下内存占用约140MB。关于如何重装VPS系统请咨询你的运营商。

    我使用SSH客户端是PuTTY中文版,一般来说SSH默认的端口是22。第一次使用SSH登录远程主机时会提示你更新安全密钥到本地缓存,确认保存以后你就可以继续后面的操作了。

    root是拥有最高权限的帐户,Linux命令行是不显示密码输入过程的,不必担心,你只需敲完整密码回车即可完成登录。

    一些服务器为了安全考虑会禁用环境变量这个特性,所以当你登录会看见这个提示:“Server refused to set all environment variables”(服务器拒绝设置所有的环境变量)。

    “Last login”是告诉你上次登录服务器的记录,你也可以以此简单判断服务器是否被他人登录过。由于我使用的是运营商提供的系统安装模板,所以,第一次登录显示“Sun Apr  5 19:36:07 2009 from host81-152-164-227.range81-152.btcentralplus.com”这个2009年的记录应该是系统模板制作者留下的。

    接下来我们开始进入Kloxo的安装环节:

    第一步:卸载自带组件

    Kloxo集成了我们所需的组件,为了安装顺利,我们先卸载掉CentOS原先自带的相同组件以免冲突或出错。分别执行:

    # rpm -qa | grep httpd
    # rpm -qa | grep mysql
    # rpm -qa | grep php

    命令rpm -qa分别列出apache、mysql、php等组件相关的rpm包以便之后依次卸载。通过查询可以看出我的VPS只自带了apache组件(httpd-2.2.3-22.e15.centos)。接下来卸载apache,执行:

    # rpm -e httpd

    命令rpm -e的作用是卸载rpm包,只需输入rpm包的名字即可,无需带版本号。并根据所列的rpm包列表,从下往上依次卸载。如果卸载不掉,系统会提示该rpm包的依赖关系及名称,先卸载提示的依赖包即可。如果还无法卸载,可以使用–nodeps参数(忽略依赖性关系)强制卸载,但最好不要这么做。

    第二步:安装Kloxo

    我们转到/usr/local/src目录(软件源代码包存放目录)。根据个人爱好,这步可以不执行,只是我本人不喜欢把文件乱放。当然你也可以将软件包放到/tmp目录(临时文件存放目录)下。执行:

    # cd /usr/local/src

    下载并安装Kloxo,http://download.lxcenter.org/download/kloxo/production/kloxo-installer.sh  执行:

    # wget http://download.lxcenter.org/download/kloxo/production/kloxo-installer.sh
    # sh ./kloxo-installer.sh –type=master

    按照Kloxo官方的教程,其实只需这2步即可完成安装Kloxo。

    “InstallApp”是一个集成了PHPBB、WordPress、Joomla等130多个常用源码的程序包,大概占用350MB的磁盘空间,可以根据自己的需求选择是否安装。如果服务器在国内不敢保证安装速度。

    整个安装过程很快,看见“Congratulations.”就说明Kloxo在你的VPS上已经安装完毕了。

     

    接下来安装一些Kloxo没有自带的常用组件,执行:

     

    # yum install php-bcmath
    # yum install php-mhash
    # yum install php-mbstring
    # yum check-update
    # yum update
    # yum clean all
    # shutdown -r now

     

    php-bcmath是任意精度数学函数库,用于浮点数精确运算;php-mhash是哈稀函数库,用于运算MD5、SHA1或GOST,还有其它多种的哈稀演算法;php-mbstring是多字节(多语言)字符串处理函数,用于处理多种编码的语言;yum check-update是列出所有可待更新的RPM软件包清单;yum update是更新所有可更新的RPM软件包;yum clean all是清除所有旧的PRM头文件(header)和下载的RPM软件包。shutdown -r now是立刻重新启动,相当于reboot。

     

    执行完以上这些步骤,Kloxo就算完整安装好啦!Enjoy!安装过程中请检查SSH客户端滚屏是否包含error反馈。

     

    三、登录Kloxo

     

    通过下面任一地址你就可以通过Kloxo访问并管理你的VPS了:

     

    • http://你的IP地址:7778
    • https://你的IP地址:7777
    • 默认帐号和密码都是:admin

     

    通过HTTPS链接访问时,浏览器会提示SSL证书不正确,这个可以忽略,不影响使用。

     

    如果无法访问,一般是由于开启了iptables过滤了端口所导致。如果没有其他防火墙相关的要求,简单的关闭iptables即可。通过SSH执行:

     

    # service iptables stop
    # chkconfig iptables off

     

    查看Kolox的运行状态可以执行:

     

    # /etc/init.d/kloxo status

     

    你可以通过strat、stop、restart进行相应的启动、停止、重启等操作的执行。