分类 Linux 下的文章

aria2应用实例

aria2是一个实用程序,用于下载文件。支持的协议HTTP(S),FTP,BitTorrent,和Metalink。它具有强大的分段下载能力,从多个源和多个协议下载一个文件,并利用你的最大下载带宽。它支持从HTTP(S)/ FTP和BitTorrent同时下载同一个文件,而从HTTP(S)/ FTP下载的数据,可以上传到BitTorrent swarm中。使用Metalink的块校验,aria2会自动验证下载文件的数据块像BitTorren一样。

用法:

  • Download from WEB:
    aria2c http://example.org/mylinux.iso

  • Download from 2 sources:
    aria2c http://a/f.iso ftp://b/f.iso

  • Download using 2 connections per host:
    aria2c -x2 http://a/f.iso

  • BitTorrent:
    aria2c http://example.org/mylinux.torrent

  • BitTorrent Magnet URI:
    aria2c 'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'

  • Metalink:
    aria2c http://example.org/mylinux.metalink

  • Download URIs found in text file:
    aria2c -i uris.txt

使用SFTP代替FTP服务器

FTP并不是唯一的上传文件的方法,大部分情况下都可使用sftp代替。sftp是什么呢?

sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP 为 SSH的一部分,SFTP是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低一些。

sftp是不需要另外安装的,因为是SSH自带的,所以会更省系统资源,也不需要单独配置,对新手来说比较简单。

Windows下面常见的FTP客户端Filezilla、Flashfxp、Winscp、cuteftp等都是支持sftp的,只需要在登陆时选择sftp协议,输入SSH的账号密码。

Linux下也可以安装使用Filezilla

需要注意的是,用那个用户登陆就会登陆到那个用户的目录下,如用root登陆就是在/root 下。

趁这次VPS挂掉的机会重新写一次总结吧

米娜桑,慢慢看啊~我是边试编写的。


重建系统

  • 首先是Rebuild VPS,相当于重新安装了一次系统。由于我买的是配置最低的vps,只有128m内存,所以这一次选择的是debian-7.0-i386-minimal

  • 使用ssh [email protected]自己的IP远程登陆自己的vps,输入密码通过

  • 为了系统的稳定性,开始升级系统apt-get updateapt-get upgrade

  • 安装必备软件"Screen" apt-get install screen和"Vim" apt-get install vim


开始搭建建站环境

  • 登陆后运行:screen -S lnmp打开一个新Screen,防止意外断网后

  • 为了方便省事使程序最大化利用vps的资源,我选用的是LNMP一键安装包

  • 1.CentOS系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./centos.sh
    2.Debian系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./debian.sh

3.Ubuntu系统下执行:wget -c http://soft.vpser.net/lnmp/lnmp1.0-full.tar.gz && tar zxvf lnmp1.0-full.tar.gz && cd lnmp1.0-full && ./ubuntu.sh

  • 按上述命令执行后,会出现如下提示:

    • 如果是Debian系统,会提示Where are your servers located? asia,america,europe,oceania or africa,这里是选择服务器/VPS在哪个大洲,一般都是美国VPS,直接回车就行,如果是中国的,输入asia,回车。如果输入有错误,可以按住Ctrl再按Backspace键删除,以下均可采用此方法删除。

    • Please input the root password of mysql:
      这一步需要设置MySQL的root密码,输入密码后回车进入下一步

    • `Do you want to install the InnoDB Storage Engine?
      (Default no,if you want please input: y ,if not please press the enter button):`

这里需要确认是否启用MySQL InnoDB,如果不确定是否启用可以输入 y ,这个可以单独在MySQL文件里关闭,输入 y 表示启用,输入 n 表示不启用。输入 yn 后回车进入下一步

  • Install PHP 5.3.17,Please input y
    Install PHP 5.2.17,Please input n or press Enter

这一步是选择php版本,可以选择 PHP 5.3.17 或 PHP 5.2.17,安装PHP 5.3.17的话输入 y ,安装PHP 5.2.17 输入 n,输入 yn 后回车,进入下一步MySQL版本的选择

  • Install MySQL 5.5.27,Please input y
    Install MySQL 5.1.60,Please input n or press Enter

(Please input y or n):
可以选择MySQL 版本 5.5.27 或 5.1.60,安装MySQL 5.5.27的话输入 y ,安装MySQL 5.1.60 输入n,输入 y 或 n 后回车,完成选择

  • 提示 Press any key to start...,按回车键确认开始安装。
    LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。

