linux kill

Linux进程管理:用kill和killall命令杀死进程

在Linux系统上,我们可以用kill和killall命令来结束一个进程。下面分别来讲解kill和killall命令的用法以及两者的不同。 kill命令 如果通常的办法不能结束一个进程,那么我们可以用kill命令结束它。kill命令要与ps命令搭配使用,因为kill命令的参数是进程的pid,而我们得用ps命令来获取进程的pid。它的基本语法如下 kill pid pid的全称是process identification number,即进程的pid号。当创建一个进程时,进程自动被分配一个pid号。我们可以用下面的命令来查看当前所有的进程以及pid matrix@vivid:~$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START...

Google字体

如何正确地为wordpress添加Goolge字体

Goolge的网页字体是网页设计中的一大免费资源,可以有效地统一不同操作系统下的字体显示。在这篇文章中,我将介绍如何正确地为WordPress主题添加Google网页字体,以提升网页加载速度。 确定自己喜欢的Goolge字体 首先前往 http://www.google.com/fonts, 在Google的字体库中寻找一两款美观的字体,比如我找到的是Alegreya Sans字体。然后点击Quick Use按钮。   点击Quick Use按钮后,在新的页面里下拉到第三栏。可以看到,第三栏有3个标签,每个标签下面都有一行代码。第一个标签下面的代码是我们推荐使用的代码,它使用 HTML link标签来加载Goolge字体的CSS文件。第二个标签下面的代码使用CSS @import来导入Google字体的CSS文件,第三个标签的代码使用JavaScript来加载CSS文件。   我将告诉你如何分别使用这三种方法以及每种方法的好处和坏处。 使用HTML link标签加载外部CSS样式 第一种方法,也是标准的、推荐使用的方法。这种方法使用HTML的link标签来加载外部CSS样式。我们需要把Goolge在第三栏提供是 link这一行代码复制下来,然后添加到WordPress主题文件夹下面的header.php文件中。如果你要添加两种以上的字体,那么可以在这行代 码中用“|”符号同时添加这两种字体。将这行代码粘贴到header.php文件中其他link标签的上面。如下...

wordpress 404

Nginx解决WordPress更改固定链接产生的404问题

我的网站结构是Ubuntu+Nginx+MariaDB+PHP。写了几篇文章后,发现还没有更改WordPress的固定链接。于是我将默认的固定链接形式http://www.liniuxdashen.com/?p=123 更改成 http://www.linuxdashen.com/%postname% 保存更改后,网站首页还可以访问,但是其他的页面全都是404错误。下面是解决办法,适用于Nginx网页服务器。 WordPress 404 错误的解决办法 编辑/etc/nginx/sites-available/yourwebsite 文件,在location / 这一部分当中添加下面的一行文字。 try_files $uri $uri/ /index.php; 如下图:   然后重启Nginx服务器 sudo systemctl...

CiviCRM

WordPress如何安装 CiviCRM

在之前的一篇文章中,我向大家介绍了CiviCRM这个软件以及它在自由软件运动中发挥的重要作用。CiviCRM可以安装在Drupal、WordPress和Joomla网站。现在,我将展示如何在WordPress网站上安装CiviCRM。 下载并安装CiviCRM CiviCRM是以插件的形式安装在WordPress网站上的。我们首先要将CiviCRM下载到WordPress的插件目录 cd /var/www/html/wp-content/plugins/ wget http://downloads.sourceforge.net/project/civicrm/civicrm-stable/4.6.9/civicrm-4.6.9-wordpress.zip 以上命令下载的是CiviCRM 4.6.9版本。然后创建一个名为files的目录,并添加可写权限: mkdir files chmod 777 files 安装unzip解压工具: sudo apt-get install unzip   或  ...

Xenix

Xenix — 微软与UNIX的短暂爱恋

