【linux】强制删除目录或者文件

之前想删除某个目录,采用的命令是rmdir + 目录路径名称,可是一删除的时候,就提示该目录下不为空,要先先删除该目录下的文件和子目录,如果这样下去,那删除一起非常的麻烦,需要一个一个的去删除。记得大学学习Linux命令的时候,有一个命令就可以直接删除该目录,也就是说强制性删除该目录。于是在网上一查,发现确确实实可以强制性删除目录,于是就此在Jhonse技术博客中记录下来。

请看如下命令:

rm -rf 目录路径名称

 

说明:

r代表为递归删除,不论目录下是否有文件

f代表不提示确认,直接删除。

所以就可以实现强制性删除目录或者文件。测试成功!

【Linux】如何在apache环境下绑定域名

上次详细介绍过【一键安装web环境全攻略】,现在我接着来说在阿里云linux操作系统下,并且是按【一键安装web环境全攻略】的步骤来搭建的web环境,来添加网站和绑定域名:

第一步:

cd /alidata/server/httpd/conf/vhosts/ 进入绑定域名所在目录

第二步:

vim test.conf  建立一个配置文件,test可以自己命名;

第三步:

点击字母“i”开始编辑文件,输入内容:

<VirtualHost *:80>
        DocumentRoot /alidata/www/phpwind
        ServerName localhost
        ServerAlias localhost
        <Directory "/alidata/www/phpwind">
            Options -Indexes FollowSymLinks
            AllowOverride all
            Order allow,deny
            Allow from all
        </Directory>
        <IfModule mod_rewrite.c>
                RewriteEngine On
                RewriteRule ^(.*)-htm-(.*)$ $1.php?$2
                RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2
        </IfModule>
        ErrorLog "/alidata/log/httpd/phpwind-error.log"
        CustomLog "/alidata/log/httpd/access/phpwind.log" common
</VirtualHost>
其中:
ServerName www.test.com 绑定的网站域名
ServerAlias test.com 绑定的网站别名(您如果有多个域名添加在这里)
DirectoryIndex index.html index.php index.htm 设置默认首页
DocumentRoot /alidata/www/test 和 Directory "/alidata/www/test" 都是指定网站的目录,需要一致。
 
按“esc”退出编辑模式,输入“:wq”保存退出。
 

第四步:

输入命令:/alidata/server/httpd/bin/apachectl restart 重启apache测试。

第五步:

测试网站。请在浏览器中输入域名,测试设置。

第六步:

完毕!

【Linux】一键安装web环境全攻略

 

 

最近阿里云推出活动,阿里云云服务器只要69元一个月,看到这个活动,确实有很大的冲动购买,自己本来就想换台VPS服务器,而阿里云提供的云服务器,感觉蛮适合的。于是就一狠心,就通过支付宝购买了。对于云服务器,是第一次接触,本来想选择WINDOWS操作系统的,但是想了一下,以前学过linux系统的一些操作,更何况本来的博客是属于PHP环境,以及也想熟练下linux的一些常用命令,所以就选择了Linux操作系统,版本是CentOS。

通过SSH客户端(SSH Secure Shell Client)连接上云服务器之后,就发现一个问题,WEB环境还需要自己搭建,于是本人就开始一步一步操作,借鉴阿里云提供的操作教程(教程以下提供)搭建,虽然整个过程遇到了很多很多问题,但是还是解决了。

SSH客户端连接之后示意图:

一键安装web环境全攻略教程(来源于阿里云):

目录:

一 远程访问
二 在服务器上下载sh一键安装包
三 执行安装(过程全自动化)
1 挂载数据盘,以及分区
2 安装nginx
3 安装MySQL
4 安装PHP
5 安装vsftp
6 安装phpwind及phpmyadmin
四 当所有操作都安装完成后,打开http://ip就可以直接访问pw8.7的网站。

一 远程访问

准备好连接linux服务器的工具,官方给出两种比较好的工具组合,推荐用xshell和xftp组合。
xshell和xftp使用教程:http://phpwind.me/303.html
winscp putty整合使用教程:http://phpwind.me/294.html

安装完毕后打开xshell

设置网站帐号信息

设置云服务器信息

设置服务器帐号

设置字符集编码(可不设)

设置好了就点击ok保存。
一切准备就绪,让我们连接看看云linux服务器的庐山真面目吧!

黑不隆冬的,啥都没有,这就是linux的shell啦。shell(壳)到底是什么东东呢?

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

linux作为服务器专用操作系统,主要就是默默的待在机房提供各项网络服务的,为了节省系统资源,像Windows那样华丽丽的用户桌面就默认不加载了。当然现在越来越多的用户使用linux作为日常家庭办公用操作系统,所以就有了像gnome、kde这样超华丽的桌面。不过作为服务器使用还是推荐用命令行界面吧,毕竟省一点资源,网站打开可能会更快一点嘛!