安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。

  • 说明已经安装成功


数据库管理

  • 直接打开http://域名或IP/phpmyadmin/,用你在安装过程中设置的密码登录即可。

  • 这是phpmyadmin在线管理MysqL数据库,有中文的。

  • 绑定域名也比较简单,上面安装LNMP时我们已经就绑定好了域名,接下来只要做好域名DNS解析即可。


FTP管理

我们准备安装的是:PureFTPd(带管理面板)

  • 执行./pureftpd.sh

  • 按提示一次输入MySQL的root密码、FTP管理面板的密码、MySQl的FTP数据库密码(也可直接回车,自动生成一个密码),最后回车确认,就会 自动 安装PureFTPd。

  • 完成后,在浏览器执行http://你的域名或IP/ftp/ 输入你前面设置的FTP用户管理面板的密码即可管理


其他组件的安装

  • eAccelerator

    • eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能。

    • 执行./eaccelerator.sh 就会自动安装并重启web服务。

  • ionCube

    • ionCube是用来加密PHP的工具。服务器安装了ionCube 用于执行加密过的PHP代码。

    • 执行./ionCube.sh 就会自动安装并重启web服务。

  • imageMagick

    • ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。

    • 执行./imageMagick.sh 就会自动安装并重启web服务。

  • memcached

    • Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。

    • 执行./memcached.sh 就会自动安装并重启web服务。


网站各组件的升级与替换

  • PHP

    • LNMP支持直接升级PHP版本。请注意,某些网站程序,如shopex等有兼容性问题,升级前确保你使用的程序以支持5.3.*版本。升级过程中Nginx、MySQL、PHP-FPM将会暂停。

    • 执行如下命令:./upgrade_php.sh 按提示输入php版本号,如5.3.6。

  • Nginx升级

    • LNMP目前支持直接升级Nginx,升级过程中MySQL、PHP-FPM将会暂停。

    • 执行如下命令:./upgrade_nginx.sh 按提示输入nginx的版本号,如1.0.10。版本号可以从http://nginx.org/en/download.html获取。

  • Nginx替换为淘宝开源Tengine

    • 1、获取Tengine并解压和编译
      wget -c http://tengine.taobao.org/download/tengine-2.0.0.tar.gz #获取压缩包

tar zxvf tengine-1.2.0.tar.gz #解压
cd tengine/ #进入目录
./configure #执行安装脚本
make #编译SSH执行以上命令。

  • 2、备份nginx配置文件
    mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old 执行以上命令,将nginx配置文件做一个备份。

  • 3、拷贝相关文件
    cp -r objs/nginx /usr/local/nginx/sbin/nginx 执行以上命令。将objs/nginx文件夹里的相关文件(不含子文件夹)拷贝(copy)到/usr/local/nginx/sbin/nginx文件夹内。

  • 4、编辑相关文件,删除相关字段

    • (1)编辑nginx.conf
      vi /usr/local/nginx/conf/nginx.conf

    • (2)删除以下字段并保存
      location /status {

stub_status on;
access_log off;
}

  • 4、测试Nginx是否运行正常
    /usr/local/nginx/sbin/nginx -t