微软向外宣布Microsoft Xenix OS,一个为16位微处理器开发的可移植的操作系统。它是一个交互的,多用户多任务系统,可以运行在Intel 8086, Zilog Z8000, Motorola M68000以及DEC公司的PDP-11系统计算机上。所有微软已经开发的系统软件(Cobol,Pascal,Basic,和DBMS)都会被移植到Xenix系统上,并且所有为UNIX开发的软件都将兼容于Xenix。 以上摘自Microsoft Press Release,1980年 早在Linus Torvals能用C语言编写实际有用的程序之前,一个由微软开发的UNIX版本,叫做XENIX。它基于UNIX第7版本和BSD4.1,并添加了一些有意思的改进功能,如多个虚拟控制台,可以用Alt-F1,Alt-F2,….Alt-F10来切换,之后这一功能被Linux继承。而且极大地改善了对普通用户的友好性。而这一切在多年以后被Linus Torvarlds煞费苦心来效仿,虽然他用了不一样的代码库。 微软在1979年从AT&T公司获得了UNIX许可证。在UNIX历史上这一年很有趣:1979年6月USENIX会议在多伦多召开,AT&T将UNIX的价格提高数倍(教育机构从1000美元提高到7500美元;商业机构从5000美元提高到40000美元,每一个CPU都需要购买一个许可证,在当时一台计算机都只有一个CPU)。AT&T公司想要快速从UNIX收取最大利润,但这一做法适得其反。 比尔•盖茨很快意识到,AT&T这一举动为第三方UNIX发行商提供了一次良机。当时有传闻说,微软之所以要向AT&T公司取得UNIX许可证,有一部分原因是由于与微软合作的Digital Research公司破坏了双方之间默认的协议。Digital Research本来只应该专注于OS的开发,却使用CBasic将CP/M打包,开始涉足编译器领域。微软认为编译器是自己的生存地盘:当时微软是一个语言编译器/解释器开发公司,主要销售编译器,Microsoft Basic是当时微机的标准。同时,微软对Digital Research的态度非常友善。微软不但不侵吞Digital...

CiviCRM

CiviCRM 自由软件运动的关键部分

CiviCRM是一个自由的CRM软件(constituent relationship management)。它驱动了自由软件基金会(FSF)网站与访问者的联络,是FSF日常工作的不可或缺的一部分。FSF利用CiviCRM向订阅者发送邮件,接收每一个请愿签名,接收每一项对FSF的捐款。 CiviCRM:一个高质量的CRM软件 在CiviCRM出现之前,自由软件基金会把开发一个自由的CRM软件列入高优先级项目列表中。FSF从2010年开始使用CiviCRM,把自由CRM软件从高优先级项目列表中划掉,并呼吁其他的非盈利机构使用CiviCRM。 2014年,FSF与自由软件开发商Zyxware共同开发出了CiviWCI扩展。CiviWCI可以展示一个漂亮的进度条,并提供了一个集资运动的小工具。CiviCRM是自由软件运动的关键组成部分,但它需要持续的财务贡献和技术贡献。FSF是CiviCRM项目的机构成员。 Amnesty International,Creative Commons 和 Wikimedia Foundation 也在使用CiviCRM。作为一个非盈利机构,FSF管理4万以上的联系人,每年接受15000次以上捐款,拥有一个出版社,在线商店以及其他网站,所有的这一切都依赖于自由软件。 非盈利组织的自由软件教育 在9月24日的CiviCRM用户峰会上,有许多来自各行各业的非盈利组织。如清洁能源、教堂机构等。这些机构组织使用CiviCRM,并对CiviCRM很满意。但他们大多数对自由软件和计算机用户自由的概念尚不了解。 在峰会的最后一次全体会议上,CiviCRM的核心成员zak介绍了自由软件的丰富历史和精华思想。并鼓励在座人员向他们的constituent宣传自由软件。因为他们正在使用CiviCRM,所以他们更加容易明白自由软件的重要性。 CiviCRM 的安装 CiviCRM以插件的形式安装在Drupal、Joomla、WordPress网站上。在下一篇文章,我们介绍具体的安装步骤。

关于开源软件的销售问题

自由不是无代价的,自由软件也不一定都是免费的。Simon Phipps是Open Source Initiative的前任总裁,目前是Open Rights Group和Open Source for America的董事会成员。以下是他对于销售开源软件的看法。 用户是否需要向开源软件付费,开源软件是否可以收费,是开源社区的一个热点问题。当人们看到有人在网上商城出售开源软件CD时,十有八九会认定其中有欺诈。很大程度上是由于free software这个词,free在英语中既可以表示免费,又有自由的意思。大多数人看见free software时,会把它当作是免费的软件。而另一方面,大多数的自由软件是免费的,所以很多人认为自由软件是不可以商业化的。 当然,中国早期的翻译者也大多把它翻译成免费软件。 根据自由软件之父Richard Stallman对自由的软件的定义,不仅是自由软件的作者可以向用户收费,用户在向其他用户传播时也可以收费。而开源软件的定义明确地指明了开源软件是可以收费的,虽然赚钱并不是开源软件的目标。收费是一种软件自由,如果不允许软件作者收费,那么这个软件就不是自由软件。GNU计划明确地说道:“我们鼓励人们在向他人传播自由软件的同时收取费用,他们能收多少钱是他们的自由。如果一个软件许可不允许用户复制软件以向他人销售,那么这个许可就不是一个自由的软件许可。” 在传递软件的同时进行收费是一项最基本的自由,每一个人都有这个自由。但由于每个人都能免费地获取自由软件,所以你要向别人收费,那么你得在传递软件的同时提供额外的有价值的服务。比如刻录CD后将CD邮寄,这对于网速差的人来说是一项有价值的服务。 有些开源软件项目并不希望用户销售他们的软件,比如Mozilla基金会很不希望你销售Firefox,所以他们利用Firefox的商标来阻止用户销售,这就是为什么Debian的默认浏览器不是firefox,而是iceweasel浏览器的原因。iceweasel只是把firefox的图标给替换了,其他代码跟firefox一模一样。 肮脏的利润 虽然收费是一项基本的软件自由,但收费在开源软件中非常少见,所以人们认为收费是不允许的。即使在软件中插入广告也被认为是有损自由精神或开源精神。因为任何一个软件开发者都可以获取源代码,然后将广告的代码删除,重新发布。windows 10看起来是免费的,但实际上window...

