Posts by Linux魔法师

nginx服务器性能

使用Apache JMeter测试web服务器性能

在这篇文章中,我将介绍Apache JMeter,一个强大的免费自由开源的web应用性能测试工具。JMeter不仅可以模拟负载,而且可以进行回应验证。 JMeter的特点如下: 可以测试各类web应用的性能,如web服务器、SOAP、FTP、JMS、邮件服务器(SMTP/POP3/IMAP)等等。 既可以测试静态内容,又可以测试动态内容 提供GUI界面 100%纯Java代码写成,可以安装在Linux、Mac OS、Windows操作系统上。 多线程框架 可以进行分布式测试,从不同的机器上对web应用进行测试 有大量插件 离线分析功能 安装Java JMeter完全用Java编写,所以在安装JMeter之前,我们需要安装好Java。使用下面的命令查看系统上有没有安装Java java --version 如果没有安装好,可以使用下面的命令安装: sudo apt-get install...

nginx性能优化

Linux系统下安装siege 网页服务器性能测试工具

我们可以用很多工具来测试web服务器的性能,有些是免费开源的,有些是需要商业许可的。siege是一个免费开源的工具,用于web服务器的压力测试。 给siege指定一个URL,siege就可以模拟大量用户来测试web服务器性能。siege提供的测试结果包括耗费时间、总数据传输量,服务器响应时间、吞吐量、并发连接数量等。 源码编译安装siege 很多Linux发行版的软件库中都收录了siege,但软件库中的版本一般都比较旧,我们可以自己下载最新版本来安装。在写这篇文章时,最新版本为3.1.2。首先下载安装包,在终端中输入下面的命令: wget http://download.joedog.org/siege/siege-latest.tar.gz 解压安装包: tar -xvf siege-latest.tar.gz 切换到解压目录 cd siege-3.1.2/ 编译前需要做一点配置。./configure命令会为siege生成配置信息,并检查编译所需要的库文件。 ./configure configure完成后,输入下面两条命令编译并安装siege: make sudo make install...

postfix黑名单

Postfix如何添加域名黑名单和白名单

在这篇教程中,我将介绍如何用Postfix添加域名黑名单,以拒收垃圾邮件。同时也可以用这个方法来添加白名单。如果你还没有安装好Postfix邮件服务器,那么请看这篇文章。 /etc/postfix/main.cf 首先登录邮件服务器,编辑/etc/postfix/main.cf文件 sudo vi /etc/postfix/main.cf 在文件中添加下面一行文字,你可以把它插入到文件末尾。 smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_checks 保存文件。 /etc/postfix/sender_checks 然后在/etc/postfix/目录下创建一个sender_checks文件 sudo vi /etc/postfix/sender_checks 在这个文件中,每一行添加一个域名,域名后面输入OK表示将这个域名添加到白名单,域名后面添加REJECT表示将这个域名添加到黑名单。 example.com  ...

Debian

Debian服务器Perl本地化设置失败

我们安装Debian或Ubuntu时,可能本地化设置(locale)并不完整。所以安装Perl应用程序时会警告本地化设置失败。你可能会看到如下警告信息: perl: warning: Setting locale failed. perl: warning: Please check that your locale settings:         LANGUAGE =...

mailman

将mailman邮件列表打造成电子邮件营销系统

大多数站长知道有QQ邮件列表这个东东。但QQ邮件列表功能比较简单,每天只能给用户发两篇文章,不能对它个性化配置。其他功能较强大的邮件营销工具如aweber是要花钱的。其实捏,在QQ邮件列表出现之前,国外早就有了一款强大的邮件列表程序,这就是免费开源的mailman。在上一篇文章中,我向大家初步介绍了如何在Debian 8 + Nginx + FastCGI+Postfix环境下安装mailman邮件列表程序。现在,我们要将mailman打造成一个强大的邮件营销系统。 1.更改语言 首先要做的就是更改mailman的语言,在浏览器中访问下面的地址登录mailman网页管理后台: http://example.com/cgi-bin/mailman/admin/listname 将example.com修改成你自己的域名,listname修改成你的邮件列表名称。默认的listname是mailman,你可以访问下面的地址新建一个列表: https://example.com/cgi-bin/mailman/create 登录邮件列表管理后台,点击左上方的”Language options“,然后在下方的”Default Language for this list“中选择“Chinese(China)“,最后提交修改就行了。如果下拉菜单中没有中文这一项,那么先要在下面添加中文。   2. 生成邮件订阅表单...