二 在服务器上下载sh一键安装包

下面我们来下载一键安装包并安装。

首先来到home目录下,执行如下命令:

cd /home

一键安装包的地址是http://soft.phpwind.me/web/sh.zip,我们可以在shell脚本下用wget 命令下载或者用Xftp上传一键安装环境包

我们现在演示用wget命令来下载一键安装包,我们当前目录是/home,执行如下命令:

wget http://soft.phpwind.me/web/sh.zip

图中提示已经将sh.zip安装包下载下来,我们先需要把它解压缩,执行如下命令:

unzip sh.zip

这时却提示了错误,说明unzip命令没有安装:

command not found

我们使用命令来安装unzip命令

yum install unzip

中途提示是否继续,选y

再次执行命令来解压缩

unzip sh.zip

三 执行安装

好了,都差不多了,可以执行安装程序了,不过在执行安装程序前,先设置下sh目录的执行权限,不然会提示权限不够:

chmod -R 777 sh

然后进入sh目录

cd sh

执行install.sh命令:

./install.sh

出现了一个选择提示,进入web服务器版本的选择界面

这里您可以根据需要选择apache或者nginx服务器,输入n或者a就好了。
这里是2个服务器的介绍
apache:http://baike.baidu.com/view/28283.htm
nginx:http://baike.baidu.com/view/926025.htm

在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0.8.46   PHP 5.2.14 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。

这里我们选择nginx,输入n,回车

到这里,我们就正式进入环境安装环节了。你可以泡杯茶休息下。一般这个过程会持续一个小时的样子。

我们这里解释下一键安装包会做哪些工作:

1 挂载数据盘,以及分区
2 安装nginx
3 安装MySQL
4 安装PHP
5 安装vsftp
6 安装phpwind及phpmyadmin

好了。做完了这一些就让我们静静的等待吧!程序正在自动编译安装服务!到这个界面说明安装已经结束了!

大家有疑问了。那我怎么登陆ftp和mysql呢?

在命令行里输入:

vi account.log

看到了没?

ftp的用户名是:pwftp
mysql的用户名是:root

密码是随机的,所以不用担心安全问题啦。

密码就在屏幕上了!当然,如果您不习惯使用vi命令,也可以用xftp打开/home/sh/account.log文件,那样会用记事本打开,会直观一点。

打开http://您的ip
看看是不是phpwind程序出现了。好了。所有配置都已经完成了。是不是很简单!

网站目录:/alidata/www
服务器软件目录:/alidata/server
phpwind:http://您的ip
phpmyadmin:http://您的ip/phpmyadmin

完毕!

【wordpress】添加lightbox图片插件

wordpress再带的图片展示是直接跳到另外一个页面显示图片,现在想让点击图片在原窗口显示,这就需要调用lightbox图片插件来实现,实现步骤如下:

第一步 下载lightbox图片插件

我采用方法是直接打开demo页面,把colorbox.css、jquery.colorbox.js、以及图片文件controls.png、loading.gif对应copy过来。然后放到模板文件夹中的css、js、image目录。

第二步 在wordpress模板文件夹的functions.php文件中进行处理内容图片

/**所有图片 加上一个 rel="colorbox"**/
function colorbox($content){
	global $post;
	$pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";
	$replacement = '<a$1href=$2$3.$4$5 rel="colorbox"$6>$7</a>';
	$content = preg_replace($pattern, $replacement, $content);
	return $content;
}
add_filter('the_content','colorbox');

第三步 在wordpress模板文件夹的header.php文件中引入js和css。

<?php
	if (is_single()){
?>
<link href="<?php bloginfo('template_url');?>/css/colorbox.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jquery.colorbox.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$("a[rel='colorbox']").colorbox();
	});
</script>
<?php } ?>

说明:只对single页面进行图片处理

第四步 修改colorbox.css中的图片显示路径

background:url(images/controls.png)

第五步 效果图

【php】strip_tags的使用

在保存数据的时候,可能要保存html标签和php的标记,而对于html代码而言,显示的时候,希望不要显示html标签,只显示文本内容。之前我用的是先将数据从数据库读取出来,然后在用正则表达式进行处理。今天发现php自带的函数strip_tags,竟然可以实现这功能,先记录下,以备下次所需。函数介绍请看以下:


函数介绍

strip_tags

(PHP 4, PHP 5)

从字符串中去除 HTML 和 PHP 标记

说明

string strip_tags ( string $str [, string $allowable_tags ] )

