这里以win2003 iis6安装配置为主
如果您的电脑没有安装iis那么需要安装,iis6.0的安装文件可以到http://www./softs/2176.html下载。
好,我们开始我们asp征程的第一步。任何动态语言都需要服务器的支持。这里牵涉到两个概念,一是服务器,还有一个就是与之对应的客户端。从字面上我们就能看出,服务器当然是提供服务的机器,也就是提供asp动态网站服务的机器;而客户端,就是客户用来浏览我们asp动态网站的机器。当然,在开发asp网站的时候,自己打开浏览器浏览,此时自己的机子就既是服务器,又是客户端。(第一次阐述概念,我认为只要易懂而又不误导大家就好了,没必要大费口水)asp的运行环境很简单,只要装上iis(internet information service,因特网信息服务,是系统的一种组件,强烈建议用光盘安装,下载的文件有些会漏掉i386这个文件包,而且需要重新配置iwam内置账号,有点难度且很耗时间,会打击我们学习的积极性,以下都是用系统光盘进行iis安装),稍微配置下,就可以运行了,具体的配置图解如下:
1、先插入系统盘或已经从下载好iis6安装文件,如果弹出界面,点关闭界面。
2、找开控制面板:开始 》设置 》控制面版 》添加或删除程序:
3、单击 添加/删除程序:
4、在弹出的添加/删除程序的界面上单击添加/删除windows组件 接着就出现加载界面:
5、加载完成后,就会弹出windows组件对话框,选中internet 信息服务(iis),单击图四中的详细信息偷看一下:
6、然后就是微软的传统傻瓜式安装了),就是一直点下一步,然后就安装完成了,恭喜你~!(如果是从脚本下载的iis6安装文件,先解压,然后浏览到解压目录i386即可,提示就定位到这个目录即可)
7、测试下吧,找开浏览器,直接在地址栏里打http://localhost/或者http://127.0.0.1,如果弹出欢迎界面,那说明安装成功了~!
(iis6.0已经加入了一些限制,默认情况下asp是无法运行的,需要设置下 web服务器扩展 active server pages为允许才可以,以后添加php,asp.net支持都是需要的)
如下图所示
1、开始 程序 附件 记事本
2、开始 运行 输入notepad再回车
3、随便打开一个ie窗口,然后点击工具栏里的查看 源文件 记事本工具栏里点新建]
在记事本里输入如下代码(1-1.asp代码),然后保存(快捷ctrl s),弹出另存为对话框,单击我的电脑,切换到c:\inetpub\wwwroot\,然后,别急,先将保存类型选择为所有文件,然后输入文件名1-1.asp,好了,大功告成了。找开ie窗口,输入网址:http://localhost/1-1.asp进行访问,就可以看到你的劳动成果了~!
<%="您来访的时间是:"&now()%>
9、好了,这节课的重点来了,打起精神来:)我们的程序都写出来了,但是运行程序的iis在哪呢?有三种调出iis界面的方法:
(1)最快捷的:开始 运行 输入%systemroot%\system32\inetsrv\iis.msc后回车
(2)最直观的:开始 设置 控制面板 性能和维护[win2k里没有这步] 管理工具 internet 信息服务
(3)我最常用的:)右击我的电脑 管理 服务和应用程序 internet 信息服务
什么?太多选项看不清楚?那你右击下internet 信息服务,然后选择从这里创建窗口好了。
小建议:通过第2种方法,右击iis,然后点发送到桌面快捷方式,以后就不用每次都跑里面去找了。
好,找到了iis,依次单击你的计算机名 网站,就可以看到默认网站了,右击下默认网站,查看下属性,出现了iis属性对话框了,先不要关,等下我们还要用。现在拿起你的笔,记下常识:
1、网站服务使用的协议叫http协议(全称是hyper text transportation protocol)。
2、网站服务(即iis)默认使用的是系统的80端口,系统默认有65535个端口供我们使用,但有些端口都已经被系统使用了,比如ftp(文件传输协议)默认用的是21端口,而sql server(微软的高级数据库)用的是1433端口。
如果是上述问题仍没有解决,可以联系我们 QQ 461478385,同时 承接服务器安全设置。
下载编译环境:
yum install gcc bison pkgconfig glib2-devel gettext make httpd-devel gcc-c++ libstdc++-devel
下载并解压源代码:
wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.6.3.tar.bz2
wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.6.3.tar.bz2
wget http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.6.3.tar.bz2
tar -jxvf mono-2.6.3.tar.bz2
tar -jxvf xsp-2.6.3.tar.bz2
tar -jxvf mod_mono-2.6.3.tar.bz2
安装mono环境:
cd /root/mydir/mono-2.6.3
./configure --prefix=/opt/mono; make ; make install
echo export PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig:$PKG_CONFIG_PATH>>~/.bash_profile
echo export PATH=/opt/mono/bin:$PATH>>~/.bash_profile
source ~/.bash_profile
安装xsp:
cd /root/mydir/xsp-2.6.3
./configure --prefix=/opt/mono; make ; make install
安装mod_mono:
先用find / -iname apr*config命令查找出“--with-apr-config=/usr/bin/apr-1-config”(不知道--with-apr-config=/usr/bin/apr-1-config有什么用,好像不要也可以,麻烦知道的告诉一下小弟)
再执行下面的命令:
cd /root/mydir/mod_mono-2.6.3
./configure --prefix=/opt/mono --with-mono-prefix=/opt/mono --with-apr-config=/usr/bin/apr-1-config; make ; make install
cp /etc/httpd/conf.d/ /etc/httpd/conf/mod_mono.conf
selinux阻止了httpd对mod-mono-server的访问,所以执行下面的语句:
setsebool -P httpd_disable_trans=1
重启httpd服务器:
service httpd restart
在防火墙中开启80端口,允许同一个Lan的其他机器访问:
方法1.在不使用图形界面工具的时候,通过关闭防火墙来实现允许开放80端口
service iptables stop
(PS:我尝试过下面的方法,
vi /etc/sysconfig/iptables
添加:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart
虽然在iptables -L中看到http
但无法从其他机器访问该服务器。
如果有谁成功,请告知小弟):
方法2.在安装有图形界面工具的情况下,用startx进入图形界面,用“Security Level and Firewall”开启80端口。
安装libgdiplus(xsp的测试页面中,有很多都需要libgdiplus):
yum install httpd build-essential gcc bzip bison pkgconfig glib-devel \
glib2-devel httpd-devel libpng-devel libX11-devel freetype fontconfig \
pango-devel ruby ruby-rdoc gtkhtml38-devel wget
wget http://ftp.novell.com/pub/mono/sources/libgdiplus/libgdiplus-2.6.2.tar.bz2
tar -jxvf libgdiplus-2.6.2.tar.bz2
cd /root/mydir/libgdiplus-2.6.2
./configure
make ; make install
echo export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH >>~/.bash_profile
source ~/.bash_profile
vi /opt/mono/etc/mono/config
添加节点:<dllmap dll="gdiplus.dll" target="/usr/lib/libgdiplus.so.0" />
否则会出现DllNotFoundException的异常。
测试:
一、测试mono
a.运行mono -V输出:
Mono JIT compiler version 2.6.3 (tarball Fri Apr 2 06:13:46 CST 2010)
Copyright (C) 2002-2010 Novell, Inc and Contributors. http://www.mono-project.com/
TLS: __thread
GC: Included Boehm (with typed GC and Parallel Mark)
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none
b.运行mono-test-install输出:
Active Mono: /opt/mono/bin/mono
Your have a working System.Drawing setup
Your file system watcher is: System.IO.InotifyWatcher
二、测试Asp.Net服务器
a.测试是否能够执行aspx:
在/var/www/html/目录下建一个test.aspx页面,内容为
<%="Hello World!"%>
通过wget http://localhost/test.aspx来下载该页面的内容。
b.测试同一个Lan下其他机器能否访问:
用其他机器的浏览器打开http://ip/test.aspx
c.跑xsp自带的测试程序(多点几个页面,查看是否会出现gdiplus.dll DllNotFoundException的一场):
1.修改Apache的配置,开放防火墙8080端口
Listen 8080
NameVirtualHost *:8080
<VirtualHost *:8080>
ServerAdmin hlfstephen@gmail.com
DocumentRoot /var/www/test/
ServerName local.mydomain.com
ErrorLog logs/local.mydomain.com-error_log
CustomLog logs/local.mydomain.com common
</VirtualHost>
2.复制/opt/mono/lib/xsp/test目录到var/www/下
3.service httpd restart
4.用浏览器打开http://ip:8080/
参考:
http://blog.rubypdf.com/2009/10/23/how-to-install-mono-2-4-2-3-on-centos-5/
http://blog.rubypdf.com/2009/10/23/how-to-install-xsp-and-integrate-xsp-with-apache-2-under-centos-5/
http://blog.bennyland.com/2010/02/06/serving-asp-net-pages-in-apache-on-centos-5/
http://mingster.com/site/?q=content/mono-2x-centos-5
http://mono-project.com/DllNotFoundException
http://mono-project.com/Config_DllMap
转载请保留链接: CentOS 5.1下跑Mono和Asp.net的实现方法
一台服务器上,从性能上考虑一般池的总数不应该超过20个,
因此,池就成了宝贵的资源了。
一个池的共用人数越少,这个池的稳定及性能就越高,因此,池的共用人数应与收费相联系,就是说,收费越高,池的共用人数越少。
一般地,可以这样考虑,收100元的虚拟主机产品,50人共用。收1000元的5人共用。
对于合租的服务器(网站总数小于30),可以考虑池的共用人数设置为1,这样,就是一个网站一个池,在一个网站一个池的情况下,主机面板中会自动增加"回收池功能","设置FSO功能",这类用户就会有更强大的控制能力.
对于用来做免费虚拟主机的用户,共用人数可以设置为20000(2万),这样就可以确保所有的网站都放在一个池中,可以大大减少内存的使用量.
总的原则就是,池越多,内存就使用越多,但单个网站就越稳定,池越少,内存就使用越少,但单个网站的稳定性就下降.
如果已经有几百个网站了,如果想再调整就很麻烦,大家可以用下面的工具,重新分配应用程序池来解决。
IIS程序池批量分配工具