转载

VPS日常维护

查看硬盘剩余空间大小

df
显示
root@241541:/# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/simfs            20971520    583508  20388012   3% /

 查看硬盘可用文件数

df -i
显示
root@241541:/# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/simfs            400000   26568  373432    7% /

 查看内存剩余大小

free
显示
root@241541:/# free
             total       used       free     shared    buffers     cached
Mem:        524800     245240     279560          0          0          0
-/+ buffers/cache:     245240     279560
Swap:            0          0          0

 如何从其他网站上下载文件

wget "下载文件的链接地址"
如下所示下载 DZ 论坛的最新版:
wget http://download.comsenz.com/DiscuzX/2.0/Discuz_X2_SC_UTF8.zip
你也可以指定需要保存的文件名为 dz.zip 如下:
wget http://download.comsenz.com/DiscuzX/2.0/Discuz_X2_SC_UTF8.zip -O dz.zip
如果对方有防盗链可以这样下:
wget http://download.comsenz.com/DiscuzX/2.0/Discuz_X2_SC_UTF8.zip --referer=http://download.comsenz.com/

 常用服务重启

重启 Apache2
/etc/init.d/apache2 restart
重启 Mysql
/etc/init.d/mysql restart
重启 Nginx
/etc/init.d/nginx restart
重启 php
/etc/init.d/php5-fpm restart
 

 查看内存被什么消耗

ps -eo vsz,rss,pid,cmd --sort -vsz|head -n 20
显示:
root@241541:~#  ps -eo vsz,rss,pid,cmd --sort -vsz|head -n 20
   VSZ   RSS   PID CMD
146384 36860  1629 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock
 62908  3676  8026 nginx: worker process
 62660  2884  8027 nginx: cache manager process
 62660  3404 17440 nginx: master process /usr/sbin/nginx
 50380 11160  1517 /usr/sbin/named -u bind
 33948 13076 32345 /usr/bin/php-cgi
 33796 12912 32344 /usr/bin/php-cgi
 33764 12828 32351 /usr/bin/php-cgi
 33684 12804 32350 /usr/bin/php-cgi
 32892 12012 32346 /usr/bin/php-cgi
 32892 11984 32349 /usr/bin/php-cgi
 28864  7952 32347 /usr/bin/php-cgi
 28864  7956 32348 /usr/bin/php-cgi
 27708  5624 32342 /usr/bin/php-cgi
  8688  1924  3089 sendmail: MTA: accepting connections          
  8136  2924 32338 /usr/sbin/sendmail -i -FCronDaemon -oem root
  8096  2804 20387 sshd: root@pts/0 
  8096  2756 23759 sshd: root@pts/1 
  5304  1084  1547 /usr/sbin/sshd

 动态显示系统程序情况

top
显示

 mysql 手工恢复 phpmyadmin 备份的 sql 文件

xxxx.sql 是你备份的sql文件名。
 mysql -p 数据库名 < xxxx.sql

 手工备份单个 mysql 数据库

xxxx.sql 是你备份的sql文件名。
mysqldump -p 数据库名 > xxxx.sql

 修改mysql的root的密码

mysqladmin -u root password ‘new_password’

 mysql 无法启动的处理

运行 mysqld_safe --user=mysql 然后 tail -n 50 /var/log/syslog 看日志,根据错误来判断 如果提示日志不存在,运行: apt-get install rsyslog 安装日志服务。

安装JAVA

apt-get install openjdk-6-jdk

 在线解压缩

解压缩 xxx.zip
unzip xxx.zip
解压缩 xxx.tar.gz
tar -xzvf xxx.tar.gz
解压缩 xxx.tar.bz2
tar -xjvf xxx.tar.bz2
压缩aaa bbb目录为xxx.tar.gz
tar -zcvf xxx.tar.gz aaa bbb
压缩aaa bbb目录为xxx.tar.bz2
tar -jcvf xxx.tar.bz2 aaa bbb

封掉某个IP或IP段

只是运行后封掉,由于未保存所以重启后失效,对 192.168.2.0 或 192.168.2.23 进行封掉:
iptables -t filter -I INPUT -s 192.168.2.0/24 -p tcp -j DROP
iptables -t filter -I INPUT -s 192.168.2.23 -p tcp -j DROP

 查看日志

如果需要查看访问日志,请查看 /var/log/ 文件夹,所有的日志都在这个目录下。

 更多命令参考

点击查看 Ubuntu 技巧

 根据压力测试来调整最大并发数

