Xinspace


  • 首页

  • 归档

  • 搜索

Apache(xampp)实现一个ip地址绑定多个域名 对应多个目录的方法

发表于 2014-07-26 | 分类于 Others

我买的Linode的VPS,SSD有1G,只放我的个人博客显然很浪费资源,所以把其他的我做的网站也放到这个服务器上,相当于合租,管理权在我。

既然多个网站使用同一个服务器,那么就有问题了。一般一个域名绑定一个ip地址,DNS解析后就可以访问到ip地址所在的服务器上的网站了,但是这多个网站,一个ip地址怎么办呢?

1.可以向服务器提供商再买几个独立ip,都属于这台服务器的,然后不同的域名绑定不同ip地址。这样做的显然都是土豪,我等平民哪玩儿的起。

2.Apache可以实现多个域名绑定一个ip,并通过HTTP请求中的请求头判断要访问的主机名(即客户要访问哪个域名),根据不同的主机名把客户链接(地址映射)到不同的网站目录中,从而实现了多个域名绑定一个ip,并能够访问多个网站的目的。

下面我先详细说一下如何做,再解释为什么。还有,在映射到dedecms的时候,可能会碰到问题,我下面也会提到。

拿我的VPS举个栗子,我图方便,直接安装了lampp(集成了Apache、MySQL、PHP的linux平台的HTTP服务器套件),安装路径是/opt/lampp

阅读全文 »

vim 全局替换命令

发表于 2014-07-26 | 分类于 Others

语法为 :[addr]s/源字符串/目的字符串/[option]

[addr] 表示检索范围,省略时表示当前行。
如:
“1,20” :表示从第1行到20行;
“%” :表示整个文件,同“1,$”;
“. ,$” :从当前行到文件尾;

s : 表示替换操作

[option] : 表示操作类型
如:
g 表示全局替换;
c 表示进行确认
p 表示替代结果逐行显示(Ctrl + L恢复屏幕);
省略option时仅对每行第一个匹配串进行替换;

注意:如果在源字符串和目的字符串中出现特殊字符,需要用””转义

全局替换命令为::%s/源字符串/目的字符串/g

举个简单的栗子:

#将该文件中所有的hello改为world
:%s/hello/world/g

来几个稍微复杂点儿的栗子:

#将句尾的child换成children
:%s/child([ ,.;!:?])/children1/g
其中child([ ,.;!:?])这部分是匹配child,并且child这个单词还必须在句尾(也就是说child后面有逗号、句号、分号、叹号、冒号或问号等这些句尾标点符号),所以后面要加上[ ,.;!:?],意思是child后面如果有中括号里面提到的任意一个字符就匹配成功,要换成children。而(和)则是转义,替换命令中()有别的用途,所以如果我们用到了(),就要加转义。

#将多个空格换成一个空格
:%s/ / /g
其中,
表示前面的字符(*前面的字符是空格)重复1-无数次,也就实现了多个匹配多个空格。

如果还想深究,可以去了解一下正则表达式或bash中的匹配表达式。

wordpress博客整站搬迁

发表于 2014-07-25 | 分类于 Others

国内服务器或虚拟空间建网站都要备案,最近审核比较严格,我做的几个站点都有点儿小问题,比如广告信息或者论坛链接之类的,但是这些站点里都没有,都是个人、企业和学校的网站。审核的效率比较低,又来回折腾了两三次,直接窝火,找人代付买了三个月Linode,试一下这款口碑很不错的美国VPS。你现在看到这篇文章所在的wordpress就搭建在新买的Linode上的,服务器在东京。速度还可以。

以上是废话,下面说一下博客整站搬迁的方法。以下方法假设使用的HTTP服务器软件是Apache、数据库系统是MySQL、服务器(虚拟空间)基于Linux系统。

博客搬迁分三种情况:

一、不换服务器(虚拟空间),换域名
1.1. 这种情况比较简单,在购买域名的服务商提供的DNS服务中,将新买的域名绑定到原服务器(虚拟主机)的ip地址。
1.2. 将博客使用的数据库导出(导出步骤见下面描述),修改sql文件中,把其中的所有旧的域名替换为新域名即可。
经过这两步,就可以通过新域名访问博客了(可能要等一会儿,因为DNS解析域名需要一段时间,一般两个小时之后就可以访问了)。

阅读全文 »

error: unknown field 'ioctl' specified in initializer

发表于 2014-07-25 | 分类于 Others

暑假学嵌入式,在学linux内核驱动的时候,动手写了一个很简单的驱动,遇到了这么一个问题:

error: unknown field ‘ioctl’ specified in initializer。

我原先的代码关键部分先贴出来:

static int hello_ioctl (struct inode inode, struct file filp, unsigned int cmd, unsigned long arg)
{
int ret=0;

switch (cmd) {
case HELLO_ONE:
printk (“HELLO_ONE cmd calledn”);
break;
case HELLO_TWO:
printk (“HELLO_TWO cmd calledn”);
break;
default:
printk (“cmd other calledn”);
break;
}

return ret;
}

struct file_operations hello_fops = {
.owner = THIS_MODULE,
.open = hello_open,
.release = hello_release,
.read = hello_read,
.write = hello_write,
.ioctl = hello_ioctl
};

出错提示是.ioctl=hello_ioctl这一句出错了,错误提示的意思是struct file_operations结构体中没有定义ioctl这个red属性。这就让我纳闷了,书上明明说了有的,而且演示代码也是这么写的,怎么到了我这里就不行了呢?

阅读全文 »