Debian 8, Nginx, Postfix, FastCGI环境安装mailman邮件列表程序

关于Mailman mailman是一个邮件列表程序,它是一个自由软件。有很多开源社区网站在使用mailman。这篇文章介绍如何安装并使用mailman来创建邮件列表,向订阅用户发送邮件。 先前条件 这篇教程假定你已经安装好了LEMP以及Postfix。点击此处阅读如何安装LEMP,点击此处学习如何安装Postfix邮件服务器。 1.安装fcgiwrap 为了让Nginx正确地展示mailman的网页后台界面,我们需要安装fcgiwrap软件包: sudo apt-get install fcgiwrap 安装好后,打开/etc/init.d/fcgiwrap文件 sudo vi /etc/init.d/fcgiwrap 在29行和30行,确认FCGI的用户名和组名与Nginx的用户和组名一致。Nginx默认的用户和组名是www-data。 FCGI_USER="www-data" FCGI_GROUP="www-data" 修改好后,重启fcgiwrap sudo service...

电子邮件

电子邮件系统是如何运作的?

电子邮件的历史 电子邮件的出现比Internet的出现要早。电子邮件于1965年在MIT诞生。当时,MIT开发出了一种分时操作系统,可以让多个用户在各自的终端同时登录并使用同一个大型机。一个用户可以给同一个大型机上的另外一个用户发送电子邮件。随着Internet的出现,电子邮件可以发送到世界的任何一个邮件服务器上。 电子邮件系统的六个组成部分 如今的电子邮件系统由以下六个部分组成: MTA      MDA      mailbox    POP3/IMAP Server      MUA      MSA...

ssl证书

如何为自己的VPS服务器安装免费SSL证书

2015年12月5日更新:Let’s Encrypt是一个专门提供免费SSL证书的非盈利性CA机构,极大地方便了申请免费SSL证书的过程。因此现在我不推荐使用下面的方法。 大多数的CA证书都要花钱买,不过有一个叫StartCOM的CA机构为个人提供的证书是免费的。他们的网址是startssl.com,你可以在Firefox浏览器和Chrome浏览器的Certificate Manager受信任的CA机构中找到StartCOM这个公司。 下面,我将一步一步教你如何向StartSSL申请一个证书并安装在自己的Linux VPS服务器上。你可以将CA证书安装在web服务器上,也可以安装在自己的邮件服务器上。 在StartSSL网站注册 StartSSL网站不使用账号和密码来登录,而是使用个人证书来验证用户登录。前往StartSSL注册页面,填写你的个人信息。注意,邮箱地址不要填写QQ邮箱!否则不能接收验证码。   点击Continue后,他们会给你的邮箱发一个验证码。将验证码粘贴在文本框中。   验证通过后,将会转到一个页面,生成一个私钥。这个私钥保存在浏览器中。点击Continue生成私钥。然后他们会要求安装证书,点击Install安装。   证书会安装在你的浏览器中。记住这个证书不是我们最终要的SSL证书,而是我们登录StartSSL网站的个人证书。   域名验证 点击Control Panel进入控制面板   然后点击Validation...

postfix

Debian 8 Server搭建Postfix+Dovecot邮件服务器