Ubuntu/LinuxMint使用PPA安装Git2.6.1

Ubuntu/LinuxMint/ElementaryOS使用PPA安装Git2.6.1

Git是一个免费、自由、开源的分布式版本控制系统,可以快速高效地处理大中小型项目。它是github的一个客户端。在这篇教程中,我将介绍如何在ubuntu,linuxmint和elementary OS上安装 git 2.6.1。2.6.1是一个稳定版本,于2015年9月28日发布。git是最流行的版本控制系统之一。 安装git的命令 添加GIT的官方PPA sudo add-apt-repository ppa:git-core/ppa 更新本地的软件包索引 sudo apt-get update 安装git 2.6.0 sudo apt-get install git 当然,你也可以不使用PPA安装,直接输入sudo...

javascript

WordPress如何只在主页加载JavaScript

我的主页有一个Slideshow,这个slideshow需要加载一个jquery脚本才能正常显示。但其他的页面没有slideshow,所以其他的页面不需要加载这个jquery脚本。但我的wordpress主题默认在所有页面都加载这个jquery脚本,这个脚本有110K。所以,我需要修改一点代码,让这个脚本只在主页加载。 代码 下面这一段代码检测页面是否为主页,如果是主页就加载<script>标签里的脚本。如果不是主页,那么显示“ This is not the homepage”消息。 <?php if( is_home() ) { ?> <script> content </script> <?php } else...

最小化

WordPress如何最小化JavaScript和CSS文件

什么是JavaScript和CSS最小化? 所谓最小化(minification)就是将JavaScript和CSS文件中的空白、注释等不必要的字符删除以降低文件大小的过程。这可以提升网站速度,使网页加载得更快。通过最小化,文件的大小可以降低10%~40%。借助适当的工具,我们可以轻松地将JavaScript和CSS文件最小化。 CSS文件的最小化 首先,备份原来的CSS文件,你可以将备份的CSS文件命名为style-old.css。 然后前往这个网站:http://www.freeformatter.com/css-minifier.html  自动帮你最小化CSS文件。在这个网站上,你可以输入CSS文件的URL,然后点击minify按钮以进行最小化。 最小化完成后,它会自动弹出最小化后CSS文件的下载对话框。将最小化后的CSS文件放在原来CSS文件在网站中的目录。最小化后,我的CSS文件的大小从90K变成了72K。CSS文件最小化后的模样: JavaScript文件的最小化 首先,备份原来的JavaScript文件,你可以将备份的JavaScript文件命名为js-old.js 然后前往这个网站: http://jscompress.com 自动帮你最小化JavaScript文件。在这个网站上,你要将JavaScript文件的内容粘贴到文本框,然后点击Compress JavaScript按钮以进行最小化。你可以在浏览器地址栏中输入JavaScript的URL,然后按CTRL+A复制全部内容,粘贴到文本框中。 最小化完成后,会有一个下载的按钮,点击这个按钮下载最小化后的JavaScript文件。我的JavaScript文件从155K压缩到了124K。然后将最小化后的JavaScript文件放在网站中对应的目录。 另外一个提供最小化CSS和JavaScript文件的网站 http://refresh-sf.com/

wordpress设置

WordPress网站将多个JavaScript文件合并成一个

