抓了不少机器人了
Posts tagged mt
[翻译]Media Temple (dv) 服务器性能优化
Oct 15th
原文见: http://kb.mediatemple.net/article.php?id=771
概述
本文总结了优化 (dv) 服务器的方法. 包括运行程序时使用尽可能少的内存和资源, 逐渐提升的系统稳定性, 以及在高负载条件下的高可用性.
征兆
- 频繁的 Apache(httpd) 当机
- 缓慢的服务器响应速度
- “服务器无法访问”(Server unreachable)的错误信息
- QoS 警报中的 kmemsize 警告(在Virtuozzo的Plesk控制面板中)
- QoS 警报中的 privvmpages 警告(在Virtuozzo的Plesk控制面板中)
需要的一些准备
详细描述
注意: 下面的几篇文章的难度是逐步提高的, 性能调优的力度也是逐渐增大. 所以我们建议你按照顺序来使用这些文章. 在使用每篇文章前, 最好先在前一篇的基础上进行服务器稳定性和功能性的测试!
第一部分: Apache 性能调优基础(httpd)(英文)
这篇文章指导你把 Apache 的 httpd.conf 文件中的 Timeout 和 MaxClients 参数调低. 这些参数可以降低 Apache 服务器的内存消耗并提高可用性.
- 完成本文的操作大概需要的时间: 5-20 分钟
- 难度级别(1-5, 5最难): 2
- 可能的内存占用减少: 20兆-60兆
第二部分: MySQL 性能调优基础(mysqld)(英文)
这篇文章知道你修改 MySQL 的 my.cnf 配置文件来启用查询缓存. 虽然这样会增加 MySQL 的内存消耗, 但是性能却有很大程度的提高.
- 完成本文的操作大概需要的时间: 5-15 分钟
- 难度级别(1-5, 5最难): 2
- 内存消耗增加: 16兆-32兆
第三部分: 其他性能调优(英文)
这篇文章指导你限制或关掉一些你服务器上不需要的服务. 也许你只需要本文的一部分内容, 所以有些操作可能和例子不太一样.
- 完成本文的操作大概需要的时间: 5-15 分钟
- 难度级别(1-5, 5最难): 3
- 可能的内存占用减少: 60兆-130兆
在Media Temple(dv)上安装配置Django
Oct 10th
在Media Temple(dv)上安装使用Django
选择 MT , 除了他那些知名的客户群, 还看上了他 VPS 系统的高可配置性. 独立的虚机可以让你在上面安装任何你需要的东西, 当然, 你也要懂得怎么去操作.
自己的 Django 项目已经有些雏形了, 所以也要考虑让他能在 MT 上运行了. 虽然前段时间 MT 对他的 (gs) 服务提供了 Django 的支持, 但是 (dv) 服务还是没有官方的 Django 支持, 所以我只能自己动手来安装配置了!
经过一番摸索和尝试, 以及 Richard 同学(这位同学是我在 Django 的 maillist 上找到的可以骚扰的人^_^)的帮助, 我终于在自己的站点上看到了”Worked”的字样. 自己在网上搜索相关资料的时候一直没有看到有人写在 MT 上安装 Django 的经验, 那么我就作为第一个吃螃蟹的人吧, 希望大家在搜索”mt django”关键字的时候能搜到我的文章:) (是否需要再写一篇英文的?)
好吧, 我们开始干活了! 大家在模仿的时候请注意修改你自己的域名和子域名.
- 在自己的域名下建立一个子域名, 方便我们干活. 我在我的 nickcheng.com 域名下建立了一个 lab.nickcheng.com 子域名. 这个工作在 plesk 下就可以搞定.
- 取得 MT 的 Shell 权限, 并且获得自己的 root 密码, 因为我们需要比较高的权限来做这些事情. root 密码需要在 MT 中提交一个 Support 来获取.
- 进入 Shell 模式, 切换到 root 权限(使用 su 命令)
- 切换到子域名 lab 所在的目录, 并建立 Django 目录, 下载/解压缩 Django
cd /var/www/vhosts/nickcheng.com/subdomains/lab
mkdir django
cd django
wget http://www.djangoproject.com/download/0.96/tarball/
tar xzvf Django-0.96.tar.gz
- 安装 Django
cd /var/www/vhosts/nickcheng.com/subdomains/lab/Django-0.96
python setup.py install
上面的步骤如果没错的话, Django 就已经在你的服务器上安装好了. 为了验证一下, 我们可以使用如下的步骤.
python
import django
如果没有报错, 那么就证明我们的已经成功安装了 Django. 接下来是配置 Django 站点了.
- 首先不建议把你的 Django 网站的源代码放在 httpdocs 目录下, 因为这样如果操作不当, 会有可能给别人下载你源码的机会, 所以我还是把 Django 网站的源代码放在了之前建立的 django 目录中.
cd /var/www/vhosts/nickcheng.com/subdomains/lab/django
django-admin.py startproject djangotest - 建立了 djangotest 这个 django 网站后, 就是最重要的配置步骤了. 我们先切换到配置文件所在的目录
cd /var/www/vhosts/nickcheng.com/subdomains/lab/conf - 这时这个目录应该是空的, 我们需要自己建立配置文件. 因为 MT 自带了 vi, 所以我用它来做这个事情
vi vhost.conf - 关于 vi 的操作还请大家自己学习. 我贴一下我的 vhost.conf 文件的内容
<location>
SetHandler python-program
PythonPath "['/var/www/vhosts/nickcheng.com/subdomains/lab/django/'] + sys.path"
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE djangotest.settings
PythonDebug On
</location>- 第一行, Location 后的路径不是指磁盘上的路径, 而是用户访问网站的路径. 我这里用 “/” 是指用户访问http://lab.nickcheng.com时的配置.
- 第二行, 指明这个路径下使用的Handler, 这里使用python
- 第三行, 指明你的 Django 网站源码所在的路径. 需要注意的是, 这里的路径要写你执行 django-admin.py 文件时所在的目录.
- 第五行, 要写完整你建立的 project 的 settings.
- 配置完成后, 我们需要重启服务来让他生效.
/usr/local/psa/admin/sbin/websrvmng -a -v
现在访问 http://lab.nickcheng.com, 应该可以看到 “It worked!” 的字样了:) 我们成功了
在MT(dv)上安装Subversion
Sep 5th
安装Subversion需要服务器上之前安装好yum, 没有安装请参考我的另一篇文章: 在MT(dv)安装yum
以下操作如无法进行请确认自己是以root身份登录(命令行下执行su指令,输入申请的root权限密码即可)!
- MT(dv) 默认安装有Subversion 1.1.4, 可以查看一下
svn --version - 在自己的svn目录(/var/www/vhosts/your_domain/subdomains/your_subdomain/svn/)下建立SVN版本库目录
mkdir repo - 在新建的目录建立SVN版本库
svnadmin create repo - 然后更改目录的权限, 包括里面的子目录. 这一步很重要, 要不最后是无法访问的
chmod 777 repo -R
上面这些是准备工作, 接下来是配置Apache, 让我们的Subversion 启用Web Access
- 进入svn目录下的配置文件目录conf
cd /var/www/vhosts/your_domain/subdomains/your_subdomain/conf - 建立vhost.conf文件. 用任意的编辑器均可. 本来打算使用emacs, 但MT默认没有安装, 只要使用vi
vi vhost.conf - vhost.conf 文件内容如下
# svn.server.com -- vhost.conf file
<location />
DAV svn # 告诉Aapche加载svn模块来处理请求
SVNPath /var/www/vhosts/your_domain/subdomains/your_subdomain/repo # 指定SVN版本库路径
AuthType Basic # 身份验证方式
AuthName "Subversion Repository"
AuthUserFile /etc/svn-auth-file # 身份验证数据存放的路径文件
Require valid-user
</location> - 我们在配置文件定义了用户访问需要经过进行身份验证, 所以我们还要建立访问用户.
htpasswd -c /etc/svn-auth-file your-name - 好了, 我们都完成了, 进行最后一步, 重启Apache
/usr/local/psa/admin/sbin/websrvmng -a -v
在MT(dv)安装yum
Sep 5th
前面说了自己已经成功的在自己的MT(dv)服务器上部署了Subversion服务, 而且启用了在 Apache 下的 Web Access, 所以这里单独写文章记录一下, 一来给自己做一个备忘, 二来可以帮助有类似需求的朋友:)
在MT(dv)上安装Subversion需要用到yum, 所以这篇文章单独来讲如何安装yum
步骤如下
- 建立一个子域名. 如: svn.domain.com
- 开通自己域名的SSH功能
- 向MediaTemple申请root权限
上面是准备工作, 下面是正式的操作步骤
- 通过SSH, 登录自己的服务器
- 使用su指令切换为root身份
- 切换目录到你建立的子域名所在的目录. 如:/var/www/vhosts/domain_name/subdomains/svn
- 下载yum在centos上的安装包
wget http://centos.mirror.vpslink.com/centos-4/4.5/os/i386/CentOS/RPMS/yum-2.4.3-3.el4.centos.noarch.rpm - yum安装包会有一些依赖文件, 也下载一下
rpm -ivh --nodeps http://centos.mirror.vpslink.com/centos-4/4.5/os/i386/CentOS/RPMS/libxml2-python-2.6.16-10.i386.rpm
rpm -ivh --nodeps http://centos.mirror.vpslink.com/centos-4/4.5/os/i386/CentOS/RPMS/python-elementtree-1.2.6-5.el4.centos.i386.rpm
rpm -ivh --nodeps http://centos.mirror.vpslink.com/centos-4/4.5/os/i386/CentOS/RPMS/python-sqlite-1.1.7-1.2.1.i386.rpm
rpm -ivh --nodeps http://centos.mirror.vpslink.com/centos-4/4.5/os/i386/CentOS/RPMS/rpm-python-4.3.3-22_nonptl.i386.rpm
rpm -ivh --nodeps http://centos.mirror.vpslink.com/centos-4/4.5/os/i386/CentOS/RPMS/python-urlgrabber-2.9.8-2.noarch.rpm - 安装yum
rpm -Uvh yum-2.4.3-3.el4.centos.noarch.rpm - 检查一下是否安装好了
rpm -q yum
好了, yum可以使用了:)
服务器已经迁移完毕
Sep 5th
一年的Bluehost用完了, 刚好有朋友要买空间, 于是撺掇之. 最后, 花了比Bluehost还少的钱就使用上了MT(dv)空间, 不过要时不时的当顾问…… 哈哈!
空间到手后就开始着手迁移. 原来的空间上主要就是自己的Blog, 于是花了几天来做迁移, 今天才基本上完毕. 这也是这段时间没有新写文章的原因:)
这次使用MT的空间, 自由度大了很多! 几乎什么都可以装! 自己很早就想拥有一个个人的Subversion了, 这次就能够实现了! 经过一番研究和实验, 终于成功搞定! 因为是个人的Subversion, 在此就不公布地址了(公布了也没用, 有权限控制)!
另外还准备在这个服务器上部署一些Django应用, 这个慢慢来!