自己搭建邮件服务器有许多好处,比如可以解决隐私问题。自己的邮件服务器只有自己才能查看里面的邮件,再也不用担心电子邮箱提供商比如Gmail、 QQ邮箱、网易邮箱的员工偷看我们的邮件了,或者把我们的邮件提供给政府机构。另外一个好处是发送附件不用担心附件的大小。Gmail的附件不能超过 25M,QQ邮箱的普通附件不能超过20M。有了自己的邮件服务器,我们可以自己限定附件的大小。 在这篇教程中,我将告诉你如何搭建一个简单的Postfix+Dovecot邮件服务器。Postfix是一个MTA,而Dovecot同时实现了MDA和IMAP/POP3服务器两个功能。这篇教程是写给Debian 8 Jessie 用户的,但对其他基于Debian的Linux发行版也有很大的参考价值。在下文中,用domain.com来表示一个域名,你需要将domain.com替换成你自己的域名。完成了所有步骤后,我们的服务器将会有下面的功能: 接收和投递邮件 (Postfix,SMTP协议) 从邮件客户端读取邮件服务器上的邮件 (Dovecot,IMAP协议) 加密连接 (SSL/TLS协议) 用户名和密码验证登录 (PAM) 在开始安装前,我强烈建议读者先阅读电子邮件系统是如何运作的?这篇文章。邮件服务器的搭建比web服务器的搭建要复杂得多,了解电子邮件系统背后的原理对下面进行的复杂配置有很大帮助,对今后管理自己的邮件服务器也有用处。搭建一个完全符合自身要求的Linux邮件服务器是一个艰难的过程,除非你是一个专业的服务器管理员。不过,我将详细解释每一个步骤,只要你了解一些基本的Linux命令,并付出一点时间,成功搭建起来并不是一个问题。 设置DNS MX记录和A记录 首先我们需要在域名注册商网站设置好DNS记录以正确地接收和投递邮件。通常邮件服务器需要设置一个MX记录和一个A记录,形式如下: @        ...

mariadb

5个简单步骤从MySQL迁移到MariaDB

以下是Debian 8服务器上将MySQL数据库迁移到MariaDB数据库的5个步骤。以下步骤是在实际生产环境测试过的。完成下面5个步骤后,无需做出其他任何更改,生产照常进行。 1. 备份已有的数据库 登录Debian Server,然后在终端中输入下面的命令进入MySQL shell。 mysql -u root -p 输入MySQL的root密码,我们就进入了MySQL shell。输入下面的命令查看MySQL中有多少个数据库,不要忘记输入分号。 show databases; 以下是我的MySQL中的数据库,可以看到一共有4个数据库。 +--------------------+ | Database  ...

什么是终端

你真的知道什么是终端吗?

终端(Terminal)是Unix/Linux世界里的一个基本的、重要的概念。但很多人并不了解终端的真正含义。 终端——人与机器交互的接口 人和机器是两个相互独立的实体。当人使用机器时,必须借助某种接口(interface)才能与机器交流信息。台式机的接口包括显示器、键盘、鼠标、扬声器、麦克风等。CPU、内存、硬盘、光驱、显卡、网卡等其他硬件属于主机(host)。Unix和Linux把这种使得人和机器可以交互的接口称为终端。 终端具有两个基本功能:向主机输入信息和向外部输出信息。所以终端可以分为输入设备和输出设备。台式机的输入设备通常包括键盘、鼠标、麦克风,输出设备包括显示器、扬声器等。 我们可以将上面的两段内容归纳为两个公式: 计算机 = 主机 + 终端 终端 = 输入设备 + 输出设备 台式机的主机和终端在物理上是分开的,笔记本电脑却是一个整体,但我们仍然可以将笔记本电脑的设备分为主机和终端。 人类也可以有终端。人类的终端,也就是人类与外部世界进行信息交流的接口。人类终端的输入设备包括感知器官,即眼睛、耳朵、嘴巴、鼻子等。输出设备包括嘴巴(发出声音)、四肢(改变外部世界)等。 综上所述,终端是人与机器交互的接口。人通过自身终端的输出设备(嘴巴或手)将信息传递给计算机终端的输入设备(键盘、鼠标等),后者将信息传递给计算机的主机。主机处理完信息后,将结果传递给计算机终端的输出设备,后者将结果传递给人类终端的输入设备,最后到达人类的大脑。 早期的终端 个人计算机是上世纪70年代末开始出现的。在那之前,人们只能在公司或大学里使用大型机(mainframe)和小型机(minicomputer)。这些计算机非常昂贵,Unix创始人肯•汤普逊和丹尼斯•里奇使用的PDP-7小型机当年的价格为72000美元,GE-45大型机价格高达1000万美元。 肯•汤普逊和丹尼斯•里奇想让Unix成为一个多用户系统。多用户系统意味着要给每个用户配置一个终端,每个用户都要有一个显示器、一个键盘。但当时所有的计算机设备(包括显示器)价格都非常昂贵,而且键盘和主机是集成在一起的,根本没有独立的键盘。 最后他们找到了一样东西,那就是ASR33电传打字机。ASR是英文Automatic Send-Receive的首字母缩写。虽然电传打字机的用途是在电报线路上收发电报,但是它也可以作为人与计算机的接口,而且价格低廉。ASR33打字机的键盘用来输入信息,打印纸用来输出信息。 所以他们把ASR33电传打字机作为终端,很多个ASR33连接到同一个主机,每个用户都可以在终端输入用户名和密码登录主机。这样他们创造了计算机历史上的第一个真正的多用户系统Unix,而ASR33成为第一个Unix终端。...

