搭建asp.net的linux开发环境及apache模块mod_mono与xsp的关系
搭建环境:
编译mono提供的asp.net服务程序xsp
svn co svn://svn.myrealbox.com/source/trunk/xsp
cd xsp
./autogen.sh --prefix=/usr && make && sudo make install
编译apache模块(之前请安装apache及开发包)
svn co svn://svn.myrealbox.com/source/trunk/mod_mono
cd mod_mono
./autogen.sh --prefix=/usr && make && sudo make install
修改配置文件
/etc/apache2/httpd.conf 配置文件如下:
# This is here for backwards compatability reasons and to support
# installing 3rd party modules directly via apxs2, rather than
# through the /etc/apache2/mods-{available,enabled} mechanism.
#
#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
# 指定装载apache的支持asp.net的mono模块
LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so
# 指定mono处理的默认后缀
AddHandler mono .rails .aspx .ashx .asmx .ascx .asax .config .ascx
# 运行后台xsp提供的mod-mono-server.exe否则无法处理asp.net程序,默认:True
MonoRunXSP True
# 配件http目录 /demo 对应的本地工作目录为 /usr/lib/xsp/test
Alias /demo "/usr/lib/xsp/test"
AddMonoApplications default "/demo:/usr/lib/xsp/test"
<Location>
SetHandler mono
</Location>
# 配件http目录 /test 对应的本地工作目录为 /home/wj/project/asp.net
Alias /test "/home/wj/project/asp.net"
AddMonoApplications default "/test:/home/wj/project/asp.net"
<Location>
SetHandler mono
</Location>
这样安装完后,就可以启动apache来运行asp.net环境了,(ubuntu 5.10)
sudo /etc/init.d/apache2 start
原理说明:
上面所搭建asp.net运行环境,是以apache作为通讯框架,mod_mono作为
接口桥(apache的插件),连接apache与xsp的通讯,xsp最终负责asp.net
的服务处理,xsp会监听本地端口用来与mod_mono通讯,后者将处理结果
返回给apache,apache再返回给客户端。
代码mod_mono/src/mod_mono.c中函数fork_mod_mono_server,就是做调用
mod-mono-server.exe处理的,mod-mono-server.exe是xsp的一部分,在上
面的函数中调用xsp如下:
wj@ubuntu-wj:~/project/asp.net$ ps -aux | grep -i xsp
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf
.net/faq.html
www-data 18515 21.9 1.3 28332 13664 ? Rsl 20:21 0:02
/usr/lib/pkgconfig/../../bin/mono /usr/lib/pkgconfig/../../lib/xsp
/1.0/mod-mono-server.exe --filename /tmp/mod_mono_server_default
--applications /demo:/usr/lib/xsp/test,/test:/home/wj/project/asp.
net --nonstop
搭建环境:
编译mono提供的asp.net服务程序xsp
svn co svn://svn.myrealbox.com/source/trunk/xsp
cd xsp
./autogen.sh --prefix=/usr && make && sudo make install
编译apache模块(之前请安装apache及开发包)
svn co svn://svn.myrealbox.com/source/trunk/mod_mono
cd mod_mono
./autogen.sh --prefix=/usr && make && sudo make install
修改配置文件
/etc/apache2/httpd.conf 配置文件如下:
# This is here for backwards compatability reasons and to support
# installing 3rd party modules directly via apxs2, rather than
# through the /etc/apache2/mods-{available,enabled} mechanism.
#
#LoadModule mod_placeholder /usr/lib/apache2/modules/mod_placeholder.so
# 指定装载apache的支持asp.net的mono模块
LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so
# 指定mono处理的默认后缀
AddHandler mono .rails .aspx .ashx .asmx .ascx .asax .config .ascx
# 运行后台xsp提供的mod-mono-server.exe否则无法处理asp.net程序,默认:True
MonoRunXSP True
# 配件http目录 /demo 对应的本地工作目录为 /usr/lib/xsp/test
Alias /demo "/usr/lib/xsp/test"
AddMonoApplications default "/demo:/usr/lib/xsp/test"
<Location>
SetHandler mono
</Location>
# 配件http目录 /test 对应的本地工作目录为 /home/wj/project/asp.net
Alias /test "/home/wj/project/asp.net"
AddMonoApplications default "/test:/home/wj/project/asp.net"
<Location>
SetHandler mono
</Location>
这样安装完后,就可以启动apache来运行asp.net环境了,(ubuntu 5.10)
sudo /etc/init.d/apache2 start
原理说明:
上面所搭建asp.net运行环境,是以apache作为通讯框架,mod_mono作为
接口桥(apache的插件),连接apache与xsp的通讯,xsp最终负责asp.net
的服务处理,xsp会监听本地端口用来与mod_mono通讯,后者将处理结果
返回给apache,apache再返回给客户端。
代码mod_mono/src/mod_mono.c中函数fork_mod_mono_server,就是做调用
mod-mono-server.exe处理的,mod-mono-server.exe是xsp的一部分,在上
面的函数中调用xsp如下:
wj@ubuntu-wj:~/project/asp.net$ ps -aux | grep -i xsp
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf
.net/faq.html
www-data 18515 21.9 1.3 28332 13664 ? Rsl 20:21 0:02
/usr/lib/pkgconfig/../../bin/mono /usr/lib/pkgconfig/../../lib/xsp
/1.0/mod-mono-server.exe --filename /tmp/mod_mono_server_default
--applications /demo:/usr/lib/xsp/test,/test:/home/wj/project/asp.
net --nonstop
浙公网安备 33010602011771号