如果出现:configuration file /usr/local/nginx/conf/nginx.conf test is successful 表明一切正常。

    • 5、结束当前运行中的Nginx进程

    1. -USR2 `cat /usr/local/nginx/logs/nginx.pid`

    kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

    • 6、重启Nginx,并测试升级是否生效
      /etc/init.d/nginx restart #重启Nginx

    /usr/local/nginx/sbin/nginx -v #查看当前Nginx版本(是否为Tengine) 如果出现:Tengine version: Tengine/2.0.0 (nginx/1.0.10) 表明一切正常。

    利用 Tinyproxy 搭建 HTTP(S) 代理

    在天朝每月总有那么几天访问网站不够顺畅,你懂的。虽然 可以使用 Google Translate 来应个急,但并非 100% 有效,比如最近我在访问 wireshark.org 时就遇到了问题。

    好在我们还能搭建 HTTP(S) 代理。目前市面上有许多 HTTP(S) 代理 软件可以选择,我们将使用 Tinyproxy。我们选择 Tinyproxy, 是因为它足够简单、小巧,且无需过多的配置。

    • 安装 Tinyproxy
      在 Debian 中,通过执行以下指令可以安装 Tinyproxy:

    apt-get install tinyproxy

    • 配置 Tinyproxy
      Tinyproxy 的配置文件默认位于 /etc/tinyproxy.conf。在此,你 可以配置其使用的端口号(默认是 8888)、超时、允许的最大客户 端等等。如果你希望在任意位置都能访问代理服务器,那么可以将 默认的 Allow 行注释掉。

    • 注意更新配置后,需要 reload 服务才会生效service tinyproxy reload。另外,如果开了 iptables 防火墙的话,需要添加如下规则:
      iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

    - 浏览器设置

    以 Firefox 为例,在“首选项 > 高级 > 网络 > 设置”中,选择“ 手动代理配置”,接着在“HTTP 代理”中填入服务器 IP,“端口”中 填入 8888,再确定就可以了。

    Linux远程会话管理工具:screen

    不知各位朋友曾经有没有遇到这个问题:使用SSH连接到服务器,当在编译程序(如LNMP一键安装包)的时候,网络异常或其它因素导致突然断开连接,远程命令也会停止,只能重新连接后再运行。本文就是教大家如何使用screen命令,避免出现以上问题。

    Screen是一个可以在多个进程之间多路复用一个物理终端的全屏窗口管理器。

    用户可以在一个screen会话中创建多个screen子会话,在每一个screen会话(或子会话)中就像操作一个真实的telnet/SSH连接窗口。

    • 安装screen

      • CentOS:yum install screen

      • Ubuntu:sudo apt-get install screen
        先在SSH中执行screen命令,如果提示screen:command not found,则在ssh执行以上命令。如果不会,请先输入exit退出。

    • 创建screen会话
      情景:需要在linux中下载并安装LNMP一键安装包,则先执行以下命令

    screen -S kwxgd
    以上命令的意思是:新建SSH会话,名字为kwxgd。
    回车以后,系统会自动跳转到名叫kwxgd的screen会话,就可以在这里执行LNMP一键安装包的命令了。

    • 暂时离开screen会话(但保留screen里运行的LNMP一键安装包命令)
      在SSH窗口中按快捷键:Ctrl+a d(按住Ctrl,依次按a,再按d)即可退出名叫kwxgd的screen的会话。

    暂时离开screen会话时,screen的会话并不会因为离开而停止,正在运行中(如编译LNMP一键安装包)的进程依然会继续运行,screen的好处就是可以在同一个ssh窗口中执行多个任务,如再新开一个Screen会话安装NET-SNMP。当然你也可以临时关闭ssh窗口,做些其它事情。

    • 重新读取screen会话
      重新读取screen会话有两种方法

      • (1)通过screen名字(如之前新建的kwxgd)读取。
        screen -r kwxgd

    在SSH中执行以上命令即可读取,若忘记之前创建的screen会话的名字,可以通过一下方法查询正在运行中的screen会话。

    • (2)通过screen会话ID读取screen会话

    1. -ls

    SSH中执行以上命令,即可读取正在运行中的screen会话,同时会列出ID号。
    若名字太长或过于复杂,可以通过ID号形式打开screen会话
    screen -r 3528
    如读取kwxgd,ID号为3528,在SSH执行一下命令即可。

    • 关闭screen会话
      若不再需要当前的screen会话,可以在当前的screen会话中执行 exit,提示[screen is terminating]表示已经成功关闭screen会话(不会保留在内存中),如果需要,请按第一步重建。

    • screen的快捷键
      正如之前讲到的Ctrl + a d 可以暂时离开当前的screen会话,同时screen还提供其它的快捷键。

    Ctrl + a c :在当前screen会话中创建一个子会话
    Ctrl + a w :子会话列表
    Ctrl + a p :上一个子会话
    Ctrl + a n :下一个子会话
    Ctrl + a 0-9 :在第0窗口至第9子会话间切换

    最新文章

    最近回复

    • 测试: 评论测试内容
    • 袅残烟: [嘻嘻]万网域名也降价了
    • yxy: 以后,我会经常来逛的。
    • 袅残烟: LXDE可以搭配xf...
    • Fooleap: 从好几年前用 Lub...

    分类

  • 默认分类 (25)
  • 运维 (53)
  • docker (1)
  • 动漫 (19)
  • 科普知识 (15)
  • 苍白边缘 (17)
  • 资源 (12)
  • Linux (58)
  • Arch Linux (19)
  • 计算机 (18)
  • 编程 (3)
  • Java (4)
  • python (0)
  • php (0)
  • 前端 (1)
  • 公告 (1)
  • 归档




      其它