什么是终端

Debian 8 VPS如何安装WordPress

关于Wordpress WordPress是一个免费自由开源的博客平台。在全球流量前1000万的网站中,超过18.9%使用WordPress来搭建网站。这使得WordPress成为最流行的博客系统。之前我们介绍过如何在树莓派上安装WordPress,Debian 8的WordPress安装过程与树莓派稍微有点不同。 安装LEMP 在Debian 8 VPS上安装WordPress之前,我们首先需要安装好LEMP。如果你没有安装好Ngnix, MySQL和PHP,那么请看这篇教程进行安装。以下的命令不是以root用户执行的,而是以另外一个管理员账号执行的,如果命令前面没有加sudo,就表示这条命令不需要root权限。 下载并设置WordPress 安装好LEMP后,通过SSH登录Debian 8 。然后输入下面的命令下载WordPress: wget http://wordpress.org/latest.tar.gz 下载完后,解压安装包: tar -xzvf latest.tar.gz 解压后,在用户的home目录会生成一个wordpress目录。 为WordPress创建一个数据库和用户...

Debian

VPS安装Debian 8后如何禁用root SSH登录

我们在一台VPS服务器安装了Debian 8 Server操作系统后,一件非常重要的事情是创建一个新用户并且赋予这个新用户root权限,然后再禁止root用户通过SSH登录。这是服务器安全的基本要求。首先,在任何一台Linux服务器上都会有root用户,黑客可以用暴力破解的方法得出root用户密码。而黑客并不知道我们新建用户的名称,所以暴力破解失去作用。其次,root用户在任何情况下都是以root权限执行操作,一个不小心的操作便会对系统造成破坏。 新建一个用户 以root身份通过SSH登录VPS后,输入下面的命令添加一个新用户,将username替换成新用户的用户名。 adduser username 然后系统会提示为新用户设置一个密码。在输入完后密码后,系统要求提供新用户的人名,电话等信息,我们可以不输入任何信息,一路按回车键,最后按Y键确认。 赋予新用户root权限 现在,只有root用户具有管理系统的权限。我们现在给新创建的用户赋予root权限以管理系统。当你以这个新用户来进行root权限的管理工作时,需要在命令前面加上sudo。以sudo执行命令都会被记录下/var/log/secure文件中,如果将来需要时可以查看这个文件。 安装sudo工具 apt-get install sudo 然后输入命令: visudo 这条命令将会打开/etc/sudoers文件,在这个文件中找到User privilege specification。如下: 将下面一行文字复制到root  ...

debian LEMP

Debian 8 Server如何安装LEMP (nginx, MySQL/MariaDB, PHP)

LEMP是一组用于搭建网站的开源软件。LEMP代表Linux操作系统、Ngnix HTTP服务器(发音为Engine X)、MySQL/MariaDB数据库和PHP。在这篇教程中,我将介绍如何在Debian 8 服务器上安装LEMP。如果你用的是Debian 7,那么可以参考Debian 7系统如何升级为Debian 8。以下命令需要root权限,用su切换到root用户,或者在命令前面添加sudo。在安装过程中,可以选择安装MySQL数据库或MariaDB数据库。 1. 安装Nginx Nginx (发音为Engine X) 是一个免费开源、高性能的HTTP服务器和反向代理,同时也可以作为一个IMAP/POP3代理服务器。输入下面的命令安装Nginx: apt-get install nginx 输入下面的命令启动Nginx HTTP服务器: systemctl...

树梅派wordpress

如何在树莓派上安装WordPress