因为VPS的内存是有限的,如果不限制最大并发数,会照成内存爆掉,对于openvz的管理会kill掉最耗内存的程序,这样很可能杀掉web服务 和sshd服务,表现形式为,vps可以ping通,但网站打不开,也无法登录,需要到面板重启vps才正常;如果已经发生了上述现象,请尽快按如下步骤 进行调整。

测试内存的使用情况

使用 putty 登录到到 vps 输入命令 free 即可看到当前内存的使用情况,如下所示:
root@241541:~# free
            total       used       free     shared    buffers     cached
Mem:        524800     296004     228796          0          0          0
-/+ buffers/cache:     296004     228796
Swap:            0          0          0
全部内存为 524800 K,已经使用 296004 K 剩余 228796 K,也就是还剩余 228 M的内存。 如果需要长时间监控,使用如下命令:
watch -n 1 free

安装压力测试软件

我们这里使用 ab 软件,作为我们的压力测试软件。 使用 apache2的 vps 已经自带了,如果使用nginx的vps,需要安装 apache2-utils 包,使用如下命令安装。
apt-get install apache2-utils

开始压力测试

你的站点都已经配置完整,需要找一个动态页面,最好内容多一点的,这里采用 http://www.test.com/index.php 作为测试页面。 在 putty 里面输入如下,将每秒刷新一次显示内存情况:
watch -n 1 free
重点在于观察位于 free 单词下面的数字。 再开一个putty,输入我们要进行的压力测试命令如下,其中测试网址修改为你自己的测试网址:
ab -n 100 -c 5 http://www.test.com/index.php
这个命令是按 5 个并发,做100次请求 ,注意看内存情况,如果出现内存小于50M的情况,表示非常危险了。 执行完毕的结果如下:
[root@241541 ~]# ab -n 100 -c 5 http://www.test.com/index.php
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.test.com (be patient).....done

Server Software:        Apache/2.2.16
Server Hostname:        www.test.com
Server Port:            80

Document Path:          /index.php
Document Length:        56446 bytes

Concurrency Level:      5
Time taken for tests:   53.147069 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      5721547 bytes
HTML transferred:       5695792 bytes
Requests per second:    1.88 [#/sec] (mean)
Time per request:       2657.354 [ms] (mean)
Time per request:       531.471 [ms] (mean, across all concurrent requests)
Transfer rate:          105.12 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      218  219   2.9    218     230
Processing:  1463 2407 258.5   2429    3126
Waiting:      450 1280 217.7   1291    1832
Total:       1681 2627 258.6   2648    3344

Percentage of the requests served within a certain time (ms)
  50%   2648
  66%   2691
  75%   2759
  80%   2818
  90%   2885
  95%   3093
  98%   3339
  99%   3344
 100%   3344 (longest request)
这个结果中需要掌握的有: 成功完成的请求数: Complete requests: 100 失败的请求数: Failed requests: 0 每秒完成的请求数: Requests per second: 1.88 [#/sec] (mean) 执行每个请求需要的时间(也就是用户打开这个页面的最快时间): Time per request: 2657.354 [ms] (mean)

进一步压力测试

在内存还有剩余的情况下,我们继续增加压力测试的并发数,可以慢慢增加, 当这边的内存监控窗口出现低于50M的时候,就表示这个数值为这个vps可以承受的最大并发数。 出现低于50M可以内存的情况如下,表示这个站只能支撑8个并发访问不会挂掉:
[root@241541 ~]# ab -n 100 -c 8 http://www.test.com/index.php
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.test.com (be patient).....done

Server Software:        Apache/2.2.16
Server Hostname:        www.test.com
Server Port:            80

Document Path:          /index.php
Document Length:        56446 bytes

Concurrency Level:      8
Time taken for tests:   41.779898 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Total transferred:      5670100 bytes
HTML transferred:       5644600 bytes
Requests per second:    2.39 [#/sec] (mean)
Time per request:       3342.392 [ms] (mean)
Time per request:       417.799 [ms] (mean, across all concurrent requests)
Transfer rate:          132.53 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      218  218   0.9    218     223
Processing:  1684 3021 461.5   3087    4525
Waiting:      495 1820 418.3   1927    3165
Total:       1903 3239 461.6   3307    4744

Percentage of the requests served within a certain time (ms)
  50%   3307
  66%   3384
  75%   3452
  80%   3521
  90%   3654
  95%   3763
  98%   4695
  99%   4744
 100%   4744 (longest request)
在8个并发的情况下,用户打开这个网页最快也需要3.3秒。

正文到此结束
Loading...