标签存档: linux

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

脚本如下:

 

一段linux启动脚本(python版)

公司项目用到需要开机自动执行相关程序,奈何shell不是很精通,老大给了段python版的,我也分享下,供大家参考

比较简单~

前文介绍过,放在/etc/rc3.d 目录下即可,linux启动后会自动执行这个目录里面的脚本,默认使用start参数启动

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目录下即可

 

 

 

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