ubuntu快速配置apache虚拟主机

在ubuntu下,用apt-get install安装的apache,配置虚拟主机和平常在其它平台的不大一样
如果我想快速在本地建一个test.com的虚拟主机
下面是操作步骤:

1. 先绑定test.com到127.0.0.1

#vim /etc/hosts
# 加上
127.0.0.1 test.com

2. 配置虚拟主机文件

#cd /etc/apache2/sites-available
#vim test
# 加上
<virtualhost *:80>
	ServerName test.com
	DocumentRoot /home/lok/workspace/PhpTest
	ErrorLog ${APACHE_LOG_DIR}/test_access.log
	CustomLog ${APACHE_LOG_DIR}/test_access.log common
</virtualhost>

3. 启用test.com

#a2ensite test

4. 重启apache2

#service apache2 restart

这样就算完成了。

继续阅读

apache+wsgi+web.py部署

软件:

安装apache:

# yum install httpd httpd-devel -y

安装mod_wsgi:

# tar xvf mod_wsgi-3.4.tar.gz
# cd mod_wsgi-3.4
# ./configure --with-apxs=/usr/sbin/apxs --with-python=/usr/bin/python
# make && make install

安装web.py:

# tar xvf web.py-0.37.tar.gz
# cd web.py-0.37
# python setup.py install

配置apache:

vim /etc/http/conf/httpd.conf

LoadModule wsgi_module modules/mod_wsgi.so
 
 
# wsgi 3.3
WSGIScriptAlias /appname        /var/www/webpy-app/code.py/
Alias   /appname/static /var/www/webpy-app/static/
AddType text/html       .py
 
<directory /var/www/webpy-app>
        Order deny,allow
        Allow from all
</directory>

继续阅读

nginx rewrite规则详解

最近在VPS上尝试配置安装一个网站,VPS安装了LNMP(Linux+Nginx+MySQL+php)在配置重定规则的时候经常遇到一些问题,直接用Apache的规则到Nginx下没起作用。原来Apache 重写的规则到nginx上还有一些不太一样的地方。

这里只是简单记录一些学习示例,高手略过,新手可以看一下。

Nginx Rewrite规则相关指令
Nginx Rewrite规则相关指令有if、rewrite、set、return、break等,其中rewrite是最关键的指令。一个简单的Nginx Rewrite规则语法如下:

rewrite ^/b/(.*)\.html /play.php?video=$1 break;

如果加上if语句,示例如下:

if (!-f $request_filename)

rewrite ^/img/(.*)$ /site/$host/images/$1 last;

Nginx与Apache的Rewrite规则实例对比

简单的Nginx和Apache 重写规则区别不大,基本上能够完全兼容。例如:

Apache Rewrite 规则:

RewriteRule ^/(mianshi|xianjing)/$ /zl/index.php?name=$1 [L]

RewriteRule ^/ceshi/$ /zl/ceshi.php [L]

RewriteRule ^/(mianshi)_([a-zA-Z]+)/$ /zl/index.php?name=$1_$2 [L]

RewriteRule ^/pingce([0-9]*)/$ /zl/pingce.php?id=$1 [L]

Nginx Rewrite 规则:

rewrite ^/(mianshi|xianjing)/$ /zl/index.php?name=$1 last;

rewrite ^/ceshi/$ /zl/ceshi.php last;

rewrite ^/(mianshi)_([a-zA-Z]+)/$ /zl/index.php?name=$1_$2 last;

rewrite ^/pingce([0-9]*)/$ /zl/pingce.php?id=$1 last;

由以上示例可以看出,Apache的Rewrite规则改为Nginx的Rewrite规则,其实很简单:Apache的RewriteRule指令换成Nginx的rewrite指令,Apache的[L]标记换成Nginx的last标记,中间的内容不变。

继续阅读