在同一台物理服务器中配置多个Web网站,很多用户会选择在服务器中添加多个IP地址,然后将每个Web站点分别指向不同IP地址的方式。这种方式固然可行,不过随着IP地址(主要是指Internet中的IP地址)资源越来越紧缺,该方式的弊端也越来明显。其实在IIS 5.0和IIS6.0中,用户完全可以为每个Web站点添加HTTP主机头,从而使用一个IP地址和端口号创建多个Web站点。这种方式通常被称为搭建“虚拟主机”。在IIS 6.0中搭建虚拟主机的步骤如下所述:
第1步,在“Internet信息服务(IIS)管理器”窗口中右键单击“网站”目录,依次选择“新建”→“网站”命令。打开“网站创建向导”对话框,在欢迎对话框中单击“下一步”按钮。
第2步,打开“网站描述”对话框,在“描述”编辑框中输入一段描述网站内容的文字信息,并单击“下一步”按钮。
第3步,在打开的“IP地址和端口设置”对话框中,单击“网站IP地址”编辑框右侧的下拉三角按钮,在下拉菜单中选择一个未被其他Web站点使用的IP地址。“网站TCP端口”保持默认值80不变,在“此网站的主机头”编辑框中输入该网站的域名(如sc.),并单击“下一步”按钮,如图2008111812所示。
小提示:如果不选择未被使用的IP地址,并且已被使用的IP地址所绑定的Web站点没有被删除,则后来创建的Web网站将因为端口冲突而被全部停止。
第4步,打开“网站主目录”对话框,单击“浏览”按钮选择网站所在的主目录,并依次单击“确定”→“下一步”按钮。
第5步,在打开的“网站访问权限”对话中,保持默认权限设置,单击“下一步”按钮。打开完成网站创建向导对话框,单击“完成”按钮。
第6步,重复上述步骤创建多个含有主机头的虚拟主机,从而实现虚拟主机系统的搭建。当用户使用域名访问Web站点时,尽管这些Web站点使用的是同一个IP地址和端口号,却能准确打开网站域名所对应的站点。
小提示:要想使网络用户使用HTTP主机头(即域名)访问特定的网站,必须在DNS服务器中为每个网站创建主机A记录。
一 单网卡配置VPN服务器(windows 2003 )
服务器是Windows 2003系统,2003中VPN服务叫做“路由和远程访问”,系统默认就安装了这个服务,但是没有启用。
在管理工具中打开“路由和远程访问”
在列出的本地服务器上点击右键,选择“配置并启用路由和远程访问”。下一步
这里选“VPN访问”,我只需要VPN的功能。下一步,配置向导完成。
点击“是”,开始服务。 看启动了VPN服务后,“路由和远程访问”的界面
下面开始配置VPN服务器 在服务器上点击右键,选择“属性”,在弹出的窗口中选择“IP”标签,在“IP地址指派”中选择“静态地址池”。
然后点击“添加”按钮设置IP地址范围,这个IP范围就是VPN局域网内部的虚拟IP地址范围,每个拨入到VPN的服务器都会分配到一个范围内的IP,在虚拟局域网中用这个IP相互访问。 这里设置为10.240.60.1-10.240.60.10,一共10个IP,默认的VPN服务器占用第一个IP,所以,10.240.60.1实际上就是这个VPN服务器在虚拟局域网的IP。 至此,VPN服务部分配置完毕。 二 路由器将外网IP转换到内网 TCP(协议) 61.232.15.5(路由器外网固定IP) 1723(VPN端口) 10.240.60.1(内网服务器地址) 1723 上面的步骤很重要,记住,端口是 1723 三 添加VPN用户 每个客户端拨入VPN服务器都需要有一个帐号,默认是windows身份验证,所以要给每个需要拨入到VPN的客户端设置一个用户,并为这个用户制定一个固定的内部虚拟IP以便客户端之间相互访问。 在管理工具中的计算机管理里添加用户,这里以添加一个chnking用户为例 先新建一个叫“chnking”的用户,创建好后,查看这个用户的属性,在“拨入”标签中做相应的设置,如图:
远程访问权限设置为“允许访问”,以允许这个用户通过VPN拨入服务器。 点选“分配静态IP地址”,并设置一个VPN服务器中静态IP池范围内的一个IP地址,这里设为10.240.60.2 如果有多个客户端机器要接入VPN,请给每个客户端都新建一个用户,并设定一个虚拟IP地址,各个客户端都使用分配给自己的用户拨入VPN,这样各个客户端每次拨入VPN后都会得到相同的IP。如果用户没设置为“分配静态IP地址”,客户端每次拨入到VPN,VPN服务器会随机给这个客户端分配一个范围内的IP。 >>四> 配置windows 2003 客户端 客户端可以是windows 2003,也可以是Windows XP,设置几乎一样,这里以2003客户端设置为例。 选择程序――附件――通讯――新建连接向导,启动连接向导
这里选择第二项“连接到我的工作场所的网络”,这个选项是用来连接VPN的。下一步。
选择“虚拟专用网络连接”,下一步。 在“连接名”窗口,填入连接名称szbti,下一步。
这里要填入VPN服务器的公网IP地址。 下一步,完成新建连接。 完成后,在控制面板的网络连接中的虚拟专用网络下面可以看到刚才新建的szbti连接
在szbti连接上点击右键,选“属性”,在弹出的窗口中点击“网络”标签,然后选中“internet协议(tcp/ip)”,点击属性按钮,在弹出的窗口中再点击“高级”按钮,如图,把“在远程网络上使用默认网关”前面的勾去掉。
如果不去掉这个勾,客户端拨入到VPN后,将使用远程的网络作为默认网关,导致的后果就是客户端只能连通虚拟局域网,上不了因特网了。 下面就可以开始拨号进入VPN了,双击szbti连接,输入分配给这个客户端的用户名和密码,拨通后在任务栏的右下角会出现一个网络连接的图标,表示已经拨入到VPN服务器。 一旦进入虚拟局域网,客户端设置共享文件夹,别的客户端就可以通过其他客户端ip地址访问它的共享文件夹。
先运行命令关闭nginx
sudo kill `cat /usr/local/nginx/logs/nginx.pid`
第二步
vi /etc/init.d/nginx
输入以下内容
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
stop)
rh_status_q || exit 0
$1
restart|configtest)
$1
reload)
rh_status_q || exit 7
$1
force-reload)
force_reload
status)
rh_status
condrestart|try-restart)
rh_status_q || exit 0
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
保存退出
第三步
chmod +x /etc/init.d/nginx
第四步
/sbin/chkconfig nginx on
检查一下
sudo /sbin/chkconfig --list nginx
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
完成!
之后,就可以使用以下命令了
service nginx start
service nginx stop
service nginx restart
service nginx reload
/etc/init.d/nginx start
/etc/init.d/nginx stop
/etc/init.d/nginx restart
/etc/init.d/nginx reload
下面是其它作者发布的文章
#vi /etc/init.d/nginx
#! /bin/sh
### BEGIN INIT INFO
# Provides: Nginx-php-fpm(fastcgi)
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 3 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop nginx-fcgi in external FASTCGI mode
# Description: Start and stop nginx-fcgi in external FASTCGI mode
# http://www.linxutone.org msn:cnseek@msn.com
### END INIT INFO
set -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/nginx.conf
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
d_start() {
/usr/local/php-fcgi/sbin/php-fpm start > /dev/null 2>&1
$DAEMON -c $CONFIGFILE || echo -n " already running"
}
d_stop() {
/usr/local/php-fcgi/sbin/php-fpm stop > /dev/null 2>&1
kill -QUIT `cat $PIDFILE` || echo -n " not running"
}
d_reload() {
/usr/local/php-fcgi/sbin/php-fpm reload > /dev/null 2>&1
kill -HUP `cat $PIDFILE` || echo -n " can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
d_start
echo "."
stop)
echo -n "Stopping $DESC: $NAME"
d_stop
echo "."
reload)
echo -n "Reloading $DESC configuration ..."
d_reload
echo "reloaded."
restart)
echo -n "Restarting $DESC: $NAME"
d_stop
sleep 1
d_start
echo "."
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2
exit 3
esac
exit 0
#chmod u+x /etc/init.d/nginx
使用方法:
#/etc/init.d/nginx start
#/etc/init.d/nginx stop
#/etc/init.d/nginx restart
注意修改安装路径了
#!/bin/bash
#
# Init file for nginx server daemon
#
# chkconfig: 234 99 99
# description: nginx server daemon
#
# source function library
. /etc/rc.d/init.d/functions
# pull in sysconfig settings
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
RETVAL=0
prog="nginx"
PAT=/usr/local/nginx
NGINXD=/usr/local/nginx/sbin/nginx
PID_FILE=/usr/local/nginx/nginx.pid
start()
{
echo -n $"Starting $prog: "
$NGINXD 2>/dev/null $OPTIONS && success || failure
RETVAL=$?
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/nginx
echo
}
stop()
{
echo -n $"Shutting down $prog: "
killproc nginx
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/nginx
return $RETVAL
}
reload()
{
echo -n $"Reloading nginx: "
killproc nginx -HUP
RETVAL=$?
echo
return $RETVAL
}
case "$1" in
start)
start
stop)
stop
restart)
stop
start
reload)
reload
status)
status -p $PID_FILE nginx
RETVAL=$?
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
RETVAL=1
esac
exit $RETVAL