该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。它使用与函数 fgetss() 一样的标记去除状态机。

参数

str
输入字符串。
 
allowable_tags
使用可选的第二个参数指定不被去除的字符列表。

 

Note:

HTML 注释和 PHP 标签也会被去除。这里是硬编码处理的,所以无法通过 allowable_tags 参数进行改变。

返回值

返回处理后的字符串。

实例

<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';
echo strip_tags($text);
echo "\n";

// 允许 <p> 和 <a>
echo strip_tags($text, '<p><a>');
?>

 显示结果

Test paragraph. Other text
<p>Test paragraph.</p> <a href="#fragment">Other text</a>

 注意事项

1.  由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数据被删除。

2.  该函数不会修改 allowable_tags 参数中指定的允许标记的任何属性,包括 style 和 onmouseover 属性,用户可能会在提交的内容中恶意滥用这些属性,从而展示给其他用户。

【技术排行榜】2013年6月编程语言排行榜:PHP上升到第五名

一直关注PHP的排行,这个月PHP终于上升到前5了,值得记录下!

TIOBE编程语言排行榜6月榜出炉。本期排行榜前四位没有变化,C语言依旧稳居第一宝座,Java和Objective-C列位第二、第三,C++排在第四。C#跌出前五,他的位置由PHP顶替,这也是今年以来PHP首次闯入前五。

值得注意的是,JavaScript本月排名第十位, 重新进入排行榜前十。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,是时下最为流行的Web脚本语言。因此这样一种无处不在的语言迟迟没有进入前五,让人觉得无法理解。

现如今JavaScript正在积极扩大其应用领域,Node.js是一套基于JavaScript的工具包,以此用来编写高性能网络服务器,使 JavaScript在服务器端得以应用。此外,基于Javascript开发的游戏(大部分基于浏览器)也在不断增加。

而其他语言在以JavaScipt为目标而诞生,比如CoffeeScript(排名139), 该语言增强了JavaScript 的精简性与可读性,可被编译成高效的JavaScript;TypeScript (排名207)是JavaScript的一个超集,TypeScript用来为大型应用服务,而编译时它生成JavaScript 以确保兼容性。

前20名榜单排行榜:

前10名编程语言走势:

后50名的编程语言:

(Visual) FoxPro, ABC, Alice, Apex, Applescript, AutoLISP, bc, C shell, CFML, CL (OS/400), Clojure, Common Lisp, Dart, Dylan, ECMAScript, Eiffel, Emacs Lisp, Go, Gosu, Heron, Icon, IDL, Informix-4GL, J, JavaFX Script, LabVIEW, Ladder Logic, Lasso, LPC, Mathematica, MS-DOS batch, MUMPS, NATURAL, Oberon, OCaml, Occam, OpenCL, Oz, PowerShell, Q, REXX, S, sed, Simulink, Smarty, SPARK, VBScript, VHDL, xBase, XSLT

【JQuery】iframe窗口控制父页面元素高度

之前在网页上使用iframe窗口加载其它页面,但是从来都没有考虑过在iframe窗口中控制父页面某元素高度,这次就动手研究下。看到底需要如何来操作?

页面内容分析:

一个详细内容页面,并嵌套一个留言的功能,而这个留言的功能极为iframe来加载,现在需要考虑的一个问题是:在父页面完成的时候,如何来判断iframe元素的高度?所以这就需要通过IFRAME窗体来控制父页面的iframe元素的高度。

代码实现:

try{
     parent.document.getElementById('父页面iframe元素ID').style.height =document.getElementById('iframe页面的评论元素ID').scrollHeight+'px';
}
catch(e){

}

这样就可以实现当父页面加载iframe页面的时候,也顺便把父页面的IFRAME元素的高度设置了。

【mysql】修改mysql数据库文件路径

最近一段时间,都很少写技术博文了,其原因是在公司上班的事情有点多,所以就很少时间更新了。这两天一直在忙windows server 2008服务器的事,不过在安装mysql的时候,确实遇到了一个问题:如何修改mysql数据库文件路径。我把mysql安装在系统盘(C盘),现在考虑的问题是不可能也让数据库文件也存放在C盘,所以就动手修改。操作步骤如下:

1. 关闭mysql服务:net stop mysql(mysql服务名称,可能是因为版本的问题,服务名称不一样)

2. 在mysql目录下找到my.ini。可能刚安装好的mysql,没有my.ini文件,而是my-default.ini.所以我们要copy一份出来,然后修改名称为my.ini即可。

3. 在my.ini文件中,修改datadir位置(自定义数据库文件目录)

4. 查看数据库文件路径

mysql> show variables like '%dir%';

5. 完毕!