关于Wordpress WordPress是一个免费自由开源的博客平台。在全球流量前1000万的网站中,超过18.9%使用WordPress来搭建网站。这使得WordPress成为最流行的博客系统。 安装LEMP 在树莓派上安装WordPress之前,我们首先需要在树莓派上安装好LEMP。如果你没有安装好Ngnix, MySQL和PHP,那么请看这篇教程进行安装。以下所有的命令都是通过SSH在树莓派Raspbian系统上执行的。 下载并设置WordPress 安装好LEMP后,通过SSH登录树莓派。然后输入下面的命令下载WordPress: wget http://wordpress.org/latest.tar.gz 下载完后,解压安装包: tar -xzvf latest.tar.gz 解压后,在pi用户的home目录会生成一个wordpress目录。 为WordPress创建一个数据库和用户 首先以root用户登录MySQL shell,注意这个root用户是MySQL数据库的root用户,不是Raspbian系统上的root用户。 mysql -u root...

树莓派LEMP

如何在树莓派上安装LEMP

LEMP是一组用于web服务器的开源软件。LEMP代表Linux、Nginx(发音为Engine X)、MySQL和PHP。Raspbian系统是一个基于Debian的Linux发行版,专门为树莓派而开发和优化。在Raspbian系统安装好 LEMP,我们就能在树莓派上搭建一个本地网站,进行web开发。 建议 LEMP运行时需要较多的硬件资源,在安装LEMP之前,运行sudo raspi-config命令,在raspi-config配置界面禁止开机启动图形界面。这样就能腾出很多内存资源。 安装环境 这篇教程是在本地局域网通过SSH从远程Linux计算机访问树莓派的。用SSH访问树莓派的命令为 ssh [email protected] 如果你不知道树莓派的IP地址,那么在Linux计算机上安装nmap命令行工具 sudo apt-get install nmap 或 sudo dnf install nmap...

树莓派如何在命令行界面下连接Wi-Fi

我们可以用双绞线连接树莓派和路由器。有时候,树莓派离路由器太远,我们可以在Raspbian系统桌面使用无线连接。但如果你的树莓派没有独立显示器时怎么办?其实我们也可以通过SSH访问树莓派,然后使用命令行来连接无线网络。下面是具体步骤。 首先,确认wpasupplicant和wireless-tools这两个软件包已安装好,输入下面的命令进行安装。 sudo apt-get install wpasupplicant wireless-tools /etc/network/interfaces这个文件包含了有线网卡和无线网卡的一般设置,而无线网卡的具体设置保存在/etc /wpa_supplicant/wpa_supplicant.conf文件中。首先我们要编辑”interfaces”文件。输入下面的命令使用 nano文本编辑器打开”interfaces”文件。 sudo nano /etc/network/interfaces 找到wlan0的部分,将wlan0的部分修改成下面设置。lo和eth0的部分不要修改。按Ctrl+O保存文件,再按Ctrl+X退出nano编辑器。 allow-hotplug wlan0 iface wlan0 inet manual...

安装Raspbian系统后需要做的事

首次安装Raspbian系统后需要做的事

在上一篇教程中,我向童鞋们介绍了如何在Linux系统下将Raspbian系统安装到SD卡中,但安装完后我们还需要对Raspbian系统 进行一些配置。在这篇教程中,我将解释如何利用Raspbian系统自带的raspi-config工具对系统进行安装后的配置,其中包括扩展本地文件系 统以使用全部SD卡空间,更改主机名称,启动SSH服务,启用开机直接进入桌面等。 启动树莓派 Raspbian系统安装到SD卡后,把SD卡插入树莓派的SD卡插槽。确保所有的设备(显示器、键盘和鼠标)都连接好。你也可以不用把树莓派连接 到显示器,在笔记本电脑上通过SSH就可以访问树莓派。具体方法是:把树莓派和路由器用网线连接起来,然后在路由器的管理界面查看客户端列表,找到树莓派 的IP地址。输入下面的命令访问树莓派。 ssh [email protected] 根据自己的情况修改命令中的IP地址。Raspbian系统默认的用户名和密码分别是pi和raspberry。 如果你的树莓派连接上了显示器,那么Raspbian系统首次启动后,你会看见下面的配置界面,这就是Raspbian系统的配置工具raspi-config。如果你是通过SSH访问树莓派的,那么你可以运行命令sudo raspi-config来调出这个配置界面。如果系统告诉你找不到这个命令,那么可以运行sudo apt install raspi-config来安装。 扩展文件系统 使用dd命令将Raspbian镜像文件写入SD卡后,Raspbian系统通常占用3G左右的空间。那意味着SD卡剩下的空间浪费了。如果你的 SD卡容量为8G,那么Raspbian系统不会识别剩余的5G空间。我们需要在raspi-config配置界面中选择第一个选项Expand Filesystem,按一下回车键。弹出下面的窗口,表示文件系统已经扩展好了,我们在下次启动Raspbian系统时就能使用全部SD卡空间了。再按 一次回车键返回。...