在一个网页加载完之前,浏览器会发出很多个HTTP请求。网页中有很多元素,如图片、CSS样式、JavaScript脚本等等。每一张图片、每一个CSS样式文件、JavaScript脚本都需要浏览器做出一次HTTP请求。减少HTTP请求可以大幅提升网页的加载速度。WordPress网站一般都会有大约10个JavaScript文件。而将10个JavaScript文件合并成一个文件就可以减少9次HTTP请求。在这篇文章中,我将介绍如何将多个JavaScript文件合并成一个文件。 找出网站有多少个外部JavaScript文件 首先,打开网站主页,然后右击鼠标,选择“查看源码”。再按CTRL+F快捷键调出搜索框,在搜索框中输入 script type='text/javascript' 后回车。选择“高亮全部”,你就能看见网页中有多少个外部javascript文件了。如下图,head中有两个外部JavaScript。一般在footer部分也能找到外部JavaScript。 合并多个JavaScript文件的方法 创建main.js文件 首先在网站根目录下面创建一个文件,命名为main.js。然后编辑main.js文件。我们需要将外部JavaScript文件的内容全部粘贴到main.js文件中。在网页的源码页面,点击JavaScript文件的地址,也就是上图中 src 后面的地址。打开了JavaScript文件,按CTRL+A选择全部内容,然后CTRL+C复制全部内容,将内容粘贴到main.js文件中。再点击下一个JavaScript文件的 src 地址,依次它们的内容粘贴到main.js文件中。最后保存。 引用main.js文件 main.js创建好以后,我们需要在wordpress主题文件夹的footer.php文件中引用main.js。footer.php文件的路径一般为/var/www/html/wp-content/themes/themename/footer.php。 在<?php wp_footer(); ?>的上一行,粘贴下面的<script>标签,将域名替换成你自己的域名。保存文件。 <script type='text/javascript'...

wordpress安全

WordPress网站将多个CSS文件合并成一个

为什么要将多个CSS文件合并为一个? 你的WordPress很可能有四五个CSS文件,这样浏览器在加载你的网页时,光是加载CSS文件就得发出四五个请求。我们知道,浏览器在加载一个网页时发出的请求越多,那么加载的速度就越慢。另外,有些CSS文件可能不是存储在你的服务器上,而是存储在另外一个服务器上,而这时又会增加DNS查询的次数。在DNS查询完成之前,浏览器是不能加载任何元素的。而且,也许你的服务器上的CSS文件加载得快,但你不能保证其他服务器上的CSS文件也加载得快。 所以把多个CSS文件合并成一个,合并后的CSS文件缓存在CDN服务器上,既可以减少浏览器发出的请求次数,又可以减少DNS查询次数,从而加快网页的加载速度。 找出网站有多少个外部CSS文件 首先,打开网站主页,然后右击鼠标,选择“查看源码”。再按CTRL+F快捷键调出搜索框,在搜索框中输入stylesheet后回车。选择“高亮全部”,你就能看见网页中有多少个外部CSS文件了。 在你登录WordPress后,你还会看到下图中间三个外部CSS文件,open-sans-css,dashicons-css和admin-bar-css是登录WordPress后才会加载的外部CSS样式。我们不需要合并这三个CSS文件,因为普通浏览者不会登录你的WordPress后台,所以他们的浏览器不会请求这三个CSS文件。 合并多个CSS文件的方法 创建main.css文件 首先在网站根目录下面创建一个文件,命名为main.css。然后编辑main.css文件。我们需要将外部CSS文件的内容全部粘贴到main.css文件中。在网页的源码页面,点击CSS文件的地址,也就是上图中 href 后面的地址。打开了CSS文件,按CTRL+A选择全部内容,然后CTRL+C复制全部内容,将内容粘贴到main.css文件中。再点击下一个CSS文件的href地址,依次它们的内容粘贴到main.css文件中。最后保存。 引用main.css文件 main.css创建好以后,我们需要在wordpress主题文件夹的header.php文件中引用main.css。header.php文件的路径一般为/var/www/html/wp-content/themes/themename/header.php。 在<title>标签下一行,其他<link>标签的上一行,粘贴下面的<link>标签,将域名替换成你自己的域名。保存文件。  <link rel="stylesheet" href="http://www.linuxdashen.com/main.css" type="text/css" media="screen" />...

wordpress死链接

如何找出并删除WordPress网站中的死链接