Centos添加YUM源

发表于 2014-05-14 | 分类于 Others

默认的YUM源对于我们来说太慢了,因此我们一般用网易的源(163),下载速度可以达到700Kb/s,且更新速度快。

1.首先进入YUM源目录
$cd /etc/yum.repos.d
2.备份YUM源
$cp CentOS-Base.repo CentOS-Base.repo.bak
3.下载YUM源
//163的源
$wget http://mirrors.163.com/.help/CentOS-Base-163.repo
//sohu的源
$wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
4.更新操作
$sudo yum makecache

阅读全文 »

Screenshot on Gnome

发表于 2014-05-14 | 分类于 Others

The screenshot on Gnome is not a default function. However we can install it and create our own shortcuts.

INSTALL

Use the following command to install screenshot on Gnome:
$sudo yum install gnome-screenshot

After that, we can use the function by the following command:
$gnome-screenshot -a //screenshot on Area
$gnome-screenshot -w //screenshot on window
…… //you can goto man pages to learn how to use it.

Also, we can create shortcuts on X-window.
Go System Preferences->Keyboard Shortcuts, and hit the button “Add”, it will pop up a dialog.
Fill out the name what you want, e.g.Area, and the command is gnome-screenshot -a, then click the button “Apply”. Then press the keys which will active the command to grab a area, and You will have done.

Install WPS on CentOS

发表于 2014-05-14 | 分类于 Others

INSTALL

1.Download wps from the website:http://community.wps.cn/download/ or use the following command:
$wget http://community.wps.cn/download/wps-office-8.1.0.3724-0.1.b1p2.i686.rpm

2.Install rpm file without dependencies
$sudo rpm -ivh wps-office-8.1.0.3724-0.1.b1p2.i686.rpm –nodeps

3.Download libstdc++-4.8.2-7.fc20.i686.rpm from the website:http://rpm.pbone.net/index.php3/stat/4/idpl/25199571/dir/fedora_20/com/libstdc++-4.8.2-7.fc20.i686.rpm.html or use the following command:
$wget ftp://ftp.univie.ac.at/systems/linux/fedora/updates/20/x86_64/libstdc++-4.8.2-7.fc20.i686.rpm

I suppose your download location is ~/Downloads/libstdc++-4.8.2-7.fc20.i686.rpm
阅读全文 »

SSH登录后闲置一段时间自动断连解决

发表于 2014-04-23 | 分类于 Others

在用SSH连接服务器之后,如果有一段时间不用,SSH会自动断开,再次使用的话还必须再次重连,非常麻烦。以下的解决方法本人亲自测试过。

一、修改服务器sshd服务的配置文件参数

1.修改/etc/ssh/sshd_config配置文件,找到ClientAliveCountMax(单位为分钟)修改成你想要的值,比如60(1小时)或其他的分钟数。有的配置文件中没有这个参数,可以自己加上。记得要想使得配置参数生效,该参数前面一定没有#号。
2.执行命令,使得服务器端的sshd服务重载配置:

$sudo service sshd reload

二、修改客户端ssh的配置

1.假如你的用户名是client,也就是你想以client这个用户试用ssh客户端程序连接服务器的话,进入client的home目录。

$cd /home/client

查找该目录下是否有.ssh目录

$ls -al | grep .ssh

如果没有,自己创建一个,并修改权限

$mkdir .ssh

$chmod 600 .ssh

进入该目录,并创建ssh客户端的配置文件

$cd .ssh

$vi config

加入配置参数:

ServerAliveInterval 60

该参数是设置客户端程序每隔多长时间自动与服务器端通信一次,保持连接,单位是秒。所以设置该参数后每过1分钟,客户端都会自动发送通信包,以保持连接。保存并退出vi,重新用ssh连接服务器就不会断开了。三、使用其他工具可以试用putty,Windows与Linux系统都有。

Windows查看Linux文件中文或英文乱码

发表于 2014-04-23 | 分类于 Others

之所以在Windows中查看Linux文件是乱码,是因为两者的默认编码不同。文件中的内容,特别是中文,在Linux下显示正常,拷贝到Windows中就成为乱码。Windows默认编码是GBK(gb2312),Linux默认编码是UTF-8,因此我们在拷贝的时候还是注意转换编码格式。

Windows下转换文件的格式我推荐EditPlus软件,在这款软件的的工具栏上Documents->File Encoding->Change File Encoding,可以选择很多编码格式。

Linux下可以使用命令iconv来转换格式。首先我们试用vi编辑器查看一个文件是什么格式

$vi a.file

进入Normal模式,使用命令:

:set fileencoding

vi会提示a.file=gb2312或a.file=utf-8

假如a.file为GBK编码,我们想将其转换为UTF-8编码,使用命令iconv:

$iconv -f GBK -t UTF-8 a.file -o a.file

这样a.file就转换成了utf-8编码,如果想保留GBK编码的a.file,则我们可以把上述命令的-o a.file 改为-o b.file,这样a.file还是GBK编码,b.file是UTF-8编码。

WPS open on command line

发表于 2014-04-16 | 分类于 Others

Open WPS in command line:

1.Open the writer:
$wps //open a new empty word
or
$wps a.wps //open a.wps
or
$wps a.wps & //open a.wps in background

2.Open the spreadsheet:
$et
$et a.et
$et a.et &

3.Open the presentation:
$wpp
$wpp a.wpp
$wpp a.wpp &

1…91011…17

Xinspace

Personal blog from xin.

170 日志
6 分类
1 标签
© 2019 Xinspace
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4