raspberry pi

在Linux系统下将Raspbian系统镜像写入SD卡

树莓派是一个由ARM处理器驱动的廉价小巧的单板机。虽然它主要是为了帮助儿童学习计算机编程而研发的,但同时它也是一个多功能设备,被DIY发烧友和计算机爱好者用于很多实用且有趣的项目。 树莓派使用SD卡作为存储设备,操作系统安装在SD卡里。SD卡可以被视为树莓派的硬盘。在这篇教程中,我将介绍如何在Linux系统下将 Raspbian操作系统镜像写入SD卡中。Raspbian基于Debian,是专门为树莓派而开发的操作系统。Raspbian镜像文件写入SD卡的 过程就是安装Raspbian操作系统的过程,这与一般桌面系统的安装方式有所不同。 准备工作 并不是所有的SD卡都被树莓派兼容。推荐使用Class 10并且容量大于或等于4G的SD卡。在写入过程开始前,请在官方网站下载Raspbian镜像文件。不习惯看英文的童鞋也可以点此链接下载Raspbian种子文件。在写这篇教程时,最新的版本是2015-05-05。 将镜像文件写入SD卡 我们下载的Raspbian镜像文件是用zip格式压缩过的,首先我们需要将它解压。在终端中将目录切换到下载目录,然后输入下面的命令解压Raspbian镜像文件。解压后我们得到的是一个img格式的镜像文件。 unzip 2015-05-05-raspbian-wheezy.zip 将SD卡插入SD读卡器,然后插入电脑USB端口。然后我们需要确认SD卡的设备名称。我们可以使用fdisk工具。在终端中输入下面的命令。 sudo fdisk -l 在命令的输出结果中,我们可以从容量大小来辨别SD卡。例如下图,我的SD卡是7.5GiB,设备名称是/dev/sdc。 我们不需要在SD卡上创建分区。我们接下来使用的dd命令将擦除SD卡里所有的数据。将工作目录切换到Raspbian镜像文件所在目录,然后输入 下面的命令,将Raspbian镜像文件写入SD卡。在命令执行前,最好是将其他正在运行的程序关闭,否则可能会导致写入失败。 sudo dd...

字体

如何在Linux系统上安装字体

一般电脑用户使用的字体大部分属于TrueType字体,TrueType字体文件的扩展名是.ttf,ttf就是TrueType Font的首字母缩写。这篇教程将向读者介绍如何在Linux系统上安装TrueType字体。本文先介绍通用的安装方式,不管你用的是哪个Linux发行版,都可以用这种方法来安装。然后介绍Debian系和Redhat系发行版安装字体的一些捷径或特殊方法。 安装TrueType字体的通用方法 Ubuntu字体家族(Ubuntu Font Family)是Canonical公司在2010-2011年间开发的开源字体集合,包括Ubuntu Light, Ubuntu Regular, Ubuntu Medium, Ubuntu Bold, Ubuntu Mono等字体。Ubuntu的字体还是挺美观的,一般图形界面的字体我喜欢用Ubuntu Regular,而终端则使用Ubuntu Mono。现在我以Ubuntu字体为例介绍Linux系统安装TrueType字体的通用方法。 Ubuntu字体家族下载地址:http://font.ubuntu.com/ 这是个英文网页,不习惯看英文的童鞋可以点击此链接直接下载。终端控可以打开终端输入下面的命令下载。 wget...