什么是死链接? 如果浏览器向web服务器发出一个请求,但web服务器找不到相应的文件,如图片,这叫做 Bad Request。而请求中给出的相应文件的链接,就是死链接(Broken Links)。在WordPress网站中,由于主题或插件开发者的疏忽或其他原因,可能会产生一些死链接。 为什么要删除网站中的死链接? 死链接让浏览器发出了不必要的请求,而浏览器在加载网页时发出的请求越多,网页加载就越慢。 如何找出并删除网站的死链接? 我们可以在pingdom网站上测试我们的网站速度。输入自己的域名后,pingdom会给出网站的速度分析报告。在分析报告里,可以查看网站是否有死链接。如下图,背景色为黄色,并且前面有一个感叹号的这个请求就是一个坏请求(Bad Request),也就是死链接。点击右边的小按钮可以查看对应的浏览器请求。在右边的Request Headers下面的Referer一栏中可以找出是哪个文件要求浏览器发出这个请求。 在上图中可以发现,web服务器找不到bx_loader.gif这个文件。我用文件编辑器打开了Referer指出的文件。然后在文件中查找 bx_loader.gif,如下图。 在这个CSS文件中,我将url(images/bx_loader.gif)删除。之后在pingdom网站上重新测试,这一次没有发现死链接。

wordpress javascript

WordPress网站如何将JavaScript从head移到footer

JavaScript是一个客户端脚本语言,它的执行是由浏览器完成的。JavaScript一般放在head部分和footer部分。在这篇文章中,我将展示如何将WordPress网站的JavaScript脚本从head移到footer。 为什么要将JavaScript移到footer 很简单,将JavaScript移到footer可以提升网页的加载速度。JavaScript有一个特点叫做“阻止渲染”。如果JavaScript放置在网页的head部分,那么在加载网页的时候,首先要加载JavaScript。这些head部分的JavaScript在加载完成之前,网页中的其他元素是不可以同时加载的。这就叫做“阻止渲染”(render blocking)。所以,我们最好要将JavaScript放置在网页的底部。这样网页的文字、图片等其他元素可以先呈现在浏览者面前,然后JavaScript在后台加载。 如何将JavaScript移到footer 步骤非常简单。打开WordPress主题文件夹下面的functions.php文件,在文件末尾添加下面的代码。 // Custom Scripting to Move JavaScript from the Head to the Footer function remove_head_scripts()...

nginx gzip

Nginx服务器如何启用gzip压缩功能

压缩的好处 压缩可以减小HTTP回复的大小,从而降低web服务器的响应时间。gzip是web服务器广泛使用的压缩工具,可以将HTTP回复的大小降低到原来的50%~30%。既提高了网页的加载速度,又可以节约服务器流量。 Nginx服务器启用gzip压缩的方法 打开/etc/nginx/nginx.conf配置文件 sudo vi /etc/nignx/nginx.conf 将下面的文字粘贴到 http 部分,如果配置文件中有下面的文字,但前面有个#符号,那么将对应的#符号去掉就行了。 gzip on; gzip_comp_level 2; gzip_http_version 1.1; gzip_proxied any; gzip_min_length 1100;...

Debian

Debian 8 Jessie如何安装Nginx1.9.5

Nginx1.9.5版本于2015年9月22日发布,属于mainline版本,而Nginx 1.8属于stable版本。Nginx官方推荐优先使用mainline版本。如果你担心mainline版本与第三方模块存在兼容问题,或者你总是担心mainline版本中会有bug,那么stable版本更加适合您。这篇文章将介绍如何在Debian 8 Jessie服务器上安装Nginx 1.9.5。 安装过程 首先,删除旧的Nginx版本: sudo apt-get remove nginx nginx-common nginx-full 安装Nginx团队的PGP签名钥匙: wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key 然后将下面两行添加到/etc/apt/sources.list文件的末尾:...

nginx性能优化

Nginx性能优化之配置缓冲、超时、压缩和日志

Nginx的缓冲配置 请求缓冲在Nginx请求处理中扮演了重要的角色。当收到一条请求时,Nginx将请求写入缓冲当中。缓冲中的数据成为Nginx的变量,比如$request_body。如果缓冲容量比请求容量小,那么多出来的请求会被写入硬盘,这时便会有I/O操作。Nginx提供了多个directive来修改请求缓冲。 client_body_buffer_size 这个directive设定了request body的缓冲大小。如果body超过了缓冲的大小,那么整个body或者部分body将被写入一个临时文件。如果Nginx被设置成使用文件缓冲而不使用内存缓冲,那么这个dirctive就无效。client_body_buffer_size在32位系统上默认是8k,在64位系统上默认是16k。可以在http, server 和 location模块中指定,如下: server {         client_body_buffer_size 8k; } client_max_body_size 这个directive设定Nginx可以处理的最大request body大小。如果收到的请求大于指定的大小,那么Nginx会回复HTTP...